Mutation Operators for Feature-Oriented Software Product Lines

Jacob Krüger (Corresponding author), Mustafa Al-Hajjaji, Thomas Leich, Gunter Saake

Research output: Contribution to journalArticleAcademicpeer-review

5 Citations (Scopus)

Abstract

Mutation testing is an approach to assess the quality of test cases. Mutants are modified versions of a system that ideally comprise faulty behavior. Test cases for a system are effective if they kill these mutants. For software product lines, several works have addressed mutation testing to inject variability faults, which may only exist in some variants. These works focus on variability models or specific implementation techniques. In contrast, feature-oriented programming has been rarely investigated, wherefore we i) derive corresponding mutation operators, ii) investigate the feasibility of our proposed and conventional operators on four software product lines, and iii) discuss open challenges in mutation testing of software product lines. The results show that our proposed operators are suitable to cause variability faults and extend the capabilities of conventional operators. Nonetheless, mutation testing of software product lines is comparably expensive, due to a high number of variants and mutants—resulting in equivalence and redundancy.
Original languageEnglish
Article numbere1676
Number of pages21
JournalSoftware Testing, Verification and Reliability
Volume29
Issue number1-2
DOIs
Publication statusPublished - 2019
Externally publishedYes

Keywords

  • Mutation Testing
  • Mutation Operator
  • Software Product Line
  • Composition
  • Unit Test
  • Feature-Oriented Programming

Fingerprint

Dive into the research topics of 'Mutation Operators for Feature-Oriented Software Product Lines'. Together they form a unique fingerprint.

Cite this