No abstract available.
Proceeding Downloads
CTL as an intermediate language
The Coccinelle system is a program transformer used to automate and document collateral evolutions in Linux device drivers. Semantics are developed for the its underlying semantic patch language (SmPL). A richer and more efficient version is defined, ...
Program analysis and programming languages for security
The security of a software system is almost always retrofitted to an afterthought. When security problems arise, understanding and correcting them can be very challenging. On the one hand, the programanalysis and programming-languages research community ...
An improved tight closure algorithm for integer octagonal constraints
Integer octagonal constraints (a.k.a. Unit Two Variables Per Inequality or UTVPI integer constraints) constitute an interesting class of constraints for the representation and solution of integer problems in the fields of constraint programming and ...
Handling parameterized systems with non-atomic global conditions
We consider verification of safety properties for parameterized systems with linear topologies. A process in the system is an extended automaton, where the transitions are guarded by both local and global conditions. The global conditions are non-atomic,...
Abstract interpretation of the physical inputs of embedded programs
We define an abstraction of the continuous variables that serve as inputs to embedded software. In existing static analyzers, these variables are most often abstracted by a constant interval, and this approach has shown its limits. We propose a ...
Diagnostic information for realizability
Realizability - checking whether a specification can be implemented by an open system - is a fundamental step in the design flow. However, if the specification turns out not to be realizable, there is no method to pinpoint the causes for ...
Approximation refinement for interpolation-based model checking
Model checking using Craig interpolants provides an effective method for computing an over-approximation of the set of reachable states using a SAT solver. This method requires proofs of unsatisfiability from the SAT solver to progress. If an over-...
Abstract interpretation of cellular signalling networks
Cellular signalling pathways, where proteins can form complexes and undergo a large array of post translational modifications are highly combinatorial systems sending and receiving extracellular signals and triggering appropriate responses. Process-...
Is lazy abstraction a decision procedure for broadcast protocols?
Lazy abstraction builds up an abstract reachability tree by locally refining abstractions in order to eliminate spurious counterexamples in smaller and smaller subtrees. The method has proven useful to verify systems code. It is still open how good the ...
Model checking for action abstraction
We endow action sets of transition systems with a partial order that expresses the degree of specialization of actions, and with an intuitive but flexible consistency predicate that constrains the extension of such orders with more specialized actions. ...
On bridging simulation and formal verification
Simulation and formal verification are two complementary techniques for checking the correctness of hardware and software designs. Formal verification proves that a design property holds for all points of the search space while simulation checks this ...
Extending model checking with dynamic analysis
In model-driven verification a model checker executes a program by embedding it within a test harness, thus admitting program verification without the need to translate the program, which runs as native code. Model checking techniques in which code is ...
Deriving bisimulations by simplifying partitions
In this paper we analyze the problem of transforming partitions in order to satisfy completeness in the standard abstract interpretation framework. In order to obtain this, we exploit the relation existing between completeness and the Paige-Tarjan ...
Precise set sharing analysis for Java-style programs
Finding useful sharing information between instances in object-oriented programs has recently been the focus of much research. The applications of such static analysis are multiple: by knowing which variables definitely do not share in memory we can ...
Sufficient preconditions for modular assertion checking
Assertion checking is the restriction of program verification to validity of program assertions. It encompasses safety checking, which is program verification of safety properties, like memory safety or absence of overflows. In this paper, we consider ...
Runtime checking for separation logic
Separation logic is a popular approach for specifying properties of recursive mutable data structures. Several existing systems verify a subclass of separation logic specifications using static analysis techniques. Checking data structure specifications ...
Decision procedures for multisets with cardinality constraints
Applications in software verification and interactive theorem proving often involve reasoning about sets of objects. Cardinality constraints on such collections also arise in these scenarios. Multisets arise for analogous reasons as sets: abstracting ...
All you need is compassion
The paper presents a new deductive rule for verifying response properties under the assumption of compassion (strong fairness) requirements. It improves on previous rules in that the premises of the new rule are all first order.We prove that the rule is ...
A forward-backward abstraction refinement algorithm
Abstraction refinement-based model checking has become a standard approach for efficiently verifying safety properties of hardware/software systems. Abstraction refinement algorithms can be guided by counterexamples generated from abstract transition ...
Internal and external logics of abstract interpretations
We show that every abstract interpretation possesses an internal logic, whose proof theory is defined by the partial ordering on the abstract domain's elements and whose model theory is defined by the domain's concretization function. We explain how ...
From LTL to symbolically represented deterministic automata
Temporal logics like LTL are frequently used for the specification and verification of reactive systems. For verification, LTL formulas are typically translated to generalized nondeterministic Büchi automata so that the verification problem is reduced ...
Monitoring temporal properties of stochastic systems
We present highly accurate deterministic and randomized methods for monitoring temporal properties of stochastic systems. The deterministic algorithms employ timeouts that are set dynamically to achieve desired accuracy. The randomized algorithms employ ...
A hybrid algorithm for LTL games
In the game theoretic approach to the synthesis of reactive systems, specifications are often given in linear time logic (LTL). Computing a winning strategy to an infinite game whose winning condition is the set of LTL properties is the main step in ...