학술논문

On Understanding Contextual Changes of Failures
Document Type
Conference
Source
2021 IEEE 21st International Conference on Software Quality, Reliability and Security (QRS) QRS Software Quality, Reliability and Security (QRS), 2021 IEEE 21st International Conference on. :1036-1047 Dec, 2021
Subject
Computing and Processing
Java
Conferences
Transforms
Software quality
Maintenance engineering
Software reliability
Security
program comprehension
program mutation
program repair
Language
ISSN
2693-9177
Abstract
Recent studies show that many real-world software faults are due to slight modifications (mutations) to the program. Thus, analyzing transformations made by a developer and associating them with well-known mutation operators can help pinpoint and repair the root cause of failures. This paper proposes a mutation operator inference technique: given the original program and one of its subsequent forms, it infers which mutation operators would transform the original and produce such a version. Moreover, we implemented this technique as a tool called Morpheus, which analyzes faulty Java programs. We have also validated both the technique and tool by analyzing a repository with 1753 modifications for 20 different programs, successfully inferring mutation operators 78% of times. Furthermore, we also show that several program versions result from not just a single mutation operator but multiple ones. In the end, we resort to real-world case studies to demonstrate the advantages of this approach regarding program repair.