Modelirovanie i Analiz Informatsionnykh Sistem
RUS  ENG    JOURNALS   PEOPLE   ORGANISATIONS   CONFERENCES   SEMINARS   VIDEO LIBRARY   PACKAGE AMSBIB  
General information
Latest issue
Archive
Impact factor

Search papers
Search references

RSS
Latest issue
Current issues
Archive issues
What is RSS



Model. Anal. Inform. Sist.:
Year:
Volume:
Issue:
Page:
Find






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


Modelirovanie i Analiz Informatsionnykh Sistem, 2010, Volume 17, Number 4, Pages 111–124 (Mi mais41)  

F@BOOL@: experiment with a simple verifying compiler based on SAT-solvers

N. V. Shilovabc

a Novosibirsk State Technical University
b A. P. Ershov Institute of Informatics Systems Sib. Br. RAS
c Novosibirsk State University
References:
Abstract: A verifying compiler is a system computer program that translates programs written by man from a high-level language into equivalent executable programs, and besides, proves (verifies) mathematical statements specified by man about the properties of the programs being translated. The purpose of the F@BOOL@ project is to develop a transparent for users, compact and portable verifying compiler F@BOOL@ for annotated computational programs, that uses effective and sound automatic SAT-solvers (i.e. programs that check satisfiability of prepositional Boolean formulas in the conjunctive normal form) as means of automatic validation of correctness conditions (instead of semi-automatic proof techniques). The key idea is Boolean representation of all data instead of Boolean abstraction or first-order representation. (It makes difference between F@BOOL@ and SLAM.) Our project is aimed at the verification of functional properties, and it assumes generation of first-order verification conditions (from invariants), and the validation/refutation of each verification condition using SAT-solvers after “conservative” translation of the verification conditions into Boolean form. During the period from 2006 to 2009, a popular (at that time) SAT-solver zChaff was used in the F@BOOL@ project. The first three verification experiments that have been exercised with its help are listed below: swapping values of two variables, checking whether three input values are lengths of sides of an equilateral or isosceles triangle, and detecting a unique fake in a set of 15 coins. The paper presents general outlines of the project and details of the last (the most extensive) experiment.
Keywords: formal program verification, operational and transformational semantics, Floyd–Hoare proof technique, correctness conditions, SAT-solvers.
Received: 26.10.2010
Document Type: Article
UDC: 519.681+519.682.1
Language: Russian
Citation: N. V. Shilov, “F@BOOL@: experiment with a simple verifying compiler based on SAT-solvers”, Model. Anal. Inform. Sist., 17:4 (2010), 111–124
Citation in format AMSBIB
\Bibitem{Shi10}
\by N.~V.~Shilov
\paper F@BOOL@: experiment with a simple verifying compiler based on SAT-solvers
\jour Model. Anal. Inform. Sist.
\yr 2010
\vol 17
\issue 4
\pages 111--124
\mathnet{http://mi.mathnet.ru/mais41}
Linking options:
  • https://www.mathnet.ru/eng/mais41
  • https://www.mathnet.ru/eng/mais/v17/i4/p111
  • Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Моделирование и анализ информационных систем
     
      Contact us:
     Terms of Use  Registration to the website  Logotypes © Steklov Mathematical Institute RAS, 2024