Detailed Information on Publication Record
2017
Using Off-the-Shelf Exception Support Components in C++ Verification
ŠTILL, Vladimír, Petr ROČKAI and Jiří BARNATBasic information
Original name
Using Off-the-Shelf Exception Support Components in C++ Verification
Authors
ŠTILL, Vladimír (203 Czech Republic, belonging to the institution), Petr ROČKAI (703 Slovakia, belonging to the institution) and Jiří BARNAT (203 Czech Republic, guarantor, belonging to the institution)
Edition
Neuveden, IEEE International Conference on Software Quality, Reliability and Security - QRS 2017, p. 54-64, 11 pp. 2017
Publisher
IEEE
Other information
Language
English
Type of outcome
Stať ve sborníku
Field of Study
10201 Computer sciences, information science, bioinformatics
Confidentiality degree
není předmětem státního či obchodního tajemství
Publication form
electronic version available online
References:
RIV identification code
RIV/00216224:14330/17:00095127
Organization unit
Faculty of Informatics
ISBN
978-1-5386-0592-9
UT WoS
000426842400006
Keywords in English
C++; Exceptions; Verification; Testing; Model Checking; DIVINE
Tags
International impact, Reviewed
Změněno: 1/10/2018 16:25, prof. RNDr. Jiří Barnat, Ph.D.
Abstract
V originále
An important step toward adoption of formal methods in software development is support for mainstream programming languages. Unfortunately, these languages are often rather complex and come with substantial standard libraries. However, by choosing a suitable intermediate language, most of the complexity can be delegated to existing execution-oriented (as opposed to verification-oriented) compiler frontends and standard library implementations. In this paper, we describe how support for C++ exceptions can take advantage of the same principle. Our work is based on DiVM, an LLVM-derived, verification-friendly intermediate language. Our implementation consists of 2 parts: an implementation of the 'libunwind' platform API which is linked to the program under test and consists of 9 C functions. The other part is a preprocessor for LLVM bitcode which prepares exception-related metadata and replaces associated special-purpose LLVM instructions.
Links
GA15-08772S, research and development project |
| ||
MUNI/A/0897/2016, interní kód MU |
| ||
MUNI/A/0992/2016, interní kód MU |
|