Using Off-the-Shelf Exception Support Components in C++ Verification

Logo poskytovatele

Varování

Publikace nespadá pod Pedagogickou fakultu, ale pod Fakultu informatiky. Oficiální stránka publikace je na webu muni.cz.
Autoři

ŠTILL Vladimír ROČKAI Petr BARNAT Jiří

Rok publikování 2017
Druh Článek ve sborníku
Konference IEEE International Conference on Software Quality, Reliability and Security - QRS 2017
Fakulta / Pracoviště MU

Fakulta informatiky

Citace
www http://ieeexplore.ieee.org/document/8009908/
Doi http://dx.doi.org/10.1109/QRS.2017.15
Obor Informatika
Klíčová slova C++; Exceptions; Verification; Testing; Model Checking; DIVINE
Popis 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.
Související projekty:

Používáte starou verzi internetového prohlížeče. Doporučujeme aktualizovat Váš prohlížeč na nejnovější verzi.