Logic for reasoning about bugs in loops over data sequences (IFIL)
Modelirovanie i analiz informacionnyh sistem, Tome 30 (2023) no. 3, pp. 214-233

Voir la notice de l'article provenant de la source Math-Net.Ru

Classic deductive verification is not focused on reasoning about program incorrectness. Reasoning about program incorrectness using formal methods is an important problem nowadays. Special logics such as Incorrectness Logic, Adversarial Logic, Local Completeness Logic, Exact Separation Logic and Outcome Logic have recently been proposed to address it. However, these logics have two disadvantages. One is that they are based on under-approximation approaches, while classic deductive verification is based on the over-approximation approach. One the other hand, the use of the classic approach requires defining loop invariants in a general case. The second disadvantage is that the use of generalized inference rules from these logics results in having to prove too complex formulas in simple cases. Our contribution is a new logic for solving these problems in the case of loops over data sequences. These loops are referred to as finite iterations. We call the proposed logic the Incorrectness Finite Iteration Logic (IFIL). We avoid defining invariants of finite iterations using a symbolic replacement of these loops with recursive functions. Our logic is based on special inference rules for finite iterations. These rules allow generating formulas with recursive functions corresponding to finite iterations. The validity of these formulas may indicate the presence of bugs in the finite iterations. This logic has been implemented in a new version of the C-lightVer system for deductive verification of C programs.
Keywords: deductive verification, Hoare logic, bug localization, program incorrectness, loop invariant, finite iteration, C-lightVer
Mots-clés : ACL2.
@article{MAIS_2023_30_3_a2,
     author = {D. A. Kondrat'ev},
     title = {Logic for reasoning about bugs in loops over data sequences {(IFIL)}},
     journal = {Modelirovanie i analiz informacionnyh sistem},
     pages = {214--233},
     publisher = {mathdoc},
     volume = {30},
     number = {3},
     year = {2023},
     language = {en},
     url = {http://geodesic.mathdoc.fr/item/MAIS_2023_30_3_a2/}
}
TY  - JOUR
AU  - D. A. Kondrat'ev
TI  - Logic for reasoning about bugs in loops over data sequences (IFIL)
JO  - Modelirovanie i analiz informacionnyh sistem
PY  - 2023
SP  - 214
EP  - 233
VL  - 30
IS  - 3
PB  - mathdoc
UR  - http://geodesic.mathdoc.fr/item/MAIS_2023_30_3_a2/
LA  - en
ID  - MAIS_2023_30_3_a2
ER  - 
%0 Journal Article
%A D. A. Kondrat'ev
%T Logic for reasoning about bugs in loops over data sequences (IFIL)
%J Modelirovanie i analiz informacionnyh sistem
%D 2023
%P 214-233
%V 30
%N 3
%I mathdoc
%U http://geodesic.mathdoc.fr/item/MAIS_2023_30_3_a2/
%G en
%F MAIS_2023_30_3_a2
D. A. Kondrat'ev. Logic for reasoning about bugs in loops over data sequences (IFIL). Modelirovanie i analiz informacionnyh sistem, Tome 30 (2023) no. 3, pp. 214-233. http://geodesic.mathdoc.fr/item/MAIS_2023_30_3_a2/