Removing Redundant Statements in Amplified Test Cases

Conference Paper (2021)
Author(s)

W. Oosterbroek (Student TU Delft)

Carolin Brandt (TU Delft - Software Engineering)

Andy Zaidman (TU Delft - Software Engineering)

Research Group
Software Engineering
Copyright
© 2021 W. Oosterbroek, C.E. Brandt, A.E. Zaidman
DOI related publication
https://doi.org/10.1109/SCAM52516.2021.00037
More Info
expand_more
Publication Year
2021
Language
English
Copyright
© 2021 W. Oosterbroek, C.E. Brandt, A.E. Zaidman
Research Group
Software Engineering
Bibliographical Note
Green Open Access added to TU Delft Institutional Repository ‘You share, we take care!’ – Taverne project https://www.openaccess.nl/en/you-share-we-take-care Otherwise as indicated in the copyright section: the publisher is the copyright holder of this work and the author uses the Dutch legislation to make this work public. @en
Pages (from-to)
242-246
ISBN (print)
978-1-6654-4897-0
ISBN (electronic)
9781665448970
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

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.

Files

Removing_Redundant_Statements_... (pdf)
(pdf | 1.02 Mb)
- Embargo expired in 01-07-2022
License info not available