|
This article is cited in 11 scientific papers (total in 11 papers)
Predicate abstractions memory modeling method with separation into disjoint regions
A. Volkova, M. Mandrykinb a Lomonosov Moscow State University
b Institute for System Programming of the Russian Academy of Sciences
Abstract:
Software verification is a type of activity focused on software quality control and detection of errors in software. Static verification is verification without the execution of software source code. Special software - tools for static verification - often work with program's source code. One of the tools that can be used for static verification is a tool called CPAchecker. The problem of the current memory model used by the tool is that if a function returning a pointer to program's memory lacks a body, arbitrary assumptions can be made about this function return value in the process of verification. Although possible, the assumptions are often also practically very improbable. Their usage may lead to a false alarm. In this paper we give an overview of the approach capable of resolving this issue and its formal specification in terms of path formulas based on the uninterpreted functions used by the tool for memory modeling. We also present results of benchmarking the corresponding implementation against existing memory model.
Keywords:
memory model, predicate abstractions, static verification.
Citation:
A. Volkov, M. Mandrykin, “Predicate abstractions memory modeling method with separation into disjoint regions”, Proceedings of ISP RAS, 29:4 (2017), 203–216
Linking options:
https://www.mathnet.ru/eng/tisp244 https://www.mathnet.ru/eng/tisp/v29/i4/p203
|
Statistics & downloads: |
Abstract page: | 158 | Full-text PDF : | 67 | References: | 24 |
|