Back to Search Start Over

Faultprog: Testing the Accuracy of Binary-Level Software Fault Injection

Authors :
Roberto Natella
Domenico Cotroneo
Anna Lanzaro
Cotroneo, Domenico
Lanzaro, Anna
Natella, Roberto
Source :
IEEE Transactions on Dependable and Secure Computing. 15:40-53
Publication Year :
2018
Publisher :
Institute of Electrical and Electronics Engineers (IEEE), 2018.

Abstract

Off-The-Shelf (OTS) software components are the cornerstone of modern systems, including safety-critical ones. However, the dependability of OTS components is uncertain due to the lack of source code, design artifacts and test cases, since only their binary code is supplied. Fault injection in components’ binary code is a solution to understand the risks posed by buggy OTS components. In this paper, we consider the problem of the accurate mutation of binary code for fault injection purposes. Fault injection emulates bugs in high-level programming constructs (assignments, expressions, function calls, ...) by mutating their translation in binary code. However, the semantic gap between the source code and its binary translation often leads to inaccurate mutations. We propose Faultprog , a systematic approach for testing the accuracy of binary mutation tools. Faultprog automatically generates synthetic programs using a stochastic grammar, and mutates both their binary code with the tool under test, and their source code as reference for comparisons. Moreover, we present a case study on a commercial binary mutation tool, where Faultprog was adopted to identify code patterns and compiler optimizations that affect its mutation accuracy.

Details

ISSN :
15455971
Volume :
15
Database :
OpenAIRE
Journal :
IEEE Transactions on Dependable and Secure Computing
Accession number :
edsair.doi.dedup.....10d1149654c72dd8e37e8fe78f61335e