Efficient mutation testing of multithreaded code

Milos Gligoric, Vilas Jagannath, Qingzhou Luo, Darko Marinov

Research output: Contribution to journalArticlepeer-review

Abstract

Mutation testing is a well-established method for measuring and improving the quality of test suites. A major cost of mutation testing is the time required to execute the test suite on all the mutants. This cost is even greater when the system under test is multithreaded: not only are test cases from the test suite executed on many mutants but also each test case is executed - or more precisely, explored - for multiple possible thread schedules. This paper introduces a general framework for efficient exploration that can reduce the time for mutation testing of multithreaded code. The paper presents five techniques (four optimizations and one heuristic) that are implemented in a tool called MuTMuT within the general framework. Evaluation of MuTMuT on mutation testing of 12 multithreaded programs shows that it can substantially reduce the time required for mutation testing of multithreaded code.

Original languageEnglish (US)
Pages (from-to)375-403
Number of pages29
JournalSoftware Testing Verification and Reliability
Volume23
Issue number5
DOIs
StatePublished - Aug 2013

Keywords

  • multithreaded code
  • mutation testing

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality

Fingerprint

Dive into the research topics of 'Efficient mutation testing of multithreaded code'. Together they form a unique fingerprint.

Cite this