This paper presents incremental verification-validation, a novel approach for checking rich data structure invariants expressed as separation logic assertions. Incremental verification-validation combines static verification of separation properties with efficient, short-circuiting dynamic validation of arbitrarily rich data constraints. A data structure invariant checker is an inductive predicate in separation logic with an executable interpretation; a short-circuiting checker is an invariant checker that stops checking whenever it detects at run time that an assertion for some sub-structure has been fully proven statically. At a high level, our approach does two things: it statically proves the separation properties of data structure inva...
Abstract — Despite their popularity and importance, pointerbased programs remain a major challenge f...
Fully automated verification of concurrent programs is a difficult problem, primarily because of sta...
We consider the problem of automated program verification with emphasis on reasoning about dynamical...
© Springer Nature Switzerland AG 2018. Knowing the shapes of dynamic data structures is key when for...
Abstract. We present structural invariants (SI), a new technique for incrementally overapproximating...
One of the main challenges in the verification of software systems is the analysis of unbounded data...
Abstract. C programs that manipulate list-based dynamic data struc-tures remain a challenging target...
We propose a heuristic-based method for discovering inductive invariants in the parameterized verifi...
Abstract. We present a framework for verifying that programs correctly preserve impor-tant data stru...
Abstract. We present a new assertion verification algorithm based on structural invariants (SI) comp...
We describe an approach for combining theorem proving techniques with static analysis to analyze dat...
Abstract. Executable formal contracts help verify a program at run-time when static verification fai...
Current static verification techniques do not provide good support for incrementality, making it dif...
Abstract. Separation logic is a popular approach for specifying properties of recursive mutable data...
One of the main challenges in the verification of software systems is the analysis of unbounded data...
Abstract — Despite their popularity and importance, pointerbased programs remain a major challenge f...
Fully automated verification of concurrent programs is a difficult problem, primarily because of sta...
We consider the problem of automated program verification with emphasis on reasoning about dynamical...
© Springer Nature Switzerland AG 2018. Knowing the shapes of dynamic data structures is key when for...
Abstract. We present structural invariants (SI), a new technique for incrementally overapproximating...
One of the main challenges in the verification of software systems is the analysis of unbounded data...
Abstract. C programs that manipulate list-based dynamic data struc-tures remain a challenging target...
We propose a heuristic-based method for discovering inductive invariants in the parameterized verifi...
Abstract. We present a framework for verifying that programs correctly preserve impor-tant data stru...
Abstract. We present a new assertion verification algorithm based on structural invariants (SI) comp...
We describe an approach for combining theorem proving techniques with static analysis to analyze dat...
Abstract. Executable formal contracts help verify a program at run-time when static verification fai...
Current static verification techniques do not provide good support for incrementality, making it dif...
Abstract. Separation logic is a popular approach for specifying properties of recursive mutable data...
One of the main challenges in the verification of software systems is the analysis of unbounded data...
Abstract — Despite their popularity and importance, pointerbased programs remain a major challenge f...
Fully automated verification of concurrent programs is a difficult problem, primarily because of sta...
We consider the problem of automated program verification with emphasis on reasoning about dynamical...