Higher accuracy and lower run time: efficient mutation analysis using non-redundant mutation operators.
Saved in:
| 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.
Login for full access.
|
|
| 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 |