Syntax-driven program verification of matching logic properties
File(s)2015-formalise.pdf (195.01 KB)
Accepted version
Author(s)
Bianculli, D
Filieri, A
Ghezzi, C
Mandrioli, D
Rizzi, AM
Type
Conference Paper
Abstract
We describe a novel approach to program verification and its application to verification of C programs, where properties are expressed in matching logic. The general approach is syntax-directed: semantic rules, expressed according to Knuth's attribute grammars, specify how verification conditions can be computed. Evaluation is performed by interplaying attribute computation and propagation through the syntax tree with invocation of a solver of logic formulae. The benefit of a general syntax-driven approach is that it provides a reusable reference scheme for implementing verifiers for different languages. We show that the instantiation of a general approach to a specific language does not penalize the efficiency of the resulting verifier. This is done by comparing our C verifier for matching logic with an existing tool for the same programming language and logic. A further key advantage of the syntax-directed approach is that it can be the starting point for an incremental verifier -- which is our long-term research target.
Date Issued
2015-05-18
Date Acceptance
2015-05-18
Citation
Proceedings of the 3rd FME Workshop on Formal Methods in Software Engineering, 2015, pp.68-74
Publisher
IEEE
Start Page
68
End Page
74
Journal / Book Title
Proceedings of the 3rd FME Workshop on Formal Methods in Software Engineering
Copyright Statement
© 2015 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.
Source
3rd FME Workshop on Formal Methods in Software Engineering
Publication Status
Published
Start Date
2015-05-18
Finish Date
2015-05-18
Coverage Spatial
Florence, Italy