Selecting Highly Efficient Sets of Subdomains for Mutation Adequacy

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Test selection techniques are used to reduce the human effort involved in software testing. Most research focusses on selecting efficient sets of test cases according to various coverage criteria for directed testing. We introduce a new technique to select efficient sets of sub domains from which new test cases can be sampled at random to achieve a high mutation score. We first present a technique for evolving multiple sub domains, each of which target a different group of mutants. The evolved sub domains are shown to achieve an average 160% improvement in mutation score compared to random testing with six real world Java programs. We then present a technique for selecting sets of the evolved sub domains to reduce the human effort involved in evaluating sampled test cases without reducing their fault finding effectiveness. This technique significantly reduces the number of sub domains for four of the six programs with a negligible difference in mutation score.
Original languageEnglish
Title of host publicationSoftware Engineering Conference (APSEC, 2013 20th Asia-Pacific)
Pages91-98
Number of pages8
Volume1
DOIs
Publication statusPublished - 1 Dec 2013

Bibliographical note

© 2013 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. Published version: 10.1109/APSEC.2013.23

Keywords

  • Java
  • program testing
  • software fault tolerance
  • Java programs
  • fault finding effectiveness
  • highly efficient subdomain sets
  • mutation adequacy
  • mutation score
  • software testing
  • test cases
  • test selection techniques
  • Covariance matrices
  • Equations
  • Fault diagnosis
  • Optimization
  • Schedules
  • Software
  • Testing
  • input subdomains
  • mutation analysis
  • test case selection
  • test data generation

Cite this