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, 2018, Volume 30, Issue 4, Pages 95–106
DOI: https://doi.org/10.15514/ISPRAS-2018-30(4)-6
(Mi tisp349)
 

Combining ACSL specifications and machine code

P. A. Putro

National Research University Higher School of Economics
References:
Abstract: When developing programs in high-level languages, developers have to make assumptions about the correctness of the compiler. However, this may be unacceptable for critical systems. As long as there are no full-fledged formally verified compilers, the author proposes to solve this problem by proving the correctness of the generated machine code by deductive verification. To achieve this goal, it is required to combine the pre- and postcondition specifications with the machine code behavior model. The paper presents an approach how to combine them for the case of C functions without loops. The essence of the approach is to build models, both machine code and its specifications in a single logical language, and use target processor ABI to bind machine registers with the parameters of the high-level function. For the successful implementation of this approach, you have to take a number of measures to ensure the compatibility of the high-level specification model with the machine code behavior model. Such measures include the use of a register type in the high-level specifications and the translation of the pre- and postconditions into the abstract predicates. Also in the paper the choice of logical language for building models is made and justified, the most suitable tools for implementing the approach of merging specifications are selected and the evaluation of the system of deductive verification of machine code built on the basis of the proposed approach is made using test examples obtained by compiling C programs without loops.
Keywords: deductive verification, formal methods, machine code, ACSL.
Bibliographic databases:
Document Type: Article
Language: English
Citation: P. A. Putro, “Combining ACSL specifications and machine code”, Proceedings of ISP RAS, 30:4 (2018), 95–106
Citation in format AMSBIB
\Bibitem{Put18}
\by P.~A.~Putro
\paper Combining ACSL specifications and machine code
\jour Proceedings of ISP RAS
\yr 2018
\vol 30
\issue 4
\pages 95--106
\mathnet{http://mi.mathnet.ru/tisp349}
\crossref{https://doi.org/10.15514/ISPRAS-2018-30(4)-6}
\elib{https://elibrary.ru/item.asp?id=35544588}
Linking options:
  • https://www.mathnet.ru/eng/tisp349
  • https://www.mathnet.ru/eng/tisp/v30/i4/p95
  • 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:141
    Full-text PDF :106
    References:26
     
      Contact us:
     Terms of Use  Registration to the website  Logotypes © Steklov Mathematical Institute RAS, 2024