Automated test suite generation for software product lines based on quality-diversity optimisation

Yi Xiang, Han Huang, Sizhe Li, Miqing Li, Chuan Luo, Xiaowei Yang

Research output: Contribution to journalArticlepeer-review

Abstract

A Software Product Line (SPL) is a set of software products that are built from a variability model. Real-world SPLs typically involve a vast number of valid products, making it impossible to individually test each of them. This arises the need for automated test suite generation, which was previously modeled as either a single-objective or a multi-objective optimization problem considering only objective functions. This article provides a completely different mathematical model by exploiting the benefits of Quality-Diversity (QD) optimization that is composed of not only an objective function (e.g., t-wise coverage or test suite diversity) but also a user-defined behavior space (e.g., the space with test suite size as its dimension). We argue that the new model is more suitable and generic than the two alternatives because it provides at a time a large set of diverse (measured in the behavior space) and high-performing solutions that can ease the decision-making process. We apply MAP-Elites, one of the most popular QD algorithms, to solve the model. The results of the evaluation, on both realistic and artificial SPLs, are promising, with MAP-Elites significantly and substantially outperforming both single- and multi-objective approaches, and also several state-of-the-art SPL testing tools. In summary, this article provides a new and promising perspective on the test suite generation for SPLs.
Original languageEnglish
Article number46
Pages (from-to)1–52
JournalACM Transactions on Software Engineering and Methodology
Volume33
Issue number2
Early online date16 Oct 2023
DOIs
Publication statusPublished - Feb 2024

Fingerprint

Dive into the research topics of 'Automated test suite generation for software product lines based on quality-diversity optimisation'. Together they form a unique fingerprint.

Cite this