Higher accuracy and lower run time: efficient mutation analysis using non-redundant mutation operators.

Saved in:
Bibliographic Details
Title: Higher accuracy and lower run time: efficient mutation analysis using non-redundant mutation operators.
Authors: Just, René1, Schweiggert, Franz2
Source: Software Testing: Verification & Reliability. Aug2015, Vol. 25 Issue 5-7, p490-507. 18p.
Subjects: Debugging, Time study, Time pressure, Software maintenance, Computer programming management
Abstract: Mutation analysis is a powerful but computationally expensive method to measure the effectiveness of a testing or debugging technique. The high cost is due, in part, to redundant mutants generated by commonly used mutation operators. A mutant is said to be redundant if its outcome can be predicted based on the outcome of other mutants. The execution of those redundant mutants is unnecessary and wastes CPU resources. Moreover, the inclusion of redundant mutants may lead to a skewed mutant detection rate and therefore misrepresent the effectiveness of the assessed testing or debugging technique. This paper extends previous work and makes the following contributions. First, it defines and provides non-redundant versions of the conditional operator replacement, unary operator insertion, and relational operator replacement mutation operators. Second, it reports on a conducted empirical study using 10 real-world programmes that comprise a total of 410 000 lines of code. The empirical study used developer-written and generated test suites. The results show how prevalent redundant mutants are and how their elimination improves the efficiency and accuracy of mutation analysis. In summary, the total mutation analysis run time decreased by more than 20% by removing redundant mutants, and the inclusion of redundant mutants led to an overestimated mutation score for all analysed test suites. Copyright © 2014 John Wiley & Sons, Ltd. [ABSTRACT FROM AUTHOR]
Copyright of Software Testing: Verification & Reliability is the property of Wiley-Blackwell and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
Full text is not displayed to guests.
FullText Links:
  – Type: pdflink
Text:
  Availability: 1
Header DbId: egs
DbLabel: Engineering Source
An: 108901498
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Higher accuracy and lower run time: efficient mutation analysis using non-redundant mutation operators.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Just%2C+René%22">Just, René</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22Schweiggert%2C+Franz%22">Schweiggert, Franz</searchLink><relatesTo>2</relatesTo>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22Software+Testing%3A+Verification+%26+Reliability%22">Software Testing: Verification & Reliability</searchLink>. Aug2015, Vol. 25 Issue 5-7, p490-507. 18p.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Debugging%22">Debugging</searchLink><br /><searchLink fieldCode="DE" term="%22Time+study%22">Time study</searchLink><br /><searchLink fieldCode="DE" term="%22Time+pressure%22">Time pressure</searchLink><br /><searchLink fieldCode="DE" term="%22Software+maintenance%22">Software maintenance</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+programming+management%22">Computer programming management</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: Mutation analysis is a powerful but computationally expensive method to measure the effectiveness of a testing or debugging technique. The high cost is due, in part, to redundant mutants generated by commonly used mutation operators. A mutant is said to be redundant if its outcome can be predicted based on the outcome of other mutants. The execution of those redundant mutants is unnecessary and wastes CPU resources. Moreover, the inclusion of redundant mutants may lead to a skewed mutant detection rate and therefore misrepresent the effectiveness of the assessed testing or debugging technique. This paper extends previous work and makes the following contributions. First, it defines and provides non-redundant versions of the conditional operator replacement, unary operator insertion, and relational operator replacement mutation operators. Second, it reports on a conducted empirical study using 10 real-world programmes that comprise a total of 410 000 lines of code. The empirical study used developer-written and generated test suites. The results show how prevalent redundant mutants are and how their elimination improves the efficiency and accuracy of mutation analysis. In summary, the total mutation analysis run time decreased by more than 20% by removing redundant mutants, and the inclusion of redundant mutants led to an overestimated mutation score for all analysed test suites. Copyright © 2014 John Wiley & Sons, Ltd. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of Software Testing: Verification & Reliability is the property of Wiley-Blackwell and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=108901498
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1002/stvr.1561
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 18
        StartPage: 490
    Subjects:
      – SubjectFull: Debugging
        Type: general
      – SubjectFull: Time study
        Type: general
      – SubjectFull: Time pressure
        Type: general
      – SubjectFull: Software maintenance
        Type: general
      – SubjectFull: Computer programming management
        Type: general
    Titles:
      – TitleFull: Higher accuracy and lower run time: efficient mutation analysis using non-redundant mutation operators.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Just, René
      – PersonEntity:
          Name:
            NameFull: Schweiggert, Franz
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 08
              Text: Aug2015
              Type: published
              Y: 2015
          Identifiers:
            – Type: issn-print
              Value: 09600833
          Numbering:
            – Type: volume
              Value: 25
            – Type: issue
              Value: 5-7
          Titles:
            – TitleFull: Software Testing: Verification & Reliability
              Type: main
ResultId 1