[EN] In this article, we propose a symbolic technique that can be used for automatically inferring software contracts from programs that are written in a non-trivial fragment of C, called KernelC, that supports pointer-based structures and heap manipulation. Starting from the semantic definition of KernelC in the K semantic framework, we enrich the symbolic execution facilities recently provided by K with novel capabilities for contract synthesis that are based on abstract subsumption. Roughly speaking, we define an abstract symbolic technique that axiomatically explains the execution of any (modifier) C function by using other (observer) routines in the same program. We implemented our technique in the automated tool KindSpec 2.1, which ge...
This report describes research done at the Artificial Intelligence laboratory of the Massachusetts I...
We present language-independent formal methods that are parameterized by the operational semantics o...
Unification and antiunification are essential algorithms used by symbolic execution engines and veri...
[EN] Despite its many unquestionable benefits, formal specifications are not widely used in industri...
[EN] Despite its many unquestionable benefits, formal specifications are not widely used in industri...
[EN] In Software Engineering, software contracts allow the program behavior to be specified using f...
Formal specifications can be used for various software engineering activities ranging from finding e...
Contract inference consists in automatically computing contracts that formally describe the behaviou...
International audienceWe propose a language-independent symbolic execution framework. The approach i...
We present a new approach to automated reasoning about higher-order programs by extending symbolic e...
An Input Output Symbolic Transition System (IOSTS) specifies all expected sequences of input and out...
The functional properties of a program are often specified by providing a contract for each of its f...
Chapter 5, on "A Module Language for Typing SIGNAL Programs by Contracts", brings up the polychronou...
In this thesis, we describe and evaluate approaches for the efficient reasoning of realworld C progr...
41 pages, 5 figuresWe present a framework for symbolically executing and model checking higher-order...
This report describes research done at the Artificial Intelligence laboratory of the Massachusetts I...
We present language-independent formal methods that are parameterized by the operational semantics o...
Unification and antiunification are essential algorithms used by symbolic execution engines and veri...
[EN] Despite its many unquestionable benefits, formal specifications are not widely used in industri...
[EN] Despite its many unquestionable benefits, formal specifications are not widely used in industri...
[EN] In Software Engineering, software contracts allow the program behavior to be specified using f...
Formal specifications can be used for various software engineering activities ranging from finding e...
Contract inference consists in automatically computing contracts that formally describe the behaviou...
International audienceWe propose a language-independent symbolic execution framework. The approach i...
We present a new approach to automated reasoning about higher-order programs by extending symbolic e...
An Input Output Symbolic Transition System (IOSTS) specifies all expected sequences of input and out...
The functional properties of a program are often specified by providing a contract for each of its f...
Chapter 5, on "A Module Language for Typing SIGNAL Programs by Contracts", brings up the polychronou...
In this thesis, we describe and evaluate approaches for the efficient reasoning of realworld C progr...
41 pages, 5 figuresWe present a framework for symbolically executing and model checking higher-order...
This report describes research done at the Artificial Intelligence laboratory of the Massachusetts I...
We present language-independent formal methods that are parameterized by the operational semantics o...
Unification and antiunification are essential algorithms used by symbolic execution engines and veri...