TU Darmstadt / ULB / TUbiblio

Exploration of language specifications by compilation to first-order logic

Grewe, Sylvia ; Erdweg, Sebastian ; Pacak, André ; Raulf, Michael ; Mira, Mezini (2018)
Exploration of language specifications by compilation to first-order logic.
In: Science of Computer Programming, 155
doi: 10.1016/j.scico.2017.08.001
Artikel, Bibliographie

Kurzbeschreibung (Abstract)

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 first 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 first-order theorem provers. As benchmarks, we developed language specifications for typed SQL and for a Questionnaire Language (QL), with 50 exploration goals each. Our study empirically confirms that the choice of a compilation strategy greatly influences prover performance in general and shows which strategies are advantageous for prover performance. Second, we extend our empirical study with 4 domain-specific strategies for axiom selection and find that axiom selection does not influence prover performance in our benchmark specifications.

Typ des Eintrags: Artikel
Erschienen: 2018
Autor(en): Grewe, Sylvia ; Erdweg, Sebastian ; Pacak, André ; Raulf, Michael ; Mira, Mezini
Art des Eintrags: Bibliographie
Titel: Exploration of language specifications by compilation to first-order logic
Sprache: Englisch
Publikationsjahr: 1 April 2018
Verlag: Elsevier
Titel der Zeitschrift, Zeitung oder Schriftenreihe: Science of Computer Programming
Jahrgang/Volume einer Zeitschrift: 155
Buchtitel: Science of Computer Programming
DOI: 10.1016/j.scico.2017.08.001
URL / URN: https://www.sciencedirect.com/science/article/pii/S016764231...
Kurzbeschreibung (Abstract):

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 first 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 first-order theorem provers. As benchmarks, we developed language specifications for typed SQL and for a Questionnaire Language (QL), with 50 exploration goals each. Our study empirically confirms that the choice of a compilation strategy greatly influences prover performance in general and shows which strategies are advantageous for prover performance. Second, we extend our empirical study with 4 domain-specific strategies for axiom selection and find that axiom selection does not influence prover performance in our benchmark specifications.

Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik
20 Fachbereich Informatik > Softwaretechnik
Hinterlegungsdatum: 01 Mär 2024 13:07
Letzte Änderung: 31 Mai 2024 08:56
PPN: 518757234
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen