Regression testing is used to perform re-validation of evolving software. However, most existing techniques for regression testing focus exclusively on single-process applications, but to date, no work has considered regression testing for software involving multiple processes or event handlers (e.g., software signals) at the system-level. The unique characteristics of concurrency control mechanism employed at the system-level can affect the static and dynamic analysis techniques on which existing regression testing approaches rely. Therefore, applying these approaches can result in inadequately tested software during maintenance, and ultimately impair software quality. In this paper, we propose SimEvo, the first regression testing techniques for multi-process applications. SimEvo employs novel impact analysis techniques to identify system-level concurrent events that are affected by the changes. It then reuses existing test cases, as well as generating new test cases, focused on the set of impacted events, to effectively and efficiently explore the newly updated concurrent behaviors. Our empirical study on a set of real-world Linux applications shows that SimEvo is more cost-effective in achieving high inter-process coverage and revealing real world system-level concurrency faults than other approaches.
|Title of host publication||Proceedings - 2017 IEEE International Conference on Software Maintenance and Evolution, ICSME 2017|
|Number of pages||12|
|State||Published - Nov 2 2017|
|Event||2017 IEEE International Conference on Software Maintenance and Evolution, ICSME 2017 - Shanghai, China|
Duration: Sep 19 2017 → Sep 22 2017
|Name||Proceedings - 2017 IEEE International Conference on Software Maintenance and Evolution, ICSME 2017|
|Conference||2017 IEEE International Conference on Software Maintenance and Evolution, ICSME 2017|
|Period||9/19/17 → 9/22/17|
Bibliographical noteFunding Information:
This work was supported in part by NSF grants CCF-464032 and CCF-1652149.
© 2017 IEEE.
ASJC Scopus subject areas
- Safety, Risk, Reliability and Quality