Fit2Crash: Specialising Fitness Functions for Crash Reproduction
Shang Xiang (TU Delft - Electrical Engineering, Mathematics and Computer Science)
Andy Zaidman – Mentor (TU Delft - Electrical Engineering, Mathematics and Computer Science)
Annibale Panichella – Graduation committee member (TU Delft - Electrical Engineering, Mathematics and Computer Science)
Jesper Cockx – Graduation committee member (TU Delft - Electrical Engineering, Mathematics and Computer Science)
Xavier Devroey – Mentor (TU Delft - Electrical Engineering, Mathematics and Computer Science)
Pouria Derakhshanfar – Mentor (TU Delft - Electrical Engineering, Mathematics and Computer Science)
More Info
expand_more
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
Software applications inevitably crash, and it is time-consuming to recreate the crash conditions for debugging. Recently, researchers have developed frameworks relying on genetic algorithms, e.g. Botsing, for automated crash reproduction. However, the existing approaches process exceptions of different types as if they were the same. In this thesis, we study how the four most common types of Java exceptions are thrown and define specialised fitness functions for them. We have extended Botsing and carried out an evaluation against 52 real-world crashes from seven various open-source software applications. Our results show that our proposed fitness functions influence both the effectiveness and efficiency, negatively or positively depending on the type of the target exception. This thesis demonstrates how tailoring the fitness functions according to the exception type can improve search-based crash reproduction.