Print Email Facebook Twitter From definitional interpreter to symbolic executor Title From definitional interpreter to symbolic executor Author Mensing, Adrian D. (Student TU Delft) van Antwerpen, H. (TU Delft Programming Languages) Poulsen, C.B. (TU Delft Programming Languages) Visser, Eelco (TU Delft Programming Languages) Contributor Scholliers, Christophe (editor) Chari, Guido (editor) Date 2019-10-20 Abstract Symbolic execution is a technique for automatic software validation and verification. New symbolic executors regularly appear for both existing and new languages and such symbolic executors are generally manually (re)implemented each time we want to support a new language. We propose to automatically generate symbolic executors from language definitions, and present a technique for mechanically (but as yet, manually) deriving a symbolic executor from a definitional interpreter. The idea is that language designers define their language as a monadic definitional interpreter, where the monad of the interpreter defines the meaning of branch points. Developing a symbolic executor for a language is a matter of changing the monadic interpretation of branch points. In this paper, we illustrate the technique on a language with recursive functions and pattern matching, and use the derived symbolic executor to automatically generate test cases for definitional interpreters implemented in our defined language. Subject Definitional InterpreterHaskellMonadsSymbolic Execution To reference this document use: http://resolver.tudelft.nl/uuid:f69f4d89-bacf-48c8-b4f1-6b6324b23881 DOI https://doi.org/10.1145/3358502.3361269 Publisher Association for Computing Machinery (ACM) ISBN 9781450369855 Source META 2019 - Proceedings of the 4th ACM SIGPLAN International Workshop on Meta-Programming Techniques and Reflection, co-located with SPLASH 2019 Event 4th ACM SIGPLAN International Workshop on Meta-Programming Techniques and Reflection, META 2019, co-located with SPLASH 2019, 2019-10-20 → , Athens, Greece Part of collection Institutional Repository Document type conference paper Rights © 2019 Adrian D. Mensing, H. van Antwerpen, C.B. Poulsen, Eelco Visser Files PDF MensingAPV20.pdf 774.38 KB Close viewer /islandora/object/uuid:f69f4d89-bacf-48c8-b4f1-6b6324b23881/datastream/OBJ/view