Contracts are a powerful construct for programmers to communicate intent with functions, focusing on the what rather than the how. In this thesis, we move contracts from being just a form of communication to also have them define what it means for a software to be correct, and apply formal verification techniques to verify that contracts are never violated. We show how contract annotations written in the ANSI C Specification Language can be translated into suitable logical formulae, and show further how such formulae can be used when encoding a program into constrained Horn clauses. We provide an implementation following such steps by extending TriCera, a state-of-the-art verifier for C programs, to support contract annotations. Our additio...
Conference of 14th IEEE International Working Conference on Source Code Analysis and Manipulation, S...
In our increasingly computer-oriented society, the computer programs we rely on tend to increase in ...
International audienceAssume-guarantee reasoning is a popular and expressive paradigm for modular an...
Contracts are a powerful construct for programmers to communicate intent with functions, focusing on...
In the last years, the concern with the correctness of programs has been leading programmers to enri...
Language Support for Contract Assertions (Revision 10) With enough care we can build libraries that ...
The functional properties of a program are often specified by providing a contract for each of its f...
[EN] In Software Engineering, software contracts allow the program behavior to be specified using f...
We present VeriMAP, a tool for the verification of C programs based on the transformation of constra...
VCC is a verification environment for software written in C. VCC takes a program (annotated with fun...
Proof reuse in formal software verification is crucial in presence of constant evolutionary changes ...
This thesis explores synergies between deductive verification and model checking, by using the exist...
Abstract. We present VeriMAP, a tool for the verification of C pro-grams based on the transformation...
We understand by a contract a document written in natural language which engages several parties int...
Abstract. We present VeriMAP, a tool for the verification of C pro-grams based on the transformation...
Conference of 14th IEEE International Working Conference on Source Code Analysis and Manipulation, S...
In our increasingly computer-oriented society, the computer programs we rely on tend to increase in ...
International audienceAssume-guarantee reasoning is a popular and expressive paradigm for modular an...
Contracts are a powerful construct for programmers to communicate intent with functions, focusing on...
In the last years, the concern with the correctness of programs has been leading programmers to enri...
Language Support for Contract Assertions (Revision 10) With enough care we can build libraries that ...
The functional properties of a program are often specified by providing a contract for each of its f...
[EN] In Software Engineering, software contracts allow the program behavior to be specified using f...
We present VeriMAP, a tool for the verification of C programs based on the transformation of constra...
VCC is a verification environment for software written in C. VCC takes a program (annotated with fun...
Proof reuse in formal software verification is crucial in presence of constant evolutionary changes ...
This thesis explores synergies between deductive verification and model checking, by using the exist...
Abstract. We present VeriMAP, a tool for the verification of C pro-grams based on the transformation...
We understand by a contract a document written in natural language which engages several parties int...
Abstract. We present VeriMAP, a tool for the verification of C pro-grams based on the transformation...
Conference of 14th IEEE International Working Conference on Source Code Analysis and Manipulation, S...
In our increasingly computer-oriented society, the computer programs we rely on tend to increase in ...
International audienceAssume-guarantee reasoning is a popular and expressive paradigm for modular an...