Advertisement

Automatic Validation of Transformation Rules for Java Verification Against a Rewriting Semantics

  • Wolfgang Ahrendt
  • Andreas Roth
  • Ralf Sasse
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3835)

Abstract

This paper presents a methodology for automatically validating program transformation rules that are part of a calculus for Java source code verification. We target the Java Dynamic Logic calculus which is implemented in the interactive prover of the KeY system. As a basis for validation, we take an existing SOS style rewriting logic semantics for Java, formalized in the input language of the Maude system. That semantics is ‘lifted’ to cope with schematic programs like the ones appearing in program transformation rules. The rewriting theory is further extended to generate valid initial states for involved program fragments, and to check the final states for equivalence. The result is used in frequent validation runs over the relevant fragment of the calculus in the KeY system.

Keywords

Generic Constant Transformation Rule Schema Variable Sequent Calculus Schematic Program 
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.
    Ahrendt, W., Baar, T., Beckert, B., Bubel, R., Giese, M., Hähnle, R., Menzel, W., Mostowski, W., Roth, A., Schlager, S., Schmitt, P.H.: The KeY tool. Software and System Modeling 4, 32–54 (2005)CrossRefGoogle Scholar
  2. 2.
    Beckert, B.: A dynamic logic for the formal verification of Java Card programs. In: Attali, I., Jensen, T. (eds.) JavaCard 2000. LNCS, vol. 2041, pp. 6–24. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  3. 3.
    Beckert, B., Giese, M., Habermalz, E., Hähnle, R., Roth, A., Rümmer, P., Schlager, S.: Taclets: A new paradigm for constructing interactive theorem provers. Revista de la Real Academia de Ciencias Exactas, Físicas y Naturales, Serie A: Matemáticas (RACSAM) 98(1) (2004) Special Issue on Symbolic Computation in Logic and Artificial Intelligence.Google Scholar
  4. 4.
    Bubel, R., Roth, A., Rümmer, P.: Ensuring correctness of lightweight tactics for Java Card Dynamic Logic. In: Proceedings of Workshop on Logical Frameworks and Meta-Languages (LFM) at Second International Joint Conference on Automated Reasoning 2004, pp. 84–105 (2004)Google Scholar
  5. 5.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: Maude Manual (April 2005), Available from, http://maude.cs.uiuc.edu
  6. 6.
    Farzan, A., Chen, F., Meseguer, J., Roşu, G.: Formal analysis of Java programs in JavaFAN. In R. Alur and D. Peled, editors, CAV. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 501–505. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  7. 7.
    Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 2nd edn. Addison-Wesley, Boston (2000)Google Scholar
  8. 8.
    Jacobs, B., Poll, E.: Java program verification at Nijmegen: Developments and perspective. In: Futatsugi, K., Mizoguchi, F., Yonezaki, N. (eds.) ISSS 2003. LNCS, vol. 3233, pp. 134–153. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  9. 9.
    Martí-Oliet, N., Meseguer, J.: Rewriting logic: roadmap and bibliography. Theor. Comput. Sci. 285(2), 121–154 (2002)zbMATHCrossRefGoogle Scholar
  10. 10.
    Meseguer, J., Roşu, G.: The Rewriting Logic semantics project. In: Structural Operational Semantics, Proceedings of the SOS Workshop, Lisbon, Portugal. ENTCS. Elsevier, Amsterdam (2005) (to appear)Google Scholar
  11. 11.
    Meseguer, J., Roşu, G.: Rewriting Logic semantics: From language specifications to formal analysis tools. In: Basin, D., Rusinowitch, M. (eds.) IJCAR 2004. LNCS (LNAI), vol. 3097, pp. 1–44. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  12. 12.
    Sasse, R.: Taclets vs. rewriting logic - relating semantics of Java. Technical Report in Computing Science No. 2005-16, Fakultät für Informatik, Universität Karlsruhe, Germany (May 2005)Google Scholar
  13. 13.
    Stenzel, K.: A formally verified calculus for full Java Card. In: Rattray, C., Maharaj, S., Shankland, C. (eds.) AMAST 2004. LNCS, vol. 3116, pp. 491–505. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  14. 14.
    Trentelman, K.: Proving correctness of JavaCard DL taclets using Bali. In: Aichernig, B., Beckert, B. (eds.) Proceedings of Software Engineering and Formal Methods. 3rd IEEE International Conference, SEFM 2005, Koblenz, Germany, September 7–9. IEEE Press, Los Alamitos (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Wolfgang Ahrendt
    • 1
  • Andreas Roth
    • 2
  • Ralf Sasse
    • 3
  1. 1.Chalmers University of TechnologyGöteborgSweden
  2. 2.Universität KarlsruheGermany
  3. 3.University of Illinois at Urbana-ChampaignUSA

Personalised recommendations