ReduJavator: A Tool to Simplify Developer-Written Java Unit Tests
A failing test is used by developers to debug the program to fix the bug. Failing test may contain components irrelevant to the bug. Test reduction reduces a failing test while keeping the failure inducing component. The reduced test helps developer to quickly locate the bug. Test reduction techniqu...
Saved in:
Published in | Proceedings of ... International Conference on Data and Software Engineering (ICoDSE) (Online) pp. 199 - 204 |
---|---|
Main Authors | , , |
Format | Conference Proceeding |
Language | English |
Published |
IEEE
30.10.2024
|
Subjects | |
Online Access | Get full text |
ISSN | 2640-0227 |
DOI | 10.1109/ICoDSE63307.2024.10829914 |
Cover
Loading…
Summary: | A failing test is used by developers to debug the program to fix the bug. Failing test may contain components irrelevant to the bug. Test reduction reduces a failing test while keeping the failure inducing component. The reduced test helps developer to quickly locate the bug. Test reduction techniques like Delta Debugging or Hierarchical Delta Debugging and its variants treat test as a series of input or a tree. Most current techniques and tools are implemented considering a generic tree for different test input types. If we focus on a test written in a particular programming language, we can exploit the structure of the Abstract Syntax Tree (AST) for the test, different statement types, their interdependence and etc. We propose a new tool ReduJavator to reduce Java unit tests while leveraging the AST and its components generated using JavaParser. We also demonstrate that ReduJavator is highly applicable and accurate. For 30 real-world bugs taken from defects4j bug database, it has 94.29% precision and 100% recall. For 30 artificially injected bugs for open source projects, it has 93.85% precision and 90.67% recall. |
---|---|
ISSN: | 2640-0227 |
DOI: | 10.1109/ICoDSE63307.2024.10829914 |