Refinement of Trace Abstraction for Real-Time Programs
September 9, 2017 Franck Cassez2, Peter G. Jensen1,2 and Kim G. Larsen1 pgj@cs.aau.dk
Department of Computer Science, Aalborg University Department of Computing, Macquarie University
Refinement of Trace Abstraction for Real-Time Programs September 9, - - PowerPoint PPT Presentation
Refinement of Trace Abstraction for Real-Time Programs September 9, 2017 Franck Cassez 2 , Peter G. Jensen 1 , 2 and Kim G. Larsen 1 pgj@cs.aau.dk Department of Computer Science, Aalborg University Department of Computing, Macquarie University
Department of Computer Science, Aalborg University Department of Computing, Macquarie University
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 1
◮ Generic framework for Timed Systems ◮ Verification of Reachability/Safety Properties ◮ Synthesis of Reachable/Safe parameter sets
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 2
◮ Consider system as two parts
◮ Control Flow Graph (CFG) ◮ “Semantics” instructions as constraint-systems
◮ Check system one (abstract) trace at a time
◮ The CFG is our coarsest abstraction ◮ Refine CFG
◮ System has to be in CFG/Semantics form ◮ We need methods for;
◮ encoding of trace as constraint-system (Enc), ◮ checking satisfiability of constraint-system (Z3), ◮ generalizing unsatisfiable traces, and ◮ refining abstraction.
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 3
◮ Plethora of formalisms
◮ Time(d) (Arc) Petri-Net, ◮ Timed Automata, ◮ Hybrid Automata, ◮ Timed Process Algebras, ◮ . . . ,
◮ Trace Abstraction Refinement origins from program-verification, ◮ Decouple control-flow and semantics
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 4
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 5
◮ ν : V → R is a valuation,
◮ the set of valuations is [V → R]
◮ β(V) is a set of constraints on V,
◮ ν |
◮ U(V) be the set of updates on the variables in V,
◮ µ ⊆ [V → R] × [V → R]for µ ∈ U(V),
◮ R(V) ⊆ QV be the set of rates
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 6
α,δ
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 7
α,δ
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 8
◮ AP = (Q, ι, I, ∆, F) is a finite automaton defining the control-flow
◮ Q is the set of states, ◮ ι ∈ Q is the initial state, ◮ I is a set of labels (instructions), ◮ ∆ ⊆ Q × I × Q is the transition-relation, and ◮ F is a set of accepting states.
◮ · gives semantics to each instruction.
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 9
α0,δ0
α1,δ1
αn,δn
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 10
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 11
◮ If the trace can be encoded in a decidable theory, checking the
◮ Linear Hybrid Automata traces can be encoded in Linear Real
◮ SAT of LRA is decidable – essentially Linear Programming. ◮ Even if theory is not decidable, we can be lucky. ◮ Off-the-shelf solvers such as Z3.
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 12
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 13
◮ System has to be in CFG/Semantics form ◮ We need methods for;
◮ encoding of trace as constraint-system (Enc), ◮ checking satisfiability of constraint-system (Z3), ◮ generalizing unsatisfiable traces, and ◮ refining abstraction.
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 14
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 15
◮ we can encode w as a conjunction of constraint-systems
◮ check feasibility using a solver ◮ construct Craig-interpolants using an interpolanting solver (as
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 16
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 16
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 16
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 16
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 16
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 17
◮ Undecidable in general, and ◮ calling SMT-solvers are expensive.
◮ Works for any encoding within a theory the solver supports,
◮ Timed Automata, Stopwatch Automata, Time(d)(-Arc) Petri Nets,
◮ Abstracts both continuous and discrete parts of the system, and ◮ Early termination - even on undecidable things.
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 18
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 19
◮ UPPAAL over-approximates both, and returns unknown/error. ◮ PHAVER and IMITATOR only computes the first example, and
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 20
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 21
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 22
Franck Cassez, Peter G. Jensen and Kim G. Larsen pgj@cs.aau.dk | Refinement of Trace Abstraction for Real-Time Programs 23
◮ Very big hammer, ◮ slow but exact, ◮ room for improvement and novel techniques, ◮ good supplement to existing tools, ◮ extends family of models solvable.
◮ Function-calls, ◮ Reductions, ◮ continuous dynamics, ◮ liveness-propperties.