Authors:
Guillaume Hétier
and
Hanifa Boucheneb
Affiliation:
Laboratoire VeriForm, Department of Computer Engeneering and Software Engeneering, École Polytechnique de Montréal, Montreal and Canada
Keyword(s):
Model Checking, Concurrency, C, Specification, Verification, Instrumentation, LTL, Assertions.
Related
Ontology
Subjects/Areas/Topics:
Formal Methods
;
Simulation and Modeling
;
Software Engineering
;
Software Engineering Methods and Techniques
Abstract:
Software model checking techniques can provide the guaranty a system respects a specification. However, some limitations reduce the expressiveness of the most used specification formalisms (the assertions and LTL) and increase the risk of error, especially for concurrent programs. We design a new specification formalism that extends LTL by allowing local variables and code positions in LTL atomic propositions. We introduce validity areas to extend the definition of atomic propositions using local variables and to handle positions in source code. Then, we introduce a source to source transformation that aims to reduce the LTL verification problem to an assertion verification problem for finite programs by building the product between the program code source and the implementation of Büchi automaton. Eventually, we apply this transformation to verify a small benchmark specified with the specification formalism we proposed.