Conference Paper

Model-Driven Fault Injection in Java Source Code

PDF Online

Authors Elder de Oliveira Rodrigues Jr. Leonardo Montecchi Andrea Ceccarelli
The injection of software faults in source code requires accurate knowledge of the programming language, both to craft faults and to identify injection locations. As such, fault injection and code mutation tools are typically tailored for a specific language and have limited extensibility. In this paper we present a model-driven approach to craft and inject software faults in source code. While its concrete application is presented for Java, the workflow we propose does not depend on a specific programming language. Following Model-Driven Engineering principles, the faults and the criteria to select injection locations are described using structured, machine-readable specifications based on a domain-specific language. Then, automated transformations craft artifacts based on OCL and Java, which represent the faults to be injected and are able to select the candidate injection locations. Finally, artifacts are executed against the target source code, performing the injection in the desired locations. We devise a supporting tool and exercise the approach injecting 13 different kinds of software faults in the Java source code of six different projects.
DOI 10.1109/ISSRE5003.2020.00046
Event 31st International Symposium on Software Reliability Engineering (ISSRE 2020)
Venue Coimbra, Portugal
Date October 12-15, 2020
Pages 414-425
Publisher IEEE
ISBN ELECTRONIC: 978-1-7281-9870-5
ONDEMAND: 978-1-7281-9871-2
  author = {de Oliveira Rodrigues Jr., Elder and Montecchi, Leonardo and Ceccarelli, Andrea},
  title = {{Model-Driven Fault Injection in Java Source Code}},
  booktitle = {31st International Symposium on Software Reliability Engineering (ISSRE 2020)},
  address = {Coimbra, Portugal},
  date = {2020-10-12/2020-10-15},
  pages = {414-425},
  year = {2020}

Plain Text
E. Rodrigues Jr., L. Montecchi, A. Ceccarelli. Model-Driven Fault Injection in Java Source Code. In: 31st International Symposium on Software Reliability Engineering (ISSRE 2020), pp. 414-425. Coimbra, Portugal, October 12-15, 2020.

© 2017-2020 Leonardo Montecchi