Skip to main content

Model Checking Real Time Java Using Java PathFinder

  • Conference paper
Automated Technology for Verification and Analysis (ATVA 2005)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3707))

Abstract

The Real Time Specification for Java (RTSJ) is an augmentation of Java for real time applications of various degrees of hardness. The central features of RTSJ are real time threads; user defined schedulers; asynchronous events, handlers, and control transfers; a priority inheritance based default scheduler; non-heap memory areas such as immortal and scoped, and non-heap real time threads whose execution is not impeded by garbage collection. The Robust Software Systems group at NASA Ames Research Center has Java PathFinder (JPF) under development, a Java model checker. JPF at its core is a state exploring JVM which can examine alternative paths in a Java program (e.g., via backtracking) by trying all nondeterministic choices, including thread scheduling order. This paper describes our implementation of an RTSJ profile (subset) in JPF, including requirements, design decisions, and current implementation status. Two examples are analyzed: jobs on a multiprogramming operating system, and a complex resource contention example involving autonomous vehicles crossing an intersection. The utility of JPF in finding logic and timing errors is illustrated, and the remaining challenges in supporting all of RTSJ are assessed.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. http://bandera.projects.cis.ksu.edu/

  2. Birtwistle, G.M., Dahl, O.-J., Myhrhaug, B., Nygaard, K.: Simula BEGIN. Auerbach/Studentliteratur, Philadelphia (1973)

    Google Scholar 

  3. Behrmann, G., Larsen, K.G., Rasmussen, J.I.: Optimal scheduling using priced timed automata. ACM SIGMETRICS Performance Evaluation Review 32(4), 34–40 (2005)

    Article  Google Scholar 

  4. Burns, A: The Ravenscar profile, http://polaris.dit.upm.es/~ork/documents/RP_spec.pdf

  5. Bengtsson, J., Yi, W.: Timed automata: Semantics, algorithms and tools. In: Desel, J., Reisig, W., Rozenberg, G. (eds.) Lectures on Concurrency and Petri Nets. LNCS, vol. 3098, pp. 87–124. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  6. Corsaro, A., Schmidt, D.C.: Evaluating Real-Time Java features and performance for real-time embedded systems. In: Proc. 8th Real-Time and Embedded Technology and Applications Symposium, September 24-27. IEEE Computer Society, Los Alamitos (2002)

    Google Scholar 

  7. Degani, A.: Taming HAL: Designing Interfaces Beyond 2001. Palgrave Macmillan, Basingstoke (2004)

    Google Scholar 

  8. Dwyer, M.B., Hatcliff, J., Hoosier, M., Robby: Building your own model checker using the Bogor extensible model checking framework. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 148–152. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  9. The Real-Time for JavaTM Expert Group, https://rtsj.dev.java.net

  10. Groce, A., Visser, W.: Heuristics for model checking Java programs. International Journal on Software Tools for Technology Transfer (2004)

    Google Scholar 

  11. Havelund, K.: Eagle Flier, a rule-based runtime verification framework, http://yangtze.cs.uiuc.edu/~ksen/eagle/

  12. Jacobs, B., Marche, C., Rauch, N.: Formal verification of a commercial smart card applet with multiple tools. In: Rattray, C., Maharaj, S., Shankland, C. (eds.) AMAST 2004. LNCS, vol. 3116, pp. 241–257. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  13. http://javapathfinder.sourceforge.net/

  14. http://ase.arc.nasa.gov/jpf/Listeners.html

  15. MJI – the Model Java Interface, http://ase.arc.nasa.gov/jpf/MJI.html

  16. Kim, M., Kannan, S., Lee, I., Sokolsky, O.: Java-MaC: a run-time assurance tool for Java. In: First International Workshop on Run-time Verification, Paris, France. Electronic Notes in Theoretical Computer Science, vol. 55 (2), July 23 (2001)

    Google Scholar 

  17. Lindstrom, G.: RTSJ-JPF API, http://www.cs.utah.edu/~gary/RTSJ/doc/

  18. Douglass Locke, C.: Real-Time Java moving into the mainstream. RTC Journal (January 2004)

    Google Scholar 

  19. Parareanu, C.S., Khurshid, S., Visser, W.: Generalized symbolic execution for model checking and testing. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 553–568. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  20. Visser, W., Havelund, K., Brat, G., Park, S., Lerda, F.: Model checking programs. Automated Software Engineering Journal 10(2) (April 2003)

    Google Scholar 

  21. Visser, W., Pasareanu, C.S., Khurshid, S.: Test input generation with Java PathFinder. In: Proceedings of ISSTA (July 2004)

    Google Scholar 

  22. Wellings, A.: Concurrent and Real-Time Programming in Java. John Wiley & Sons, Ltd., Chichester (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lindstrom, G., Mehlitz, P.C., Visser, W. (2005). Model Checking Real Time Java Using Java PathFinder. In: Peled, D.A., Tsay, YK. (eds) Automated Technology for Verification and Analysis. ATVA 2005. Lecture Notes in Computer Science, vol 3707. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11562948_33

Download citation

  • DOI: https://doi.org/10.1007/11562948_33

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-29209-8

  • Online ISBN: 978-3-540-31969-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics