Title | : | Mahtab: Phase-wise acceleration of regression testing for C |
Speaker | : | Shouvick Mondal (IITM) |
Details | : | Fri, 8 Nov, 2019 2:00 PM @ AM Turing Hall |
Abstract: | : | Software regression testing consists of offline, online , and execution phases which are executed sequentially. The offline phase involves code instrumentation and test-coverage collection. Subsequently, the online phase performs program differencing, test-suite selection and prioritization. Finally, the selected test-cases are executed against the new version of software for its re-validation. Regression testing is a time-consuming process and is often on the critical path of the project. To improve the turn-around time of software development cycle, our goal is to reduce regression testing time across all phases using multi-core parallelization. This poses several challenges that stem from I/O, dependence on third-party libraries, and inherently sequential components in the overall testing process. We propose parallelization test-windows to effectively partition test-cases across threads. To measure the benefit of prioritization coupled with multi-threaded execution, we propose a new metric, EPSilon , for rewarding failure observation frequency in the timeline of test-execution. To measure the rate of code-change coverage due to regression test prioritization, we introduce ECC, a variant of the widely used APFD metric. We illustrate the effectiveness of our approach using the popular Software-artifact Infrastructure Repository (SIR) and five real-world projects from GitHub. Link to publication: https://doi.org/10.1016/j.jss.2019.110403 Link to tool: http://dx.doi.org/10.17632/7fvwj88jvm.2 |