Evidence Hub

Code Generation from Specifications in Higher-Order Logic

Florian Haftmann

mediaTUM – the media and publications repository of the Technical University Munich (Technical University Munich), 2009

29 citations

Abstract

Ein sehr rigoroser Ansatz zur Vermeidung fehlerhaft implementierter Software ist formale Verifikation: sowohl Verhaltensbeschreibung (abstrakte Spezifikation) als auch Implementierung (ausführbare Spezifikation) werden in einem geeigneten logischen Kalkül beschrieben, und es wird gezeigt, dass beide sich gleich verhalten.Schon aufgrund der zahlreichen technischen Details liegt es nahe, das Überprüfen der einzelnen Beweisschritte innerhalb eines Beweisassistenten vorzunehmen.Dieser mechanische Ansatz ermöglicht es auch, in gewissen Fällen eine ausführbare Spezifikation automatisch in ein Programm in einer geeigneten Programmiersprache zu überführen.Dieses etablierte Verfahren ist als Code-Generierung bekannt.Ziel dieser Arbeit ist die Darstellung eines Codegenerator-Frameworks für den interaktiven Theorembeweiser Isabelle/HOL, einer Implementierung höherstufiger Logik.Gegenüber existierenden Ansätzen weist das Framework zwei substantielle Neuerungen auf: ein sehr allgemeines, aber leichtgewichtiges Konzept für Datentypabstraktion und die Unterstützung von Isabelle-Typklassen im Sinne von Haskell -Typklassen.Konzeptionell möglich ist Generierung von Code für funktionale Sprachen mit Pattern Matching; konkrete Instantiierungen des Frameworks liegen vor für die Zielsprachen SML, OCaml und Haskell.Die praktische Verwendbarkeit des Codegenerator-Frameworks wird mit exemplarischen Anwendungen demonstriert.

Read the paper

Related studies

Go deeper in Evidence Hub

Evidence Hub adds a study data sheet (design, sample size, evidence level, key numbers), an AI summary and a chat grounded in the paper's text.

Open this study Sign up free