One of the most attractive features of untyped languages for programmers is the flexibility in term creation and manipulation. However, with such power comes the responsibility of ensuring correctness of operations. A solution is adding run-time checks to the program via assertions, but this can introduce overheads that are in many cases impractical. While such overheads can be greatly reduced with static analysis, the gains depend strongly on the quality of the information inferred. Reusable libraries, i.e., library modules that are pre-compiled independently of the client, pose special challenges in this context. We propose a relaxed form of atom-based module system (which hides only a selected set of functor symbols but still provides a ...
We have designed and implemented a framework that unifies unit testing and run-time verification (as...
We propose a language design where types can be enriched by tags corresponding to predicates written...
Typestate reflects how the legal operations on imperative objects can change at runtime as their int...
One of the most attractive features of untyped languages for programmers is the flexibility in term ...
One of the most attractive features of untyped languages for programmers is the flexibility in term...
One of the most attractive features of untyped languages is the flexibility in term creation and man...
One of the most attractive features of untyped languages for programmers is the flexibility in term ...
A number of approaches for helping programmers detect incorrect program behaviors are based on combi...
In order to aid in the process of detecting incorrect pro- gram behaviors, a number of ap...
In order to detect incorrect program behaviors, a number of approaches have been proposed, which inc...
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 ...
Instrumenting programs for performing run-time checking of properties, such as regular shapes, is a...
AbstractThis paper presents a new approach to the problem of guaranteeing that definite logic progra...
Typestate reflects how the legal operations on imperative objects can change at runtime as their int...
We have designed and implemented a framework that unifies unit testing and run-time verification (as...
We propose a language design where types can be enriched by tags corresponding to predicates written...
Typestate reflects how the legal operations on imperative objects can change at runtime as their int...
One of the most attractive features of untyped languages for programmers is the flexibility in term ...
One of the most attractive features of untyped languages for programmers is the flexibility in term...
One of the most attractive features of untyped languages is the flexibility in term creation and man...
One of the most attractive features of untyped languages for programmers is the flexibility in term ...
A number of approaches for helping programmers detect incorrect program behaviors are based on combi...
In order to aid in the process of detecting incorrect pro- gram behaviors, a number of ap...
In order to detect incorrect program behaviors, a number of approaches have been proposed, which inc...
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 ...
Instrumenting programs for performing run-time checking of properties, such as regular shapes, is a...
AbstractThis paper presents a new approach to the problem of guaranteeing that definite logic progra...
Typestate reflects how the legal operations on imperative objects can change at runtime as their int...
We have designed and implemented a framework that unifies unit testing and run-time verification (as...
We propose a language design where types can be enriched by tags corresponding to predicates written...
Typestate reflects how the legal operations on imperative objects can change at runtime as their int...