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, 2023, Volume 35, Issue 3, Pages 187–204
DOI: https://doi.org/10.15514/ISPRAS-2023-35(3)-14
(Mi tisp796)
 

Predicate abstraction refinement in thread-modular analysis

V. P. Rudenchik, P. S. Andrianov

Ivannikov Institute for System Programming of the RAS
Abstract: Thread-modular approach over predicate abstraction is an efficient technique for software verification of complicated real-world source code. One of the main problems in the technique is a predicate abstraction refinement in a multithreaded case. A default predicate refiner considers only a path related to one thread, and does not refine the thread-modular environment. For instance, if we have applied an effect from the second thread to the current one, then the path in the second thread to the applied effect is not refined. Our goal was to develop a more precise refinement procedure, reusing a default predicate refiner to refine both: a path in a current thread and a path to an effect in the environment. The idea is to construct a joined boolean formula from these two paths. Since some variables may be common, a key challenge is to correctly rename and equate variables in two parts of the formula to accurately represent the way threads interact. It is essential to get reliable predicates that can potentially prove spuriousness of the path. The proposed approach is implemented on top of CPAchecker framework. It is evaluated on standard SV-COMP benchmark set, and the results show some benefit. Evaluation on the real-world software does not demonstrate significant accuracy increase, as the described flaw of predicate refinement is not the only reason of false positive results. While the proposed approach can successfully prove some specific paths to be spurious, it is not enough to fully prove correctness of some programs. However, the approach has further potential for improvements.
Keywords: static verification, predicate abstraction, thread-modular analysis
Document Type: Article
Language: English
Citation: V. P. Rudenchik, P. S. Andrianov, “Predicate abstraction refinement in thread-modular analysis”, Proceedings of ISP RAS, 35:3 (2023), 187–204
Citation in format AMSBIB
\Bibitem{RudAnd23}
\by V.~P.~Rudenchik, P.~S.~Andrianov
\paper Predicate abstraction refinement in thread-modular analysis
\jour Proceedings of ISP RAS
\yr 2023
\vol 35
\issue 3
\pages 187--204
\mathnet{http://mi.mathnet.ru/tisp796}
\crossref{https://doi.org/10.15514/ISPRAS-2023-35(3)-14}
Linking options:
  • https://www.mathnet.ru/eng/tisp796
  • https://www.mathnet.ru/eng/tisp/v35/i3/p187
  • 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:22
    Full-text PDF :5
     
      Contact us:
     Terms of Use  Registration to the website  Logotypes © Steklov Mathematical Institute RAS, 2024