Single-objective versus Multi-Objectivized Optimization for Evolutionary Crash Reproduction

Conference Paper (2018)
Authors

Mozhan Soltani (TU Delft - Software Engineering)

P. Derakhshanfar (TU Delft - Software Engineering)

A. Panichella (TU Delft - Software Engineering)

Xavier Devroey (TU Delft - Software Engineering)

AE Zaidman (TU Delft - Software Engineering)

Arie van Deursen (TU Delft - Software Technology)

Research Group
Software Engineering
Copyright
© 2018 M. Soltani, P. Derakhshanfar, A. Panichella, Xavier Devroey, A.E. Zaidman, A. van Deursen
To reference this document use:
https://doi.org/10.1007/978-3-319-99241-9_18
More Info
expand_more
Publication Year
2018
Language
English
Copyright
© 2018 M. Soltani, P. Derakhshanfar, A. Panichella, Xavier Devroey, A.E. Zaidman, A. van Deursen
Research Group
Software Engineering
Bibliographical Note
Green Open Access added to TU Delft Institutional Repository ‘You share, we take care!’ – Taverne project https://www.openaccess.nl/en/you-share-we-take-care Otherwise as indicated in the copyright section: the publisher is the copyright holder of this work and the author uses the Dutch legislation to make this work public. @en
Pages (from-to)
325-340
ISBN (print)
78-3-319-99240-2
ISBN (electronic)
978-3-319-99241-9
DOI:
https://doi.org/10.1007/978-3-319-99241-9_18
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

EvoCrash is a recent search-based approach to generate a test case that reproduces reported crashes. The search is guided by a fitness function that uses a weighted sum scalarization to combine three different heuristics: (i) code coverage, (ii) crash coverage and (iii) stack trace similarity. In this study, we propose and investigate two alternatives to the weighted sum scalarization: (i) the simple sum scalarization and (ii) the multi-objectivization, which decomposes the fitness function into several optimization objectives as an attempt to increase test case diversity. We implemented the three alternative optimizations as an extension of EvoSuite, a popular search-based unit test generator, and applied them on 33 real-world crashes. Our results indicate that for complex crashes the weighted sum reduces the test case generation time, compared to the simple sum, while for simpler crashes the effect is the opposite. Similarly, for complex crashes, multi-objectivization reduces test generation time compared to optimizing with the weighted sum; we also observe one crash that can be replicated only by multi-objectivization. Through our manual analysis, we found out that when optimizing the original weighted function gets trapped in local optima, optimization for decomposed objectives improves the search for crash reproduction. Generally, while multi-objectivization is under-explored, our results are promising and encourage further investigations of the approach.

Files

Soltani2018_Chapter_Single_obj... (pdf)
(pdf | 0 Mb)
- Embargo expired in 04-07-2022
License info not available