We present a new approach to automated reasoning about higher-order programs by extending symbolic execution to use behavioral contracts as symbolic values, enabling sym-bolic approximation of higher-order behavior. Our approach is based on the idea of an abstract reduc-tion semantics that gives an operational semantics to pro-grams with both concrete and symbolic components. Sym-bolic components are approximated by their contract and our semantics gives an operational interpretation of contracts-as-values. The result is a executable semantics that soundly pre-dicts program behavior, including contract failures, for all possible instantiations of symbolic components. We show that our approach scales to an expressive language of con-tracts i...
Abstract. A robust software component fulfills a contract: it expects data satisfying a certain prop...
Symbolic execution is a powerful, systematic program analysis approach that has received much visibi...
In this paper, we provide a formal explanation of symbolic execution in terms of a symbolic transiti...
We present a framework for symbolically executing and model checking higher-order programs with exte...
An Input Output Symbolic Transition System (IOSTS) specifies all expected sequences of input and out...
Abstract. We discuss how to perform symbolic execution of large programs in a manner that is both co...
Artículo de publicación ISISoftware contracts have proven to play an important role for the developm...
Symbolic execution provides a mechanism for formally proving programs correct. A notation is introdu...
AbstractWe study an applied typed call-by-valueλ-calculus which in addition to the usual types for h...
Abstract. Contracts have proved a powerful concept in software engi-neering, to the point where we h...
There are multiple challenges in designing a static verification system for an existing programming ...
We propose a formal theory of contract-based computing. We model contracts as formulae in an intuiti...
In the symbolic execution of a program real values are replaced by so-called symbolic values. Conseq...
The present abstract reports on the state-of-the-art of the logic for contracts CL, which we have be...
Due to software complexity, manual and automatic testing are not enough to guarantee the correct beh...
Abstract. A robust software component fulfills a contract: it expects data satisfying a certain prop...
Symbolic execution is a powerful, systematic program analysis approach that has received much visibi...
In this paper, we provide a formal explanation of symbolic execution in terms of a symbolic transiti...
We present a framework for symbolically executing and model checking higher-order programs with exte...
An Input Output Symbolic Transition System (IOSTS) specifies all expected sequences of input and out...
Abstract. We discuss how to perform symbolic execution of large programs in a manner that is both co...
Artículo de publicación ISISoftware contracts have proven to play an important role for the developm...
Symbolic execution provides a mechanism for formally proving programs correct. A notation is introdu...
AbstractWe study an applied typed call-by-valueλ-calculus which in addition to the usual types for h...
Abstract. Contracts have proved a powerful concept in software engi-neering, to the point where we h...
There are multiple challenges in designing a static verification system for an existing programming ...
We propose a formal theory of contract-based computing. We model contracts as formulae in an intuiti...
In the symbolic execution of a program real values are replaced by so-called symbolic values. Conseq...
The present abstract reports on the state-of-the-art of the logic for contracts CL, which we have be...
Due to software complexity, manual and automatic testing are not enough to guarantee the correct beh...
Abstract. A robust software component fulfills a contract: it expects data satisfying a certain prop...
Symbolic execution is a powerful, systematic program analysis approach that has received much visibi...
In this paper, we provide a formal explanation of symbolic execution in terms of a symbolic transiti...