Test Suite Generation for SPL

R. M. Hierons, M. Li, X. Liu, J. A. Parejo, S. Segura, X. Yao. Many-objective test suite generation for software product lines. ACM Transactions on Software Engineering and Methodology, 29(1), 2020. [PDF] [C code]

What do we know about the problem

  • An optimisation problem with nine objectives (i.e., the objective pairwise coverage, six prioritisation objectives, and two cost objectives: suite size and cost);

  • The objective coverage is more important;

  • The prioritisation objectives and cost objectives are not directly conflicting;

  • There is some tool which can generate high-quality solutions.

Idea:

  • Treat the nine objectives differently - pairwise coverage first and then the others;

  • Try to improve prioritisation or cost on solutions with low cost or good prioritisation, respectively since they are not directly conflicting;

  • Use a high-quality solution produced by a tool as a seed, and then customise the search (use evolution strategy rather than genetic algorithm).

Result:

Experiments show that our algorithm GrES always returned a population in which all solutions provided full pairwise coverage, and achieved higher hypervolume values in most cases (what a higher hypervolume means can be seen from the range of the objective values obtained in the figure below).

Objective value range [min,max] of the solutions obtained by GrES and five multi-objective optimisation algorithms in a random feature model with 100 features.