Skip to main content

Java PathFinder A Translator from Java to Promela

  • Conference paper
  • First Online:
Theoretical and Practical Aspects of SPIN Model Checking (SPIN 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1680))

Included in the following conference series:

Abstract

Java PathFinder [2], Jpf, is a prototype translator from Java to Promela, the modeling language of the Spin model checker [4]. Jpf is a product of a major effort by the Automated Software Engineering group at NASA Ames to make model checking technology part of the software process. Experience has shown that severe bugs can be found in final code using this technique [1], and that automated translation from a programming language to a modeling language like Promela can help reducing the effort required.

Jpf allows a programmer to annotate his Java program with assertions and verify them using the Spin model checker. In addition, deadlocks can be identied. An assertion is written as a call to an assert method dened in a predened Java class, the Verify class. The argument to the method is a boolean Java expression over the state variables. The Verify class contains additional tem- poral logic methods which allow to state temporal logic properties about static variables. Hence Java itself is used as the specication language. An application of Jpf is described elsewhere in the proceedings [3].

A respectable subset of Java is covered by Jpf, including dynamic object cre- ation, object references asrst class citizens, inheritance, exceptions, interrupts, and perhaps most importantly: thread operations. Among major concepts not translated are: packages, method overloading and overriding, method recursion, strings, and floating point numbers. Finally, the class library is not translated.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. K. Havelund, M. Lowry, and J. Penix. Formal Analysis of a Space Craft Controller using SPIN. In G. Holzmann, E. Najm, and A. Serhrouchni, editors, Proceedings of the 4th SPIN workshop, Paris, France, November 1998. To appear in IEEE Transactions of Software Engineering.

    Google Scholar 

  2. K. Havelund and T. Pressburger. Model Checking Java Programs using Java PathFinder. Appearing in International Journal on Software Tools for Technology Transfer (STTT), 1999.

    Google Scholar 

  3. K. Havelund and J. Skakkeb-k. Applying Model Checking in Java Verification. In R. Gerth, G. Holzmann, and S. Leue, editors, Proceedings of the 6th SPIN workshop (these proceedings), Toulouse, France, September 1999.

    Google Scholar 

  4. G. Holzmann. The Design and Validation of Computer Protocols. Prentice Hall, 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Havelund, K. (1999). Java PathFinder A Translator from Java to Promela. In: Dams, D., Gerth, R., Leue, S., Massink, M. (eds) Theoretical and Practical Aspects of SPIN Model Checking. SPIN 1999. Lecture Notes in Computer Science, vol 1680. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48234-2_11

Download citation

  • DOI: https://doi.org/10.1007/3-540-48234-2_11

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66499-4

  • Online ISBN: 978-3-540-48234-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics