Many-objective test suite generation for software product lines

Robert M. Hierons, Miqing Li, Xiaohui Liu, Jose Antonio Parejo, Sergio Segura, Xin Yao

Research output: Contribution to journalArticlepeer-review

311 Downloads (Pure)


A Software Product Line (SPL) is a set of products built from a number of features, the set of valid products being defined by a feature model. Typically, it does not make sense to test all products defined by an SPL and one instead chooses a set of products to test (test selection) and, ideally, derives a good order in which to test them (test prioritisation). Since one cannot know in advance which products will reveal faults, test selection and prioritisation are normally based on objective functions that are known to relate to likely effectiveness or cost. This paper introduces a new technique, the grid-based evolution strategy (GrES), which considers several objective functions that assess a selection or prioritisation and aims to optimise on all of these. The problem is thus a many-objective optimisation problem. We use a new approach, in which all of the objective functions are considered but one (pairwise coverage) is seen as the most important. We also derive a novel evolution strategy based on domain knowledge. The results of the evaluation, on randomly generated and realistic feature models, were promising, with GrES outperforming previously proposed techniques and a range of many-objective optimisation algorithms.
Original languageEnglish
Article number2
Number of pages45
JournalACM Transactions on Software Engineering and Methodology
Issue number1
Publication statusPublished - 31 Jan 2020


  • Empirical software validation
  • Multi-objective optimisation
  • Software product line
  • Software testing and debugging
  • Test prioritisation
  • Test selection


Dive into the research topics of 'Many-objective test suite generation for software product lines'. Together they form a unique fingerprint.

Cite this