Advanced search
Start date
Betweenand


Model-Driven Fault Injection in Java Source Code

Full text
Author(s):
Rodrigues Jr, Elder ; Montecchi, Leonardo ; Ceccarelli, Andrea ; Vieira, M ; Madeira, H ; Antunes, N ; Zheng, Z
Total Authors: 7
Document type: Journal article
Source: 2020 IEEE 31ST INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE 2020); v. N/A, p. 12-pg., 2020-01-01.
Abstract

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. (AU)

FAPESP's process: 18/11129-8 - A metamodel to support the formalization of coding conventions
Grantee:Elder de Oliveira Rodrigues Júnior
Support Opportunities: Scholarships in Brazil - Master
FAPESP's process: 19/06799-7 - Formalization of coding conventions for safety-critical systems
Grantee:Elder de Oliveira Rodrigues Júnior
Support Opportunities: Scholarships abroad - Research Internship - Master's degree