Abstract-Loop invariants play a major role in program verification. Though various techniques have been applied to automatic loop invariants generation, most interesting ones often generate only candidate invariants. Thus, a key issue to take advantage of these invariants in a verification process is to check that these candidate loop invariants are actual invariants. This paper introduces a new technique based on constraint programming for automatic verification of inductive loop invariants. This approach is efficient to detect spurious invariants and is also able to verify valid invariants under boundedness restrictions. First experiments on classical benchmarks are very promising.
The current work of the authors in the area of software tools for automatic construction of compilers is described. This focuses on attempts to provide for automatic production of the semantic‐analysis and intermediate‐code‐generation parts of the Cigale compiler‐writing system, developed at the University of Nice. This work relies on use of the Amsterdam Compiler Kit (ACK) to ensure a full set of optimizers and code generators based on a semi‐universal intermediate language, and, therefore, emphasizes the filling of the gap between parsing and the intermediate language. It is intended as a pragmatic contribution to the automation of the production of true compilers (rather than mere program evaluators) that generate efficient machine code.
We address the problem of verifying automatically properties of modules written in the C ,, language, a very simple imperative language. In this paper, we develop a framework for proving automatically properties of modules written in C ,, . Our approach consists of two steps. At the first step, the C ,, module is automatically transformed into a set of axioms written down in the language of equational logic. This transformation is based on the algebraic semantics of C ,, modules. At the second step, the theorem prover NICE is used to mechanically perform the proof of the desired properties. Our system enables to prove many properties completely automatically from the C ,, code alone. We illustrate computer applications on programs computing on integers and linked lists.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.