IBIR: Bug Report driven Fault Injection

12/11/2020
by   Ahmed Khanfir, et al.
0

Much research on software engineering and software testing relies on experimental studies based on fault injection. Fault injection, however, is not often relevant to emulate real-world software faults since it "blindly" injects large numbers of faults. It remains indeed challenging to inject few but realistic faults that target a particular functionality in a program. In this work, we introduce IBIR, a fault injection tool that addresses this challenge by exploring change patterns associated to user-reported faults. To inject realistic faults, we create mutants by retargeting a bug report driven automated program repair system, i.e., reversing its code transformation templates. IBIR is further appealing in practice since it requires deep knowledge of neither of the code nor the tests, but just of the program's relevant bug reports. Thus, our approach focuses the fault injection on the feature targeted by the bug report. We assess IBIR by considering the Defects4J dataset. Experimental results show that our approach outperforms the fault injection performed by traditional mutation testing in terms of semantic similarity with the original bug, when applied at either system or class levels of granularity, and provides better, statistically significant, estimations of test effectiveness (fault detection). Additionally, when injecting 100 faults, IBIR injects faults that couple with the real ones in 36 mutants from mutation testing inject less than 1 functionality and injects realistic and diverse faults.

READ FULL TEXT

page 1

page 4

page 7

page 9

research
12/29/2021

Syntactic Vs. Semantic similarity of Artificial and Real Faults in Mutation Testing Studies

Fault seeding is typically used in controlled studies to evaluate and co...
research
08/29/2019

Analyzing the Context of Bug-Fixing Changes in the OpenStack Cloud Computing Platform

Many research areas in software engineering, such as mutation testing, a...
research
05/26/2018

Combining Spreadsheet Smells for Improved Fault Prediction

Spreadsheets are commonly used in organizations as a programming tool fo...
research
02/13/2018

Fault Localization Models in Debugging

Debugging is considered as a rigorous but important feature of software ...
research
02/23/2021

Using Fault Injection on the Nanosatellite Subsystems Integration Testing

Since the 2000's, an increased number of nanosatellites have accessed sp...
research
03/21/2018

Selecting Fault Revealing Mutants

Mutant selection refers to the problem of choosing, among a large number...
research
01/19/2022

ThorFI: A Novel Approach for Network Fault Injection as a Service

In this work, we present a novel fault injection solution (ThorFI) for v...

Please sign up or login with your details

Forgot password? Click here to reset