Pure methods and model fields are useful and common specification constructs that can be interpreted by the introduction of axioms in a program verifier’s underlying proof system. Care has to be taken that these axioms do not introduce an inconsistency into the proof system. This paper describes and proves sound an approach that ensures no inconsistencies are introduced. Unlike some previous syntax-based approaches, this approach is based on semantics, which lets it admit some natural but previously problematical specifications. The semantic conditions are discharged by the program verifier using an SMT solver, and the paper describes heuristics that help avoid common problems in finding witnesses with trigger-based SMT solvers. The paper r...
An intuitive presentation of the trace method for the abstract specification of software contains sa...
We present a transformational approach to program verification and software model checking that uses...
Model checking is an automated technique for deciding whether a computer program satisfies a tempora...
Pure methods and model fields are useful and common specification constructs that can be interpreted...
AbstractConsistency checking in the CSP ∥ B approach verifies that an individual controller process,...
Formal methods are becoming increasingly important for debugging and verifying hardware and softwar...
Cyber-Physical Systems (CPSs) are engineered systems that are built from, and depend upon, the seaml...
International audienceA common belief is that formalizing semantics of programming languages require...
Abstract. For specifying and reasoning about object-based programs it is often attractive for contra...
Abstract predicates are the primary abstraction mechanism for program logics based on access permiss...
SMT solvers have become de rigueur in deductive verification to automatically prove the validity of ...
Abstract. Teaching formal methods is notoriously difficult but it is also often argued that formal m...
SMT solvers are efficient tools to decide the satisfiability of ground formulas, including a number ...
The foundational goal of this work is the development of mechanizable proof rules and a verification...
Abstract. Satisfiability Modulo Theories (SMT) solvers incorporate decision procedures for theories ...
An intuitive presentation of the trace method for the abstract specification of software contains sa...
We present a transformational approach to program verification and software model checking that uses...
Model checking is an automated technique for deciding whether a computer program satisfies a tempora...
Pure methods and model fields are useful and common specification constructs that can be interpreted...
AbstractConsistency checking in the CSP ∥ B approach verifies that an individual controller process,...
Formal methods are becoming increasingly important for debugging and verifying hardware and softwar...
Cyber-Physical Systems (CPSs) are engineered systems that are built from, and depend upon, the seaml...
International audienceA common belief is that formalizing semantics of programming languages require...
Abstract. For specifying and reasoning about object-based programs it is often attractive for contra...
Abstract predicates are the primary abstraction mechanism for program logics based on access permiss...
SMT solvers have become de rigueur in deductive verification to automatically prove the validity of ...
Abstract. Teaching formal methods is notoriously difficult but it is also often argued that formal m...
SMT solvers are efficient tools to decide the satisfiability of ground formulas, including a number ...
The foundational goal of this work is the development of mechanizable proof rules and a verification...
Abstract. Satisfiability Modulo Theories (SMT) solvers incorporate decision procedures for theories ...
An intuitive presentation of the trace method for the abstract specification of software contains sa...
We present a transformational approach to program verification and software model checking that uses...
Model checking is an automated technique for deciding whether a computer program satisfies a tempora...