Good Things Come In Threes

Improving Search-based Crash Reproduction With Helper Objectives

Conference Paper (2020)
Author(s)

P. Derakhshanfar (TU Delft - Software Engineering)

Xavier Devroey (TU Delft - Software Engineering)

Andy Zaidman (TU Delft - Software Engineering)

A. Van Deursen (TU Delft - Software Technology)

Annibale Panichella (TU Delft - Software Engineering)

Research Group
Software Engineering
Copyright
© 2020 P. Derakhshanfar, Xavier Devroey, A.E. Zaidman, A. van Deursen, A. Panichella
DOI related publication
https://doi.org/10.1145/3324884.3416643
More Info
expand_more
Publication Year
2020
Language
English
Copyright
© 2020 P. Derakhshanfar, Xavier Devroey, A.E. Zaidman, A. van Deursen, A. Panichella
Research Group
Software Engineering
Pages (from-to)
211-223
ISBN (electronic)
9781450367684
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

Writing a test case reproducing a reported software crash is a common practice to identify the root cause of an anomaly in the software under test. However, this task is usually labor-intensive and time-taking. Hence, evolutionary intelligence approaches have been successfully applied to assist developers during debugging by generating a test case reproducing reported crashes. These approaches use a single fitness function called Crash Distance to guide the search process toward reproducing a target crash. Despite the reported achievements, these approaches do not always successfully reproduce some crashes due to a lack of test diversity (premature convergence). In this study, we introduce a new approach, called MO-HO, that addresses this issue via multi-objectivization. In particular, we introduce two new Helper-Objectives for crash reproduction, namely test length (to minimize) and method sequence diversity (to maximize), in addition to Crash Distance. We assessed MOHO using five multi-objective evolutionary algorithms (NSGA-II, SPEA2, PESA-II, MOEA/D, FEMO) on 124 non-trivial crashes stemming from open-source projects. Our results indicate that SPEA2 is the best-performing multi-objective algorithm for MO-HO. We evaluated this best-performing algorithm for MO-HO against the state-of-the-art: single-objective approach (Single-Objective Search) and decomposition-based multi-objectivization approach (De-MO). Our results show that MO-HO reproduces five crashes that cannot be reproduced by the current state-of-the-art. Besides, MO-HO improves the effectiveness (+10% and +8% in reproduction ratio) and the efficiency in 34.6% and 36% of crashes (i.e., significantly lower running time) compared to Single-Objective Search and De-MO, respectively. For some crashes, the improvements are very large, being up to +93.3% for reproduction ratio and -92% for the required running time.