Skip to main content

A JPSL Based Model Checking Approach for Java Programs

  • Conference paper
  • First Online:
Structured Object-Oriented Formal Language and Method (SOFL+MSVL 2022)

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

Abstract

In order to verify the correctness of Java programs, a model checking approach that accurately verifies the properties of Java is advocated. To this end, an algorithm is defined to use (Java Property Specification Language, JPSL) to accurately describe the properties of Java programs to be verified and convert them into automata, then use the On-The-Fly strategy to design algorithm to verify the object-oriented abstract syntax tree constructed by Java programs, which in turn can be verified with the model checking tool JMC. In addition, an example is given to illustrate how the method works. This method makes full use of the precise constraint ability of JPSL properties on the property range and the advantages of the On-The-Fly strategy.

This research is supported by the Key Research and Development Projects of Shaanxi Province (No. 2020GY-210), and the Equipment Pre-research Key Laboratory Foundation (No. JZX7Y202001SY000901).

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 44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 59.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. Ammann, P., Offutt, J.: Introduction to software testing. Cambridge University Press (2008)

    Google Scholar 

  2. Shu, X., Duan, Z., Hongwei, D.: A decision procedure and complete axiomatization for projection temporal logic. Theor. Comput. Sci. 819, 50–84 (2020)

    Article  MathSciNet  MATH  Google Scholar 

  3. Wolper, P.: The Meaning of “Formal.” Int. J. Softw. Tools Technol. Transfer 1(1-2), 6–8 (1997)

    Google Scholar 

  4. Wing, J., Woodcock, J.: The first world congress on formal methods in the development of computing systems. Form Aspects Comput. 12, 145–146 (2000)

    Article  Google Scholar 

  5. Dodani, M.: Formal methods for object-oriented software engineering. Ann. Softw. Eng. 2, 121–160 (1996)

    Article  Google Scholar 

  6. Kammüller, F.: Formal modeling and analysis with humans in infrastructures for IoT health care systems. In: Tryfonas, T. (ed.) HAS 2017. LNCS, vol. 10292, pp. 339–352. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-58460-7_24

    Chapter  Google Scholar 

  7. Clarke, E.M., Henzinger, T.A., Veith, H.: Introduction to model checking. In: Handbook of Model Checking, pp. 1–26. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-10575-8_1

    Chapter  MATH  Google Scholar 

  8. Baier, C., Haverkort, B.R., Hermanns, H., et al.: Model-checking algorithms for continuous-time Markov chains. IEEE Trans. Software Eng. 29(06), 524–541 (2003)

    Article  Google Scholar 

  9. Cui, J., Duan, Z., Tian, C., Hongwei, D.: A novel approach to modeling and verifying real-time systems for high reliability. IEEE Trans. Reliability 67(02), 481–493 (2018)

    Article  Google Scholar 

  10. Probst, C.W., Kammüller, F., Hansen, R.R.: Formal modelling and analysis of socio-technical systems. Lect. Notes Comput. Sci. 9560, 54–73 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  11. Liu, W.W., Song, F., Zhang, T.H.R., et al.: Verifying ReLU neural networks from a model checking perspective. J. Comput. Sci. Technol. 35, 1365–1381 (2020)

    Google Scholar 

  12. Li, X.: Research on technologies of model checking Java program with MSVL and JPSL, Master Thesis, Xi’an University of Posts and Telecommunications (2021)

    Google Scholar 

  13. Arnold, K., Gosling, J., Holmes, D.: Java programming language (4th Edition). Addison-Wesley Professional (2005)

    Google Scholar 

  14. Duan, Z., Tian, C., Zhang, N.: A canonical form based decision procedure and model checking approach for propositional projection temporal logic. Theoret. Comput. Sci. 609, 544–560 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  15. Shu, X., Zhang, N.: An efficient decision procedure for propositional projection temporal logic. In: Du, D.-Z., Duan, Z., Tian, C. (eds.) COCOON 2019. LNCS, vol. 11653, pp. 503–515. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-26176-4_42

    Chapter  Google Scholar 

  16. Shu, X., Luo, N., Wang, B., Wang, X., Zhao, L.: Model checking java programs with MSVL. In: Duan, Z., Liu, S., Tian, C., Nagoya, F. (eds.) SOFL+MSVL 2018. LNCS, vol. 11392, pp. 89–107. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-13651-2_6

    Chapter  Google Scholar 

  17. Ben-Ari, M.: On-the-fly garbage collection: new algorithms inspired by program proofs. In: Nielsen, M., Schmidt, E.M. (eds.) ICALP 1982. LNCS, vol. 140, pp. 14–22. Springer, Heidelberg (1982). https://doi.org/10.1007/BFb0012753

    Chapter  Google Scholar 

  18. Mcmillan, K.L.: Interpolants from Z3 proofs. In: 2011 International Conference on Formal Methods in Computer-aided Design (FMCAD) Inc, pp. 19–27 (2011)

    Google Scholar 

  19. Shu, X., Zhang, N., Wang, X., Zhao, L.: Efficient decision procedure for propositional projection temporal logic. Theor. Comput. Sci. 838, 1–16 (2020)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to XinFeng Shu .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Shu, X., Li, Y., Gao, W. (2023). A JPSL Based Model Checking Approach for Java Programs. In: Liu, S., Duan, Z., Liu, A. (eds) Structured Object-Oriented Formal Language and Method. SOFL+MSVL 2022. Lecture Notes in Computer Science, vol 13854. Springer, Cham. https://doi.org/10.1007/978-3-031-29476-1_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-29476-1_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-29475-4

  • Online ISBN: 978-3-031-29476-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics