skip to main content
10.1007/11901433_27guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Checking the conformance of java classes against algebraic specifications

Published: 01 November 2006 Publication History

Abstract

We present and evaluate an approach for the run-time conformance checking of Java classes against property-driven algebraic specifications. Our proposal consists in determining, at run-time, whether the classes subject to analysis behave as required by the specification. The key idea is to reduce the conformance checking problem to the runtime monitoring of contract-annotated classes, a process supported today by several runtime assertion-checking tools. Our approach comprises a rather conventional specification language, a simple language to map specifications into Java types, and a method to automatically generate monitorable classes from specifications, allowing for a simple, but effective, runtime monitoring of both the specified classes and their clients.

References

[1]
S. Antoy and R. Hamlet. Automatically checking an implementation against its formal specification. IEEE TOSE, 26(1):55-69, 2000.
[2]
E. Astesiano, H.-J. Kreowski, and B. Krieg-Brckner, editors. Algebraic Foundations of Systems Specification. IFIP State-of-the-Art Reports. Springer, 1999.
[3]
M. Barnett and W. Schulte. Spying on components: A runtime verification technique. In Proc. WSVCBS -- OOPSLA 2001, 2001.
[4]
Mike Barnett, K. Rustan M. Leino, and Wolfram Schulte. The spec# programming system: An overview. In Proc. of CASSIS 2004, number 3362 in LNCS. Springer, 2004.
[5]
D. Bartetzko, C. Fisher, M. Moller, and H. Wehrheim. Jass - Java with assertions. ENTCS, 55(2), 2001.
[6]
M. Bidoit and P. Mosses. CASL User Manual. Number 2900 in LNCS. Springer, 2004.
[7]
Contract based system development. http://labmol.di.fc.ul.pt/congu/.
[8]
H. Ehrig and G. Mahr, editors. Fundamentals of Algebraic Specification 1: Equations and Initial Semantics. Springer, 1985.
[9]
J. Gannon, J. Purtilo, and M. Zelkowitz. Software specification: A comparison of formal methods, 2001.
[10]
J. Goguen, J. Thatcher, and E. Wagner. An initial algebra approach to the specification, correctness, and implementation of abstract data types. In Current Trends in Programming Methodology, volume IV: Data Structuring, pages 80-149. Prentice-Hall, 1978.
[11]
J. Guttag, J. Horning, S. Garland, K. Jones, A. Modet, and J. Wing. Larch: Languages and Tools for Formal Specification. Springer, 1993.
[12]
J. Henkel and A. Diwan. Discovering algebraic specifications from java classes. In Proc. ECOOP 2003, LNCS, 2003.
[13]
J. Henkel and A. Diwan. A tool for writing and debugging algebraic specifications. In Proc. ICSE 2004, 2004.
[14]
M. Huges and D. Stotts. Daistish: Systematic algebraic testing for OO programs in the presence of side-effects. In Proc. ISSTV, pages 53-61. ACM, 1996.
[15]
M. Karaorman, U. Holzle, and J. Bruno. jContractor: A reflective Java library to support design by contract. In Proc. of Meta-Level Architectures and Reflection, number 1616 in LNCS. Springer, 1999.
[16]
R. Kramer. iContract - The Java Design by Contract Tool. In Proc. TOOLS USA'98. IEEE Computer Society Press, 1999.
[17]
G. Leavens, K. Rustan, M. Leino, E. Poll, C. Ruby, and B. Jacobs. JML: notations and tools supporting detailed design in java. In OOPSLA'00 Companion, pages 105-106. ACM Press, 2000.
[18]
B. Meyer. Object-Oriented Software Construction. Prentice-Hall PTR, 2nd edition, 1997.
[19]
I. Nunes, A. Lopes, V. Vasconcelos, J. Abreu, and L. Reis. Testing implementations of algebraic specifications with design-by-contract tools. DI/FCUL TR 05-22, 2005.
[20]
J. Spivey. The Z Notation: A Reference Manual. ISCS. Prentice-Hall, 1992.
[21]
Man Machine Systems. Design by contract for java using jmsassert. Published on the internet, 2000.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
ICFEM'06: Proceedings of the 8th international conference on Formal Methods and Software Engineering
November 2006
777 pages
ISBN:3540474609
  • Editors:
  • Zhiming Liu,
  • Jifeng He

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 November 2006

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Feb 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media