Programming language elements for correctness proofs

Dévai Gergely: Programming language elements for correctness proofs. In: Acta cybernetica, (18) 3. pp. 403-425. (2008)

[thumbnail of Devai_2008_ActaCybernetica.pdf]
Cikk, tanulmány, mű

Download (246kB) | Preview


Formal methods are not used widely in industrial software development, because the overhead of formally proving program properties is generally not acceptable. In this paper we present an ongoing research project to make the construction of such proofs easier by embedding the proof system into a compiler. Using the introduced new programming language, the programmer writes formal specification first. The specification is to be refined using stepwise refinement which results in a proof. The compiler checks this proof and generates the corresponding program in a traditional programming language. The resulting code automatically fulfills the requirements of the specification. In this paper we present language elements to build specification statements and proofs. We give a short overview on the metaprogramming techniques of the language that support the programmer's work. Using a formal model we give the semantics of specification statements and refinements. We also prove the soundness of the basic algorithms of the compiler.

Item Type: Article
Journal or Publication Title: Acta cybernetica
Date: 2008
Volume: 18
Number: 3
ISSN: 0324-721X
Page Range: pp. 403-425
Language: English
Place of Publication: Szeged
Event Title: Conference for PhD Students in Computer Science (5.) (2006) (Szeged)
Related URLs:
Uncontrolled Keywords: Számítástechnika, Kibernetika
Additional Information: Bibliogr.: p. 423-425. ; összefoglalás angol nyelven
Subjects: 01. Natural sciences
01. Natural sciences > 01.02. Computer and information sciences
Date Deposited: 2016. Oct. 15. 12:25
Last Modified: 2022. Jun. 16. 14:45

Actions (login required)

View Item View Item