Removing Redundant Statements in Amplified Test Cases

W. Oosterbroek, C.E. Brandt, A.E. Zaidman

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

30 Downloads (Pure)

Abstract

Test amplification generates new tests by modifying existing, manually written tests.
Up until now, this process preserves statements that were relevant for the original test case but are no longer needed for the behavior of the new test case.
These unnecessary statements impact the readability of the tests in question.
As a part of the effort to make amplified test cases more readable, we investigate dynamic slicing, taint analysis and static analysis as approaches to remove redundant statements.
We design and evaluate a static analysis approach that we implemented as part of the test amplification tool DSpot.
Our empirical evaluation on 274 amplified test cases shows that the implemented approach works well: while being rudimentary, it is able to remove a significant portion of the redundant statements in the amplified test cases.
While the removal of the statements themselves is fast, verifying that the tests still work as intended through mutation testing is still resource-intensive.
Original languageEnglish
Title of host publication2021 IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM)
Publication statusAccepted/In press - 2021

Fingerprint

Dive into the research topics of 'Removing Redundant Statements in Amplified Test Cases'. Together they form a unique fingerprint.

Cite this