Skip to main content

About the Concolic Execution and Symbolic ASM Function Promotion in CASM

  • Conference paper
  • First Online:
Rigorous State-Based Methods (ABZ 2021)

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

Included in the following conference series:

  • 456 Accesses

Abstract

Abstract State Machines (ASMs) are a well-known state based formal method to describe systems at a very high level and can be executed either through a concrete or symbolic interpretation. By symbolically executing an ASM specification, certain properties can be checked by transforming the described ASM into a suitable input for model checkers or Automated Theorem Provers (ATPs). Due to the rather fast increasing state space, model checking and ATP solutions can lead to inefficient implementations of symbolic execution. More efficient state space and execution performance can be achieved by using a concolic execution approach. In this paper, we describe an improved concolic execution implementation for the Corinthian Abstract State Machine (CASM) language. We outline the transformation of a symbolically executed ASM specification to a single Thousands of Problems for Theorem Provers (TPTP) format. Furthermore, we introduce a compiler analysis to promote concrete ASM functions into symbolic ones in order to obtain symbolic consistency.

P. Paulweber—The work in this paper was carried out at the former affiliation\(^{2}\).

J. Moosbrugger—No affiliation.

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 49.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 64.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

Notes

  1. 1.

    For the CASM syntax description, see: https://casm-lang.org/syntax.

  2. 2.

    For CASM front-end, see: https://github.com/casm-lang/libcasm-fe/pull/206.

  3. 3.

    For CASM mid-end, see: https://github.com/casm-lang/libcasm-ir/pull/29.

  4. 4.

    For TPTP model, see: https://github.com/casm-lang/libtptp/pull/5.

  5. 5.

    For CLI tool casmi, see: https://github.com/casm-lang/casmi/pull/12.

References

  1. Gurevich, Y.: Evolving Algebras 1993: Lipari Guide - Specification and Validation Methods, pp. 9–36. Oxford University Press Inc, New York (1995)

    Google Scholar 

  2. Borger, E., Raschke, A.: Modeling Companion for Software Practitioners. Springer, Heidelberg (2018). https://doi.org/10.1007/978-3-662-56641-1_9

  3. Farahbod, R., Glässer, U., Ma, G.: Model checking CoreASM specifications. In: Proceedings of the 14th International ASM Workshop (ASM 2007). Citeseer (2007)

    Google Scholar 

  4. Arcaini, P., Gargantini, A., Riccobene, E.: SMT-based automatic proof of ASM model refinement. In: De Nicola, R., Kühn, E. (eds.) SEFM 2016. LNCS, vol. 9763, pp. 253–269. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-41591-8_17

    Chapter  Google Scholar 

  5. Baldoni, R., Coppa, E., D’elia, D.C., Demetrescu, C., Finocchi, I.: A survey of symbolic execution techniques. ACM Comput. Surv. (CSUR) 51(3), 50 (2018)

    Google Scholar 

  6. Lezuo, R.: Scalable translation validation; tools, techniques and framework. Ph.D. thesis, (2014). Wien, Techn. Univ., Diss

    Google Scholar 

  7. Lezuo, R., Paulweber, P., Krall, A.: CASM - optimized compilation of abstract state machines. In: SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems (LCTES), pp. 13–22. ACM (2014)

    Google Scholar 

  8. Sutcliffe, G.: The TPTP problem library and associated infrastructure. J. Automated Reason. 59(4), 483–502 (2017). https://doi.org/10.1007/s10817-017-9407-7

    Article  MathSciNet  MATH  Google Scholar 

  9. de Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78800-3_24

    Chapter  Google Scholar 

  10. Lezuo, R., Dragan, I., Barany, G., Krall, A.: vanHelsing: a fast proof checker for debuggable compiler verification. In: 2015 17th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC), pp. 167–174. IEEE (2015)

    Google Scholar 

  11. Paulweber, P., Pescosta, E., Zdun, U.: CASM-IR: uniform ASM-based intermediate representation for model specification, execution, and transformation. In: Butler, M., Raschke, A., Hoang, T.S., Reichl, K. (eds.) ABZ 2018. LNCS, vol. 10817, pp. 39–54. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-91271-4_4

    Chapter  Google Scholar 

  12. Paulweber, P., Pescosta, E., Zdun, U.: Structuring the state and behavior of ASMs: introducing a trait-based construct for abstract state machine languages. In: Raschke, A., Méry, D., Houdek, F. (eds.) ABZ 2020. LNCS, vol. 12071, pp. 237–243. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-48077-6_17

    Chapter  Google Scholar 

Download references

Acknowledgements

We would like to thank Andreas Krall\(^{1}\) for proof-reading the paper and Emmanuel Pescosta for several concolic execution discussions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Philipp Paulweber .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Paulweber, P., Moosbrugger, J., Zdun, U. (2021). About the Concolic Execution and Symbolic ASM Function Promotion in CASM. In: Raschke, A., Méry, D. (eds) Rigorous State-Based Methods. ABZ 2021. Lecture Notes in Computer Science(), vol 12709. Springer, Cham. https://doi.org/10.1007/978-3-030-77543-8_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-77543-8_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-77542-1

  • Online ISBN: 978-3-030-77543-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics