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, 2015, Volume 27, Issue 4, Pages 49–68
DOI: https://doi.org/10.15514/ISPRAS-2015-27(4)-4
(Mi tisp164)
 

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

Towards deductive verification of C programs with shared data

M. U. Mandrykina, A. V. Khoroshilovbacd

a Institute for System Programming of the Russian Academy of Sciences
b Moscow Institute of Physics and Technology
c Lomonosov Moscow State University
d Higher School of Economics, National Research University
Full-text PDF (346 kB) Citations (1)
References:
Abstract: The paper takes a look at the problem of deductive verification of Linux kernel code that is concurrent and involves accesses to shared data and interactions with highly concurrent environment. The presence of shared data does not allow to apply traditional deductive verification techniques based solely on function contracts and loop invariants, so we consider verification of such code using type invariants and a particular object-oriented methodology. For Linux kernel modules one of the usual goals of deductive verification is a formal proof of the code's compliance to a specification of a synchronization discipline. We propose formalizing both the synchronization discipline and the required properties of the code in terms of ownership methodology with locally checked invariants (LCI) that was previously successfully applied for verifying the Microsoft Hyper-V Hypervisor with VCC deductive verification tool. However to maintain good compatibility with the various specific C features and extensions used in the Linux kernel code, efficiently handle data type representations with many large nested structure definitions and provide a reacher specification language we propose using Frama-C static analysis platform with its ACSL specification language and Jessie plugin for deductive verification as these tools have shown a good applicability to verification of sequential Linux kernel code fragments in the course of the Astraver project. The paper presents preliminary discussion of issues arising from integration of support for the ownership methodology and LCI into both the ACSL specification language and its underlying toolset. In particular, the issue of reusing existing ACSL specifications in sequential context and the related issue of establishing a correspondence between ACSL notion of validity and LCI notions of owned, wrapped and closed object are discussed. The overall approach to specification of concurrent kernel code using ownership methodology, LCI and ACSL specification language is demonstrated on examples of spinlock specification and a simplified specification of RCU (Read-copy-update) API.
Keywords: Verification, concurrency, invariants, C programming language.
Funding agency Grant number
Ministry of Education and Science of the Russian Federation RFMEFI60414X0051
Bibliographic databases:
Document Type: Article
Language: Russian
Citation: M. U. Mandrykin, A. V. Khoroshilov, “Towards deductive verification of C programs with shared data”, Proceedings of ISP RAS, 27:4 (2015), 49–68
Citation in format AMSBIB
\Bibitem{ManKho15}
\by M.~U.~Mandrykin, A.~V.~Khoroshilov
\paper Towards deductive verification of C programs with shared data
\jour Proceedings of ISP RAS
\yr 2015
\vol 27
\issue 4
\pages 49--68
\mathnet{http://mi.mathnet.ru/tisp164}
\crossref{https://doi.org/10.15514/ISPRAS-2015-27(4)-4}
\elib{https://elibrary.ru/item.asp?id=24928723}
Linking options:
  • https://www.mathnet.ru/eng/tisp164
  • https://www.mathnet.ru/eng/tisp/v27/i4/p49
  • 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:148
    Full-text PDF :57
    References:24
     
      Contact us:
     Terms of Use  Registration to the website  Logotypes © Steklov Mathematical Institute RAS, 2024