Propagation and Masking Characteristics of Errors During Software Testing in Synchronous Programming - Kim, Young-Mi; Choi, Jin-Young; Yoo, Seunghoon; Park, Myunghwan (IEEE access, 2024)
During testing, an error in software can either propagate to the output variables or be masked before it reaches them. Error propagation and masking characteristics are crucial in software testing because they directly influence testing effectiveness. The testing community has hence focused on developing test mechanisms to promote the propagation and reduce masking of errors in software under test. However, little is known about how severely the errors propagate and are masked during software execution. Moreover, little is known about what influences software's propagation and masking characteristics. Thus, in this study, we performed experiments to investigate the behavior of errors during software execution. We chose six case examples and created mutants per case example by seeding an error into each one. We then executed the mutants with randomly selected test cases and investigated how many errors were propagated and masked. If an error was masked, we examined the cause. In addition, we investigated what percentage of errors in the mutants reached the output variables. This study provides insight into the characteristics of errors in terms of propagation and masking, which will help testers design test inputs and choose monitoring variables to properly handle the masking of errors during testing.