Proceedings of the Institute for System Programming of the RAS
RUS  ENG    JOURNALS   PEOPLE   ORGANISATIONS   CONFERENCES   SEMINARS   VIDEO LIBRARY   PACKAGE AMSBIB  
General information
Latest issue
Archive

Search papers
Search references

RSS
Latest issue
Current issues
Archive issues
What is RSS



Proceedings of ISP RAS:
Year:
Volume:
Issue:
Page:
Find






Personal entry:
Login:
Password:
Save password
Enter
Forgotten password?
Register


Proceedings of the Institute for System Programming of the RAS, 2021, Volume 33, Issue 4, Pages 177–194
DOI: https://doi.org/10.15514/ISPRAS-2021-33(4)-13
(Mi tisp621)
 

This article is cited in 1 scientific paper (total in 1 paper)

Complete decision procedure for the theory of bounded pointer arithmetic based on quantifier instantiation and SMT

R. Sadykovab, M. Mandrykinb

a Lomonosov Moscow State University
b Ivannikov Institute for System Programming of the Russian Academy of Sciences
Abstract: The process of developing C programs is quite often prone to errors related to the uses of pointer arithmetic and operations on memory addresses. This promotes a need in developing various tools for automated program verification. One of the techniques frequently employed by those tools is invocation of appropriate decision procedures implemented within existing SMT-solvers. But at the same time both the SMT standard and most existing SMT-solvers lack the relevant logics (combinations of logical theories) for directly and precisely modelling the semantics of pointer operations in C. One of the possible ways to support these logics is to implement them in an SMT solver, but this approach can be time-consuming (as requires modifying the solver's source code), inflexible (introducing any changes to the theory's signature or semantics can be unreasonably hard) and limited (every solver has to be supported separately). Another way is to design and implement custom quantifier instantiation strategies. These strategies can be then used to translate formulas in the desired theory combinations to formulas in well-supported decidable logics such as QF_UFLIA. In this paper, we present an instantiation procedure for translating formulas in the theory of bounded pointer arithmetic into the QF_UFLIA logic. We formally proved soundness and completeness of our instantiation procedure in Isabelle/HOL. The paper presents an informal description of this proof of the proposed procedure. The theory of bounded pointer arithmetic itself was formulated based on known errors regarding the correct use of pointer arithmetic operations in industrial code as well as the semantics of these operations specified in the C standard. Similar procedure can also be defined for a practically relevant fragment of the theory of bit vectors (monotone propositional combinations of equalities between bitwise expressions). Our approach is sufficient to obtain efficient decision procedures implemented as Isabelle/HOL proof methods for several decidable logical theories used in C program verification by relying on the existing capabilities of well-known SMT solvers, such as Z3 and proof reconstruction capabilities of the Isabelle/HOL proof assistant.
Keywords: static verification, quantifier instantiation, SMT formulas, SMT solvers, automated decision procedures, software verification.
Funding agency Grant number
Ministry of Science and Higher Education of the Russian Federation АААА-А19-119110790086-3
This work was supported by the Ministry of Education and Science of the Russian Federation within the framework of project No. АААА-А19-119110790086-3.
Document Type: Article
Language: Russian
Citation: R. Sadykov, M. Mandrykin, “Complete decision procedure for the theory of bounded pointer arithmetic based on quantifier instantiation and SMT”, Proceedings of ISP RAS, 33:4 (2021), 177–194
Citation in format AMSBIB
\Bibitem{SadMan21}
\by R.~Sadykov, M.~Mandrykin
\paper Complete decision procedure for the theory of bounded pointer arithmetic based on quantifier instantiation and SMT
\jour Proceedings of ISP RAS
\yr 2021
\vol 33
\issue 4
\pages 177--194
\mathnet{http://mi.mathnet.ru/tisp621}
\crossref{https://doi.org/10.15514/ISPRAS-2021-33(4)-13}
Linking options:
  • https://www.mathnet.ru/eng/tisp621
  • https://www.mathnet.ru/eng/tisp/v33/i4/p177
  • This publication is cited in the following 1 articles:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Proceedings of the Institute for System Programming of the RAS
    Statistics & downloads:
    Abstract page:10
    Full-text PDF :3
     
      Contact us:
     Terms of Use  Registration to the website  Logotypes © Steklov Mathematical Institute RAS, 2024