Log-Based Slicing for System-Level Test Cases
Fri 16 Jul 2021 19:40 - 20:00 at ISSTA 1 - Session 19 (time band 1) Testing 2 Chair(s): Rohan Padhye
Regression testing is arguably one of the most important activities in software testing. However, its cost-effectiveness and usefulness can be largely impaired by complex system test cases that are poorly designed (e.g., test cases containing multiple test scenarios combined into a single test case) and that require a large amount of time and resources to run. One way to mitigate this issue is decomposing such system test cases into smaller, separate test cases—each of them with only one test scenario and with its corresponding assertions—so that the execution time of the decomposed test cases is lower than the original test cases, while the test effectiveness of the original test cases is preserved. This decomposition can be achieved with program slicing techniques, since test cases are software programs too. However, existing static and dynamic slicing techniques exhibit limitations when (1) the test cases use external resources, (2) code instrumentation is not a viable option, and (3) test execution is expensive.
In this paper, we propose a novel approach, called DS3 (Decomposing System teSt caSe), which automatically decomposes a complex system test case into separate test case slices. The idea is to use test case execution logs, obtained from past regression testing sessions, to identify "hidden" dependencies in the slices generated by static slicing. Since logs include run-time information about the system under test, we can use them to extract access and usage of global resources and refine the slices generated by static slicing.
We evaluated DS3 in terms of slicing effectiveness and compared it with a vanilla static slicing tool. We also compared the slices obtained by DS3 with the corresponding original system test cases, in terms of test efficiency and effectiveness. The evaluation results on one proprietary system and one open-source system show that DS3 is able to accurately identify the dependencies related to the usage of global resources, which vanilla static slicing misses. Moreover, the generated test case slices are, on average, 3.56 times faster than original system test cases and they exhibit no significant loss in terms of fault detection effectiveness.
Fri 16 JulDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
08:00 - 09:00 | Session 15 (time band 3) Testing 1Technical Papers at ISSTA 1 Chair(s): Phil McMinn University of Sheffield | ||
08:00 20mTalk | Empirically Evaluating Readily Available Information for Regression Test Optimization in Continuous Integration Technical Papers Daniel Elsner TU Munich, Florian Hauer TU Munich, Alexander Pretschner TU Munich, Silke Reimer IVU Traffic Technologies DOI | ||
08:20 20mTalk | Toward Optimal MC/DC Test Case Generation Technical Papers Sangharatna Godboley National Institute of Technology Warangal, Joxan Jaffar National University of Singapore, Rasool Maghareh Huawei, Arpita Dutta National University of Singapore DOI | ||
08:40 20mTalk | Log-Based Slicing for System-Level Test Cases Technical Papers Salma Messaoudi University of Luxembourg, Donghwan Shin University of Luxembourg, Annibale Panichella Delft University of Technology; University of Luxembourg, Domenico Bianculli University of Luxembourg, Lionel Briand University of Luxembourg; University of Ottawa DOI Media Attached |
18:20 - 20:00 | Session 19 (time band 1) Testing 2Technical Papers at ISSTA 1 Chair(s): Rohan Padhye Carnegie Mellon University | ||
18:20 20mTalk | Model-Based Testing of Networked Applications Technical Papers Yishuai Li University of Pennsylvania, Benjamin C. Pierce University of Pennsylvania, Steve Zdancewic University of Pennsylvania DOI Pre-print | ||
18:40 20mTalk | Validating Static Warnings via Testing Code Fragments Technical Papers Ashwin Kallingal Joshy Iowa State University, Xueyuan Chen Iowa State University, Benjamin Steenhoek Iowa State University, Wei Le Iowa State University DOI | ||
19:00 20mTalk | Gramatron: Effective Grammar-Aware Fuzzing Technical Papers DOI Pre-print Media Attached File Attached | ||
19:20 20mTalk | Empirically Evaluating Readily Available Information for Regression Test Optimization in Continuous Integration Technical Papers Daniel Elsner TU Munich, Florian Hauer TU Munich, Alexander Pretschner TU Munich, Silke Reimer IVU Traffic Technologies DOI | ||
19:40 20mTalk | Log-Based Slicing for System-Level Test Cases Technical Papers Salma Messaoudi University of Luxembourg, Donghwan Shin University of Luxembourg, Annibale Panichella Delft University of Technology; University of Luxembourg, Domenico Bianculli University of Luxembourg, Lionel Briand University of Luxembourg; University of Ottawa DOI Media Attached |