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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
For the CASM syntax description, see: https://casm-lang.org/syntax.
- 2.
For CASM front-end, see: https://github.com/casm-lang/libcasm-fe/pull/206.
- 3.
For CASM mid-end, see: https://github.com/casm-lang/libcasm-ir/pull/29.
- 4.
For TPTP model, see: https://github.com/casm-lang/libtptp/pull/5.
- 5.
For CLI tool casmi, see: https://github.com/casm-lang/casmi/pull/12.
References
Gurevich, Y.: Evolving Algebras 1993: Lipari Guide - Specification and Validation Methods, pp. 9–36. Oxford University Press Inc, New York (1995)
Borger, E., Raschke, A.: Modeling Companion for Software Practitioners. Springer, Heidelberg (2018). https://doi.org/10.1007/978-3-662-56641-1_9
Farahbod, R., Glässer, U., Ma, G.: Model checking CoreASM specifications. In: Proceedings of the 14th International ASM Workshop (ASM 2007). Citeseer (2007)
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
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)
Lezuo, R.: Scalable translation validation; tools, techniques and framework. Ph.D. thesis, (2014). Wien, Techn. Univ., Diss
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)
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
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
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)
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
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
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
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)