Test Dependency Minimization for Java Programs

The Hong Kong University of Science and Technology
Department of Computer Science and Engineering


MPhil Thesis Defence


Title: "Test Dependency Minimization for Java Programs"

By

Mr. Ching Hang MAK


Abstract:

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, the standard library, or tools used
in the compilation process, adding significant complexity and preventing
automation in the bisection process.

In this thesis, 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 the source-level, which allows compile-time errors to be fixed. We also
propose some optimizations that improve the precision of detecting reachability
in a dynamic dispatch context.

We evaluate our technique using subjects from Defects4J retargeted against Java
8, 11, and 17. Our evaluation showed that a number of subjects can be repaired
solely by performing minimization, including replicating the test results of
the original version. Furthermore, the proposed optimizations for the
minimization technique is also shown to be useful, as a majority of subjects
demonstrated an increase in precision after applying optimizations.

This technique can also be adapted for use cases such as bug corpus creation,
test case dependency minimization, and refactoring.


Date: 			Tuesday, 23 May 2023

Time: 			2:30pm - 4:30pm

Venue: 			Room 5566
			lifts 27/28

Committee Members: 	Prof. Shing-Chi Cheung (Supervisor)
			Dr. Lionel Parreaux (Chairperson)
			Dr. Desmond Tsoi


**** ALL are Welcome ****