Experimental Analysis of Binary-Level Software Fault Injection in Complex Software

  • Authors:
  • Domenico Cotroneo;Anna Lanzaro;Roberto Natella;Ricardo Barbosa

  • Affiliations:
  • -;-;-;-

  • Venue:
  • EDCC '12 Proceedings of the 2012 Ninth European Dependable Computing Conference
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

The injection of software faults (i.e., bugs) by mutating the binary executable code of a program enables the experimental dependability evaluation of systems for which the source code is not available. This approach requires that programming constructs used in the source code should be identified by looking only at the binary code, since the injection is performed at this level. Unfortunately, it is a difficult task to inject faults in the binary code that correctly emulate software defects in the source code. The accuracy of binary-level software fault injection techniques is therefore a major concern for their adoption in real-world scenarios. In this work, we propose a method for assessing the accuracy of binary-level fault injection, and provide an extensive experimental evaluation of a binary-level technique, G-SWFIT, in order to assess its limitations in a real-world complex software system. We injected more than 12 thousand binary-level faults in the OS and application code of the system, and we compared them with faults injected in the source code by using the same fault types of G-SWFIT. The method was effective at highlighting the pitfalls that can occur in the implementation of G-SWFIT. Our analysis shows that G-SWFIT can achieve an improved degree of accuracy if these pitfalls are avoided.