KIT | KIT-Bibliothek | Impressum | Datenschutz

Exploration of Language Specifications by Compilation to First-Order Logic

Grewe, Sylvia; Erdweg, Sebastian ORCID iD icon 1; Raulf, Michael; Mezini, Mira
1 Institut für Programmstrukturen und Datenorganisation (IPD), Karlsruher Institut für Technologie (KIT)

Abstract (englisch):

Exploration of language specifications helps to discover errors and inconsistencies early during the development of a programming language. We propose exploration of language specifications via application of existing automated first-order theorem provers (ATPs). To this end, we translate language specifications and exploration tasks to first-order logic, which many ATPs accept as input. However, there are several different strategies for compiling a language specification to first-order logic, and even small variations in the translation may have a large impact on the time it takes ATPs to find proofs. In this paper, we present a systematic empirical study on how to best compile language specifications to first-order logic such that existing ATPs can solve typical exploration tasks efficiently. We have developed a compiler product line that implements 36 different compilation strategies and used it to feed language specifications to 4 existing firstorder theorem provers. As a benchmark, we developed a language specification for typed SQL with 50 exploration goals. Our study empirically confirms that the choice of a compilation strategy in general greatly influences prover performance and shows which strategies are advantageous for prover performance.


Zugehörige Institution(en) am KIT Institut für Programmstrukturen und Datenorganisation (IPD)
Publikationstyp Proceedingsbeitrag
Publikationsdatum 05.09.2016
Sprache Englisch
Identifikator ISBN: 978-145034148-6
KITopen-ID: 1000188568
Erschienen in Proceedings of Conference on Principles and Practice of Declarative Programming (PPDP); Edinburgh, Vereinigtes Königreich, 05.-07.09.2016
Veranstaltung 18th International Symposium on Principles and Practice of Declarative Programming, (2016), Edinburgh, Vereinigtes Königreich, 05.09.2016 – 07.09.2016
Verlag Association for Computing Machinery (ACM)
Seiten S. 104-117
Schlagwörter Declarative languages; Domain-specific languages; First-order theorem proving; Formal specification; Type systems
Nachgewiesen in Scopus
KIT – Die Universität in der Helmholtz-Gemeinschaft
KITopen Landing Page