Abstract. Executable formal contracts help verify a program at run-time when static verification fails. However, these contracts may be pro-hibitively slow to execute, especially when they describe the transforma-tions of data structures. In fact, often an efficient data structure opera-tion with O(log(n)) running time executes in O(n log(n)) when naturally written specifications are executed at run time. We present a set of techniques that improve the efficiency of run-time checks by orders of magnitude, often recovering the original asymptotic behavior of operations. Our implementation first removes any statically verified parts of checks. Then, it applies a program transformation that changes recursively computed properties into data str...
AbstractWe present a runtime technique for checking that a concurrent implementation of a data struc...
In order to detect incorrect program behaviors, a number of approaches have been proposed, which inc...
This paper presents novel language and analysis techniques that significantly speed up software mode...
We present Leon, a system for developing functional Scala programs annotated with contracts. Contrac...
Instrumenting programs for performing run-time checking of properties, such as regular shapes, is a...
Instrumenting programs for performing run-time checking of properties, such as regular shapes, is a ...
In order to aid in the process of detecting incorrect pro- gram behaviors, a number of ap...
Instrumenting programs for performing run-time checking of properties, such as regular shapes, is a ...
A number of approaches for helping programmers detect incorrect program behaviors are based on combi...
The process of verifying that a program conforms to its specification is often hampered by errors in...
Formal verification is an approach of using mathematically precise representations and algorithms to...
Runtime Verification is a quickly growing technique for providing many of the guarantees of formal v...
The use of annotations, referred to as assertions or contracts, to describe program properties for ...
Abstract. We present a framework for verifying that programs correctly preserve impor-tant data stru...
Formal program verification offers strong assurance of cor-rectness, backed by the strength of mathe...
AbstractWe present a runtime technique for checking that a concurrent implementation of a data struc...
In order to detect incorrect program behaviors, a number of approaches have been proposed, which inc...
This paper presents novel language and analysis techniques that significantly speed up software mode...
We present Leon, a system for developing functional Scala programs annotated with contracts. Contrac...
Instrumenting programs for performing run-time checking of properties, such as regular shapes, is a...
Instrumenting programs for performing run-time checking of properties, such as regular shapes, is a ...
In order to aid in the process of detecting incorrect pro- gram behaviors, a number of ap...
Instrumenting programs for performing run-time checking of properties, such as regular shapes, is a ...
A number of approaches for helping programmers detect incorrect program behaviors are based on combi...
The process of verifying that a program conforms to its specification is often hampered by errors in...
Formal verification is an approach of using mathematically precise representations and algorithms to...
Runtime Verification is a quickly growing technique for providing many of the guarantees of formal v...
The use of annotations, referred to as assertions or contracts, to describe program properties for ...
Abstract. We present a framework for verifying that programs correctly preserve impor-tant data stru...
Formal program verification offers strong assurance of cor-rectness, backed by the strength of mathe...
AbstractWe present a runtime technique for checking that a concurrent implementation of a data struc...
In order to detect incorrect program behaviors, a number of approaches have been proposed, which inc...
This paper presents novel language and analysis techniques that significantly speed up software mode...