8 research outputs found
ΠΡΠΎΡΡΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎΠΊΡΡΡΠΈΡ Π΄Π»Ρ ΠΌΠΎΠ½ΠΎΡΠΎΠ½Π½ΡΡ ΡΡΠ΅ΡΡΠΈΠΊΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ
An algorithm for solving the coverability problem for monotonic counter systems is presented. The solvability of this problem is well-known, but the algorithm is interesting due to its simplicity. The algorithm has emerged as a simplification of a certain procedure of a supercompiler application (a program specializer based on V.F. Turchin's supercompilation) to a program encoding a monotonic counter system along with initial and target sets of states and from the proof that under some conditions the procedure terminates and solves the coverability problem.ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎΠΊΡΡΡΠΈΡ Π΄Π»Ρ ΠΌΠΎΠ½ΠΎΡΠΎΠ½Π½ΡΡ
ΡΡΠ΅ΡΡΠΈΠΊΠΎΠ²ΡΡ
ΡΠΈΡΡΠ΅ΠΌ. Π Π°Π·ΡΠ΅ΡΠΈΠΌΠΎΡΡΡ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Ρ
ΠΎΡΠΎΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½Π°, Π½ΠΎ Π΄Π°Π½Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΡΡΠΎΡΠΎΠΉ. ΠΠ½ Π²ΠΎΠ·Π½ΠΈΠΊ ΠΈΠ· ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠΏΠ΅ΡΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° (ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π΅ ΡΡΠΏΠ΅ΡΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π.Π€. Π’ΡΡΡΠΈΠ½Π°) ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΊΠΎΠ΄ΠΈΡΡΡΡΠ΅ΠΉ ΡΡΠ΅ΡΡΠΈΠΊΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΡΠ΅Π»Π΅Π²ΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ, ΠΈ ΠΈΠ· Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Π°, ΡΡΠΎ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
ΡΡΠ»ΠΎΠ²ΠΈΡΡ
ΡΡΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΈ ΡΠ΅ΡΠ°Π΅Ρ Π·Π°Π΄Π°ΡΡ ΠΏΠΎΠΊΡΡΡΠΈΡ
Invariant Generation for Multi-Path Loops with Polynomial Assignments
Program analysis requires the generation of program properties expressing
conditions to hold at intermediate program locations. When it comes to programs
with loops, these properties are typically expressed as loop invariants. In
this paper we study a class of multi-path program loops with numeric variables,
in particular nested loops with conditionals, where assignments to program
variables are polynomial expressions over program variables. We call this class
of loops extended P-solvable and introduce an algorithm for generating all
polynomial invariants of such loops. By an iterative procedure employing
Gr\"obner basis computation, our approach computes the polynomial ideal of the
polynomial invariants of each program path and combines these ideals
sequentially until a fixed point is reached. This fixed point represents the
polynomial ideal of all polynomial invariants of the given extended P-solvable
loop. We prove termination of our method and show that the maximal number of
iterations for reaching the fixed point depends linearly on the number of
program variables and the number of inner loops. In particular, for a loop with
m program variables and r conditional branches we prove an upper bound of m*r
iterations. We implemented our approach in the Aligator software package.
Furthermore, we evaluated it on 18 programs with polynomial arithmetic and
compared it to existing methods in invariant generation. The results show the
efficiency of our approach
Global Guidance for Local Generalization in Model Checking
SMT-based model checkers, especially IC3-style ones, are currently the most
effective techniques for verification of infinite state systems. They infer
global inductive invariants via local reasoning about a single step of the
transition relation of a system, while employing SMT-based procedures, such as
interpolation, to mitigate the limitations of local reasoning and allow for
better generalization. Unfortunately, these mitigations intertwine model
checking with heuristics of the underlying SMT-solver, negatively affecting
stability of model checking. In this paper, we propose to tackle the
limitations of locality in a systematic manner. We introduce explicit global
guidance into the local reasoning performed by IC3-style algorithms. To this
end, we extend the SMT-IC3 paradigm with three novel rules, designed to
mitigate fundamental sources of failure that stem from locality. We instantiate
these rules for the theory of Linear Integer Arithmetic and implement them on
top of SPACER solver in Z3. Our empirical results show that GSPACER, SPACER
extended with global guidance, is significantly more effective than both SPACER
and sole global reasoning, and, furthermore, is insensitive to interpolation.Comment: Published in CAV 202
Global guidance for local generalization in model checking
SMT-based model checkers, especially IC3-style ones, are currently the most effective techniques for verification of infinite state systems. They infer global inductive invariants via local reasoning about a single step of the transition relation of a system, while employing SMT-based procedures, such as interpolation, to mitigate the limitations of local reasoning and allow for better generalization. Unfortunately, these mitigations intertwine model checking with heuristics of the underlying SMT-solver, negatively affecting stability of model checking. In this paper, we propose to tackle the limitations of locality in a systematic manner. We introduce explicit global guidance into the local reasoning performed by IC3-style algorithms. To this end, we extend the SMT-IC3 paradigm with three novel rules, designed to mitigate fundamental sources of failure that stem from locality. We instantiate these rules for Linear Integer Arithmetic and Linear Rational Aritmetic and implement them on top of Spacer solver in Z3. Our empirical results show that GSpacer, Spacer extended with global guidance, is significantly more effective than both Spacer and sole global reasoning, and, furthermore, is insensitive to interpolation