Detailed Information on Publication Record
2020
Compiling C and C++ Programs for Dynamic White-Box Analysis
BARANOVÁ, Zuzana and Petr ROČKAIBasic information
Original name
Compiling C and C++ Programs for Dynamic White-Box Analysis
Authors
BARANOVÁ, Zuzana (703 Slovakia, belonging to the institution) and Petr ROČKAI (703 Slovakia, belonging to the institution)
Edition
Cham, Workshop on Practical Formal Verification for Software Dependability (AFFORD 2019), p. 30-45, 16 pp. 2020
Publisher
Springer International Publishing
Other information
Language
English
Type of outcome
Stať ve sborníku
Field of Study
10201 Computer sciences, information science, bioinformatics
Country of publisher
Switzerland
Confidentiality degree
není předmětem státního či obchodního tajemství
Publication form
printed version "print"
Impact factor
Impact factor: 0.402 in 2005
RIV identification code
RIV/00216224:14330/20:00115150
Organization unit
Faculty of Informatics
ISBN
978-3-030-54993-0
ISSN
Keywords in English
DIVINE; automated compilation; formal verification; model checking; C; C++
Tags
International impact, Reviewed
Změněno: 31/10/2020 02:42, RNDr. Petr Ročkai, Ph.D.
Abstract
V originále
Building software packages from source is a complex and highly technical process. For this reason, most software comes with build instructions which have both a human-readable and an executable component. The latter in turn requires substantial infrastructure, which helps software authors deal with two major sources of complexity: first, generation and management of various build artefacts and their dependencies, and second, the differences between platforms, compiler toolchains and build environments. This poses a significant problem for white-box analysis tools, which often require that the source code of the program under test is compiled into an intermediate format, like the LLVM IR. In this paper, we present divcc, a drop-in replacement for C and C++ compilation tools which transparently fits into existing build tools and software deployment solutions. Additionally, divcc generates intermediate and native code in a single pass, ensuring that the final executable is built from the intermediate code that is being analysed.