Advertisement

Runtime Verification for Generic Classes with ConGu 2

  • Pedro Crispim
  • Antónia Lopes
  • Vasco T. Vasconcelos
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6527)

Abstract

Even though generics became quite popular in mainstream object-oriented (OO) languages, approaches for checking at runtime the conformance of such programs against formal specifications still lack appropriate support. In order to overcome this limitation within ConGu, a tool-based approach we have been developing to support runtime conformance checking of Java programs against algebraic specifications, we recently proposed a notion of refinement mapping that allows to define correspondences between parametric specifications and generic classes. Based on such mappings, we also put forward a notion of conformance between the two concepts. In this paper we present how the new notion of conformance is supported by version 2 of the ConGu tool.

Keywords

Generic Classis Domain Condition Java Modeling Language Java Classis Abstract Data Type 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Antoy, S., Hamlet, R.: Automatically checking an implementation against its formal specification. IEEE Transactions on Software Engineering 26(1), 55–69 (2000)CrossRefGoogle Scholar
  2. 2.
    Aspinall, D., Sannella, D.: From specifications to code in CASL. In: Kirchner, H., Ringeissen, C. (eds.) AMAST 2002. LNCS, vol. 2422, pp. 1–14. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  3. 3.
    Barnett, M., Schulte, W.: Runtime verification of .NET contracts. Journal of Systems and Software 65(3), 199–208 (2003)CrossRefGoogle Scholar
  4. 4.
    Bidoit, M., Mosses, P. (eds.): CASL User Manual. LNCS, vol. 2900. Springer, Heidelberg (2004)MATHGoogle Scholar
  5. 5.
    Bracha, G.: Generics in the Java programming language (2004), ava.sun.com/j2se/1.5/pdf/generics-tutorial.pdf
  6. 6.
    Bruneton, E., Lenglet, R., Coupaye, T.: ASM: A code manipulation tool to implement adaptable systems. In: Proc. ACM SIGOPS France Journées Composants 2002: Systèmes à composants adaptables et extensibles (2002)Google Scholar
  7. 7.
    Chen, F., Roşu, G.: Java-MOP: A monitoring oriented programming environment for Java. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 546–550. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  8. 8.
    Cheon, Y., Leavens, G.T.: A runtime assertion checker for the Java Modeling Language (JML). In: Proc. International Conference on Software Engineering Research and Practice (SERP 2002), pp. 322–328. CSREA Press (2002)Google Scholar
  9. 9.
    Cok, D.R.: Adapting JML to generic types and Java 1.6. In: Proc. Specification and Verification of Component-Based Systems Workshop (2008)Google Scholar
  10. 10.
    Contract Based System Development, http://gloss.di.fc.ul.pt/congu/
  11. 11.
    Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 3rd edn. Prentice-Hall, Englewood Cliffs (2005)MATHGoogle Scholar
  12. 12.
    Henkel, J., Diwan, A.: Discovering algebraic specifications from Java classes. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, pp. 431–456. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  13. 13.
    Hu, C.: Just say a class defines a data type. Communications of the ACM 51(3), 19–21 (2008); see also Forum in Communications of the ACM 51(5), 9–10 (2008)CrossRefGoogle Scholar
  14. 14.
    Leavens, G.T., Cheon, Y., Clifton, C., Ruby, C., Cok, D.R.: How the design of JML accommodates both runtime assertion checking and formal verification. Science of Computer Programming 55(1–3), 185–208 (2005)MathSciNetCrossRefMATHGoogle Scholar
  15. 15.
    Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall PTR, Englewood Cliffs (1997)MATHGoogle Scholar
  16. 16.
    Nunes, I., Lopes, A., Vasconcelos, V.T.: Bridging the gap between algebraic specification and object-oriented generic programming. In: Bensalem, S., Peled, D.A. (eds.) RV 2009. LNCS, vol. 5779, pp. 115–131. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  17. 17.
    Nunes, I., Lopes, A., Vasconcelos, V., Abreu, J., Reis, L.S.: Checking the conformance of Java classes against algebraic specifications. In: Liu, Z., Kleinberg, R.D. (eds.) ICFEM 2006. LNCS, vol. 4260, pp. 494–513. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  18. 18.
    Yu, B., King, L., Zhu, H., Zhou, B.: Testing Java components based on algebraic specifications. In: Proc. International Conference on Software Testing, Verification and Validation, pp. 190–198. IEEE, Los Alamitos (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Pedro Crispim
    • 1
  • Antónia Lopes
    • 1
  • Vasco T. Vasconcelos
    • 1
  1. 1.LaSIGE and Faculty of SciencesUniversity of LisbonLisboaPortugal

Personalised recommendations