Region analysis for deductive verification of C programs
- Authors: Mandrykin M.U.1, Khoroshilov A.V.1,2,3,4
-
Affiliations:
- Institute for System Programming
- Moscow State University
- Moscow Institute of Physics and Technology
- National Research University Higher School of Economics
- Issue: Vol 42, No 5 (2016)
- Pages: 257-278
- Section: Article
- URL: https://journals.rcsi.science/0361-7688/article/view/176444
- DOI: https://doi.org/10.1134/S0361768816050042
- ID: 176444
Cite item
Abstract
This paper presents a memory model with nonoverlapping memory areas (regions) for the deductive verification of C programs. This memory model uses a core language that supports arbitrary nesting of structures, unions, and arrays into other structures and allows reducing the number of user-provided annotations as a result of region analysis. This paper also describes semantics of the core language and normalizing transformations for translating an input annotated C program into a program in the core language. In addition, an encoding is proposed for modeling the memory state of a core-language program with logical formulas as described by the model semantics of the core language. For the model semantics, the soundness and completeness theorems are proved. Additional constraints on the typing context of the core-language terms are described that determine the result of the region analysis enabling the complete modeling of a limited class of programs without using additional annotations. A proof sketch for the theorem stating completeness of the proposed region analysis for a limited class of programs is presented.
About the authors
M. U. Mandrykin
Institute for System Programming
Author for correspondence.
Email: mandrykin@ispras.ru
Russian Federation, ul. Solzhenitsyna 25, Moscow, 109004
A. V. Khoroshilov
Institute for System Programming; Moscow State University; Moscow Institute of Physics and Technology; National Research University Higher School of Economics
Email: mandrykin@ispras.ru
Russian Federation, ul. Solzhenitsyna 25, Moscow, 109004; Moscow, 119991; Institutskii per. 9, Dolgoprudnyi, Moscow oblast, 141700; ul. Myasnitskaya 20, Moscow, 101000
Supplementary files
