invariant generation
Recently Published Documents


TOTAL DOCUMENTS

80
(FIVE YEARS 9)

H-INDEX

14
(FIVE YEARS 1)

Author(s):  
Andrew Sogokon ◽  
Stefan Mitsch ◽  
Yong Kiam Tan ◽  
Katherine Cordwell ◽  
André Platzer

AbstractContinuous invariants are an important component in deductive verification of hybrid and continuous systems. Just like discrete invariants are used to reason about correctness in discrete systems without having to unroll their loops, continuous invariants are used to reason about differential equations without having to solve them. Automatic generation of continuous invariants remains one of the biggest practical challenges to the automation of formal proofs of safety for hybrid systems. There are at present many disparate methods available for generating continuous invariants; however, this wealth of diverse techniques presents a number of challenges, with different methods having different strengths and weaknesses. To address some of these challenges, we develop Pegasus: an automatic continuous invariant generator which allows for combinations of various methods, and integrate it with the KeYmaera X theorem prover for hybrid systems. We describe some of the architectural aspects of this integration, comment on its methods and challenges, and present an experimental evaluation on a suite of benchmarks.


Author(s):  
Jan Haltermann ◽  
Heike Wehrheim

AbstractSoftware verification has recently made enormous progress due to the development of novel verification methods and the speed-up of supporting technologies like SMT solving. To keep software verification tools up to date with these advances, tool developers keep on integrating newly designed methods into their tools, almost exclusively by re-implementing the method within their own framework. While this allows for a conceptual re-use of methods, it nevertheless requires novel implementations for every new technique.In this paper, we employ cooperative verification in order to avoid re-implementation and enable usage of novel tools as black-box components in verification. Specifically, cooperation is employed for the core ingredient of software verification which is invariant generation. Finding an adequate loop invariant is key to the success of a verification run. Our framework named CoVEGI allows a master verification tool to delegate the task of invariant generation to one or several specialized helper invariant generators. Their results are then utilized within the verification run of the master verifier, allowing in particular for crosschecking the validity of the invariant. We experimentally evaluate our framework on an instance with two masters and three different invariant generators using a number of benchmarks from SV-COMP 2020. The experiments show that the use of CoVEGI can increase the number of correctly verified tasks without increasing the used resources.


Author(s):  
Zachary Kincaid ◽  
Thomas Reps ◽  
John Cyphert

AbstractThis paper is a tutorial on algebraic program analysis. It explains the foundations of algebraic program analysis, its strengths and limitations, and gives examples of algebraic program analyses for numerical invariant generation and termination analysis.


2020 ◽  
Vol 32 (19) ◽  
pp. 1273-1276
Author(s):  
Naresh Sharma ◽  
Govind Kumar ◽  
Vivek Garg ◽  
Rakesh G. Mote ◽  
Vijaya Ramarao ◽  
...  

10.29007/9199 ◽  
2019 ◽  
Author(s):  
Dennis Peuter ◽  
Viorica Sofronie-Stokkermans

We study possibilities of using symbol elimination in program verification and synthesis. We consider programs for which a property is given, which is supposed to hold for all states reachable from the initial states. If it can not be proven that such a formula is an inductive invariant, the task is to find conditions to strengthen the property in order to make it an inductive invariant. We propose a method for property-directed invariant generation and analyze its properties.


2019 ◽  
Vol 30 (3) ◽  
pp. 697-714
Author(s):  
Stefan Hetzl ◽  
Sebastian Zivota

Abstract We present formula equations—first-order formulas with unknowns standing for predicates—as a general formalism for treating certain questions in logic and computer science, like the Auflösungsproblem and loop invariant generation. In the case of the language of affine terms over $\mathbb{Q}$, we translate a quantifier-free formula equation into an equivalent statement about affine spaces over $\mathbb{Q}$, which can then be decided by an iteration procedure.


Author(s):  
Andrew Sogokon ◽  
Stefan Mitsch ◽  
Yong Kiam Tan ◽  
Katherine Cordwell ◽  
André Platzer
Keyword(s):  

10.29007/269p ◽  
2018 ◽  
Author(s):  
Bernhard Gleiss ◽  
Laura Kovács ◽  
Simon Robillard

We present a framework to analyze and verify programs containing loops by using a first-order language of so-called extended expressions. This language can express both functional and temporal properties of loops. We prove soundness and completeness of our framework and use our approach to automate the tasks of partial correctness verification, termination analysis and invariant generation. For doing so, we express the loop semantics as a set of first-order properties over extended expressions and use theorem provers and/or SMT solvers to reason about these properties. Our approach supports full first-order reasoning, including proving program properties with alternation of quantifiers. Our work is implemented in the tool QuIt and successfully evaluated on benchmarks coming from software verification.


Sign in / Sign up

Export Citation Format

Share Document