2017
Using Off-the-Shelf Exception Support Components in C++ Verification
ŠTILL, Vladimír, Petr ROČKAI a Jiří BARNATZákladní údaje
Originální název
Using Off-the-Shelf Exception Support Components in C++ Verification
Autoři
ŠTILL, Vladimír (203 Česká republika, domácí), Petr ROČKAI (703 Slovensko, domácí) a Jiří BARNAT (203 Česká republika, garant, domácí)
Vydání
Neuveden, IEEE International Conference on Software Quality, Reliability and Security - QRS 2017, od s. 54-64, 11 s. 2017
Nakladatel
IEEE
Další údaje
Jazyk
angličtina
Typ výsledku
Stať ve sborníku
Obor
10201 Computer sciences, information science, bioinformatics
Utajení
není předmětem státního či obchodního tajemství
Forma vydání
elektronická verze "online"
Odkazy
Kód RIV
RIV/00216224:14330/17:00095127
Organizační jednotka
Fakulta informatiky
ISBN
978-1-5386-0592-9
UT WoS
000426842400006
Klíčová slova anglicky
C++; Exceptions; Verification; Testing; Model Checking; DIVINE
Příznaky
Mezinárodní význam, Recenzováno
Změněno: 1. 10. 2018 16:25, prof. RNDr. Jiří Barnat, Ph.D.
Anotace
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.
Návaznosti
GA15-08772S, projekt VaV |
| ||
MUNI/A/0897/2016, interní kód MU |
| ||
MUNI/A/0992/2016, interní kód MU |
|