The success of software verification depends on the ability to find a suitable abstraction of a program automatically. We propose a method for automated abstraction refinement which overcomes some limitations of current predicate discovery schemes. In current schemes, the cause of a false alarm is identified as an infeasible error path, and the abstraction is refined in order to remove that path. By contrast, we view the cause of a false alarm -the spurious counterexample- as a full-fledged program, namely, a fragment of the original program whose control-flow graph may contain loops and represent unbounded computations. There are two advantages to using such path programs as counterexamples for abstraction refinement. First, we can bring t...
Model checking is an automated technique for deciding whether a computer program satisfies a tempora...
Abstract. In the domain of software verification, predicate abstraction has emerged to be a powerful...
Abstraction plays an important role for verification of computer programs. We want to construct the ...
The success of software verification depends on the ability to find a suitable abstraction of a prog...
The success of software verification depends on the ability to find a suitable abstraction of a prog...
Software verification is an important and difficult problem. Many static checking techniques for sof...
Abstract. Automatic software verification relies on constructing, for a given program, an abstract m...
Predicate abstraction is a major abstraction technique for the verification of software. Data is abs...
Predicate abstraction is a powerful technique to reduce the state space of a program to a finite and...
Ensuring software reliability is a critical problem in the software development process. There are t...
Abstract. Precise software analysis and verification require tracking the exact path along which a s...
A popular approach to verification of software system correctness is model checking. To achieve scal...
Predicate abstraction is a technique employed in software model checking to produce abstract models ...
Predicate abstraction is a technique employed in software model checking to produce abstract models ...
This thesis describes the generation and use of program invariants to improve software reliability. ...
Model checking is an automated technique for deciding whether a computer program satisfies a tempora...
Abstract. In the domain of software verification, predicate abstraction has emerged to be a powerful...
Abstraction plays an important role for verification of computer programs. We want to construct the ...
The success of software verification depends on the ability to find a suitable abstraction of a prog...
The success of software verification depends on the ability to find a suitable abstraction of a prog...
Software verification is an important and difficult problem. Many static checking techniques for sof...
Abstract. Automatic software verification relies on constructing, for a given program, an abstract m...
Predicate abstraction is a major abstraction technique for the verification of software. Data is abs...
Predicate abstraction is a powerful technique to reduce the state space of a program to a finite and...
Ensuring software reliability is a critical problem in the software development process. There are t...
Abstract. Precise software analysis and verification require tracking the exact path along which a s...
A popular approach to verification of software system correctness is model checking. To achieve scal...
Predicate abstraction is a technique employed in software model checking to produce abstract models ...
Predicate abstraction is a technique employed in software model checking to produce abstract models ...
This thesis describes the generation and use of program invariants to improve software reliability. ...
Model checking is an automated technique for deciding whether a computer program satisfies a tempora...
Abstract. In the domain of software verification, predicate abstraction has emerged to be a powerful...
Abstraction plays an important role for verification of computer programs. We want to construct the ...