Many-objective test suite generation for software product lines

Research output: Contribution to journalArticlepeer-review

Authors

  • Robert M. Hierons
  • Xiaohui Liu
  • Jose Antonio Parejo
  • Sergio Segura

Colleges, School and Institutes

External organisations

  • The University of Sheffield
  • Brunel University
  • Universidad de Seville
  • Southern University of Science and Technology

Abstract

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.

Details

Original languageEnglish
Article number2
Number of pages45
JournalACM Transactions on Software Engineering and Methodology
Volume29
Issue number1
Publication statusPublished - 31 Jan 2020

Keywords

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