TL;DR
This paper presents a source-level dependency minimization technique to repair Java test cases, enabling automated bug bisection even when legacy revisions fail to compile due to incompatible Java versions.
Contribution
It introduces a novel source-level minimization approach that repairs build failures and fixes compile-time errors, improving automation in bug bisection for Java projects.
Findings
Most subjects repaired solely by minimization
Replicated original test results after repair
Minimal overhead added to bisection process
Abstract
Context: Bug bisection is a common technique used to identify a revision that introduces a bug or indirectly fixes a bug, and often involves executing multiple revisions of a project to determine whether the bug is present within the revision. However, many legacy revisions often cannot be successfully compiled due to changes in the programming language or tools used in the compilation process, adding complexity and preventing automation in the bisection process. Objective: In this paper, we introduce an approach to repair test cases of Java projects by performing dependency minimization. Our approach aims to remove classes and methods that are not required for the execution of one or more test cases. Unlike existing state-of-the-art techniques, our approach performs minimization at source-level, which allows compile-time errors to be fixed. Method: A standalone Java tool…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
