Skip to main content

Model Checking MSVL Programs Based on Dynamic Symbolic Execution

  • Conference paper
  • First Online:
Computing and Combinatorics (COCOON 2015)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9198))

Included in the following conference series:

  • 1320 Accesses

Abstract

In this paper, we propose a DSE based model checking approach (DSE-MC) for verifying programs written in Modelling, Simulation and Verification Language (MSVL) [1, 3]. For doing so, we adopt a DSE method to execute an MSVL program to generate a symbolic execution tree (SEtree) which is used as the abstract model of the program. Further, a property to be verified is specified by a Propositional Projection Temporal Logic (PPTL) formula [8, 13]. To check whether or not the program satisfies the property, first the SEtree and the negation of the property are both described in Labelled Normal Form Graphs (LNFGs) [21], then the product of two LNFGs is produced. As a result, a counter example is encountered if the product is not empty. Otherwise, we cannot determine if the program satisfies the property. In this case, the verification process could be restarted with new inputs. In this way, a software system written in C can also be verified since the C program can be transformed to an MSVL program automatically by using toolkit MSV [19] developed by us.

The research is supported by the NSFC under Grant No. 61133001, 61322202, 61420106004 and 91418201.

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.

References

  1. Ma, Q., Duan, Z., Zhang, N., Wang, X.: Verification of distributed systems with the axiomatic system of MSVL. Formal Aspects of Computing 27(1), 103–131 (2015)

    Article  MathSciNet  Google Scholar 

  2. King, J.C.: Symbolic Execution and Program Testing. Journal of ACM, 385–394 (1976)

    Google Scholar 

  3. Ma, Y., Duan, Z., Wang, X., Yang, X.: An Interpreter for framed tempura and its application. In: Proceedings TASE 2007, pp. 251–260 (2007)

    Google Scholar 

  4. Cadar, C., Ganesh, V., Pawlowski, P.M., Dill, D.L., Engler, D.R.: Exe: automatically generating inputs of death. In: Proceedings of CCS 2006, pp. 322–335 (2006)

    Google Scholar 

  5. Beckert, B., Hahnle, R., Schmitt, P.H.: Verification of Object-Oriented Software. LNCS (LNAI), vol. 4334. Springer, Heidelberg (2007)

    Google Scholar 

  6. Jacobs, B., Piessens, F.: The Verifast Program Verifier (2008)

    Google Scholar 

  7. Godefroid, P., Klarlund, N., Sen, K.: DART: directed automated random testing. In: Proceedings of PLDI 2005, pp. 213–223 (2010)

    Google Scholar 

  8. Duan, Z.: Temporal Logic and Temporal Logic Programming. Science Press, Beijing (2006)

    Google Scholar 

  9. Sen, K., Marinov, D., Agha, G.: CUTE: a concolic unit testing engine for C. In: Proceedings of ESEC FSE 2005, pp. 263C–272 (2005)

    Google Scholar 

  10. Jaffar, J., Santosa, A.E., Voicu, R.: An interpolation method for CLP traversal. In: Gent, I.P. (ed.) CP 2009. LNCS, vol. 5732, pp. 454–469. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  11. McMillan, K.L.: Lazy annotation for program testing and verification. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 104–118. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  12. Harris, W.R., Sankaranarayanan, S., Ivančić, F., Gupta, A.: Program analysis via satisfiability modulo path programs. In: Proceedings of POPL 2010, pp. 71–82 (2010)

    Google Scholar 

  13. Duan, Z.: An extended interval temporal logic and a framing technique for temporal logic programming, Ph.D. thesis, University of Newcastle upon Tyne (1996)

    Google Scholar 

  14. Clarke, E., Grumberg, O., Jha, S., Lu, Y., Veith, H.: CounterrExample-guided abstraction refinement. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 154–169. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  15. Ball, T., Majumdar, R., Millstein, T., Rajamani, S.K.: Automatic predicate abstraction of C programs. In: Proceedings of PLDI 2001, pp. 203–213 (2001)

    Google Scholar 

  16. Zhang, Y., Chen, Z., Wang, J., Dongy, W., Liu, Z.: Regular property guided dynamic symbolic execution. In: Proceedings of ICSE 2015 (2015)

    Google Scholar 

  17. Manna, Z., Pnueli, A.: The temporal logic of reactive and concurrent systems-specification. Springer (1992). ISBN 978-3-540-97664-6

    Google Scholar 

  18. Biere, A., Cimatti, A., Clarke, E., Zhu, Y.: Bounded model checking. Advances in computers 58, 117–148 (2003)

    Google Scholar 

  19. Yang, K., Duan, Z., Tian, C.: Modeling and Verification of REC Handover Protocol. Electronic Notes Theoretical Computer Science 309, 51–62 (2014)

    Article  Google Scholar 

  20. Duan, Z., Tian, C.: A unified model checking approach with projection temporal logic. In: Proceedings of ICFEM 2008, pp. 167–186 (2008)

    Google Scholar 

  21. Duan, Z., Tian, C.: A practical decision procedure for Propositional Projection Temporal Logic with infinite models. Theoretical Computer Science 554, 169–190 (2014)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Cong Tian .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Duan, Z., Bu, K., Tian, C., Zhang, N. (2015). Model Checking MSVL Programs Based on Dynamic Symbolic Execution. In: Xu, D., Du, D., Du, D. (eds) Computing and Combinatorics. COCOON 2015. Lecture Notes in Computer Science(), vol 9198. Springer, Cham. https://doi.org/10.1007/978-3-319-21398-9_41

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-21398-9_41

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-21397-2

  • Online ISBN: 978-3-319-21398-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics