Results 1  10
of
34
Differential Dynamic Logic for Hybrid Systems
, 2007
"... Hybrid systems are models for complex physical systems and are defined as dynamical systems with interacting discrete transitions and continuous evolutions along differential equations. With the goal of developing a theoretical and practical foundation for deductive verification of hybrid systems, ..."
Abstract

Cited by 45 (33 self)
 Add to MetaCart
Hybrid systems are models for complex physical systems and are defined as dynamical systems with interacting discrete transitions and continuous evolutions along differential equations. With the goal of developing a theoretical and practical foundation for deductive verification of hybrid systems, we introduce a dynamic logic for hybrid programs, which is a program notation for hybrid systems. As a verification technique that is suitable for automation, we introduce a free variable proof calculus with a novel combination of realvalued free variables and Skolemisation for lifting quantifier elimination for real arithmetic to dynamic logic. The calculus is compositional, i.e., it reduces properties of hybrid programs to properties of their parts. Our main result proves that this calculus axiomatises the transition behaviour of hybrid systems completely relative to differential equations. In a case study with cooperating traffic agents of the European Train Control System, we further show that our calculus is wellsuited for verifying realistic hybrid systems with parametric system dynamics.
A FirstOrder Logic DavisPutnamLogemannLoveland Procedure
"... The DavisPutnamLogemannLoveland procedure (DPLL) was introduced in the early ..."
Abstract

Cited by 38 (6 self)
 Add to MetaCart
(Show Context)
The DavisPutnamLogemannLoveland procedure (DPLL) was introduced in the early
The KeY Tool
, 2003
"... KeY is a tool that provides facilities for formal specification and verification of programs within a commercial platform for UML based software development. Using the KeY tool, formal methods and objectoriented development techniques are applied in an integrated manner. Formal specification is per ..."
Abstract

Cited by 19 (4 self)
 Add to MetaCart
KeY is a tool that provides facilities for formal specification and verification of programs within a commercial platform for UML based software development. Using the KeY tool, formal methods and objectoriented development techniques are applied in an integrated manner. Formal specification is performed using the Object Constraint Language (OCL), which is part of the UML standard. KeY provides support for the authoring and formal analysis of OCL constraints. The target language of KeY based development is JAVA CARD, a proper subset of JAVA for smart card applications and embedded systems. KeY uses a dynamic logic for JAVA CARD to express proof obligations, and provides a stateoftheart theorem prover for interactive and automated verification. Apart from its integration into UML based software development, a characteristic feature of KeY is that formal specification and verification can be introduced incrementally.
A Constraint Sequent Calculus for FirstOrder Logic with Linear Integer Arithmetic
"... Firstorder logic modulo the theory of integer arithmetic is the basis for reasoning in many areas, including deductive software verification and software model checking. While satisfiability checking for ground formulae in this logic is well understood, it is still an open question how the general ..."
Abstract

Cited by 14 (1 self)
 Add to MetaCart
Firstorder logic modulo the theory of integer arithmetic is the basis for reasoning in many areas, including deductive software verification and software model checking. While satisfiability checking for ground formulae in this logic is well understood, it is still an open question how the general case of quantified formulae can be handled in an efficient and systematic way. As a possible answer, we introduce a sequent calculus that combines ideas from freevariable constraint tableaux with the Omega quantifier elimination procedure. The calculus is complete for theorems of firstorder logic (without functions, but with arbitrary uninterpreted predicates), can decide Presburger arithmetic, and is complete for a substantial fragment of the combination of both.
P.H.: The KeY tool, Integrating object oriented design and formal verification. Software and Systems Modeling 4
, 2005
"... Abstract. KeY is a tool that provides facilities for formal specification and verification of programs within a commercial platform for UML based software development. Using the KeY tool, formal methods and objectoriented development techniques are applied in an integrated manner. Formal specificat ..."
Abstract

Cited by 12 (3 self)
 Add to MetaCart
(Show Context)
Abstract. KeY is a tool that provides facilities for formal specification and verification of programs within a commercial platform for UML based software development. Using the KeY tool, formal methods and objectoriented development techniques are applied in an integrated manner. Formal specification is performed using the Object Constraint Language (OCL), which is part of the UML standard. KeY provides support for the authoring and formal analysis of OCL constraints. The target language of KeY based development is Java Card DL, a proper subset of Java for smart card applications and embedded systems. KeY uses a dynamic logic for Java Card DL to express proof obligations, and provides a stateoftheart theorem prover for interactive and automated verification. Apart from its integration into UML based software development, a characteristic feature of KeY is that formal specification and verification can be introduced incrementally. Keywords: Objectoriented design – Formal specification – Formal verification – UML – OCL – Design patterns – Java 1
NonTermination Checking for Imperative Programs
"... Abstract. While termination checking tailored to realworld library code or frameworks has received everincreasing attention during the last years, the complementary question of disproving termination properties as a means of debugging has largely been ignored so far. We present an approach to auto ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
(Show Context)
Abstract. While termination checking tailored to realworld library code or frameworks has received everincreasing attention during the last years, the complementary question of disproving termination properties as a means of debugging has largely been ignored so far. We present an approach to automatic nontermination checking that relates to termination checking in the same way as symbolic testing does to program verification. Our method is based on the automated generation of invariants that show that terminating states of a program are unreachable from certain initial states. Such initial states are identified using constraintsolving techniques. The method is fully implemented on top of a program verification system and available for download. We give an empirical evaluation of the approach using a collection of nonterminating example programs. 1
Proving programs incorrect using a sequent calculus for Java Dynamic Logic
 Proceedings, International Conference on Tests and Proofs (TAP
, 2007
"... Abstract. Program verification is concerned with proving that a program is correct and adheres to a given specification. Testing a program, in contrast, means to search for a witness that the program is incorrect. In the present paper, we use a program logic for Java to prove the incorrectness of pr ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
(Show Context)
Abstract. Program verification is concerned with proving that a program is correct and adheres to a given specification. Testing a program, in contrast, means to search for a witness that the program is incorrect. In the present paper, we use a program logic for Java to prove the incorrectness of programs. We show that this approach, carried out in a sequent calculus for dynamic logic, creates a connection between calculi and proof procedures for program verification and test data generation procedures. Starting with a program logic enables to find more general and more complicated counterexamples for the correctness of programs.
Combining deduction and algebraic constraints for hybrid system analysis
 VERIFY’07 at CADE’07, CEURWS.org (2007
"... Abstract. We show how theorem proving and methods for handling real algebraic constraints can be combined for hybrid system verification. In particular, we highlight the interaction of deductive and algebraic reasoning that is used for handling the joint discrete and continuous behaviour of hybrid s ..."
Abstract

Cited by 7 (7 self)
 Add to MetaCart
(Show Context)
Abstract. We show how theorem proving and methods for handling real algebraic constraints can be combined for hybrid system verification. In particular, we highlight the interaction of deductive and algebraic reasoning that is used for handling the joint discrete and continuous behaviour of hybrid systems. We illustrate proof tasks that occur when verifying scenarios with cooperative traffic agents. From the experience with these examples, we analyse proof strategies for dealing with the practical challenges for integrated algebraic and deductive verification of hybrid systems, and we propose an iterative background closure strategy.
A Model Generation Style Completeness Proof for Constraint Tableaux with Superposition
, 2002
"... We present a calculus that integrates equality handling by superposition into a free variable tableau calculus. We prove completeness of this calculus by an adaptation of the model generation [1, 15] technique commonly used for completeness proofs of resolution calculi. ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
(Show Context)
We present a calculus that integrates equality handling by superposition into a free variable tableau calculus. We prove completeness of this calculus by an adaptation of the model generation [1, 15] technique commonly used for completeness proofs of resolution calculi.
Constrained Hyper Tableaux
, 2001
"... Hyper tableau reasoning is a version of clausal form tableau reasoning where all negative literals in a clause are resolved away in a single inference step. Constrained hyper tableaux are a generalization of hyper tableaux, where branch closing substitutions, from the point of view of model generati ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
(Show Context)
Hyper tableau reasoning is a version of clausal form tableau reasoning where all negative literals in a clause are resolved away in a single inference step. Constrained hyper tableaux are a generalization of hyper tableaux, where branch closing substitutions, from the point of view of model generation, give rise to constraints on satisfying assignments for the branch. These variable constraints eliminate the need for the awkward `purifying substitutions' of of hyper tableaux. The paper presents a nondestructive and proof conuent calculus for constrained hyper tableaux, together with a soundness and completeness proof, with completeness based on a new way to generate models from open tableaux. Next, it is indicated how the calculus can be modi ed for minimal model generation. Finally, it is pointed out that the variable constraint approach applies to free variable tableau reasoning in general.