Performance mutation testing. (29th January 2020)
- Record Type:
- Journal Article
- Title:
- Performance mutation testing. (29th January 2020)
- Main Title:
- Performance mutation testing
- Authors:
- Delgado‐Pérez, Pedro
Sánchez, Ana Belén
Segura, Sergio
Medina‐Bulo, Inmaculada - Abstract:
- Summary: Performance bugs are known to be a major threat to the success of software products. Performance tests aim to detect performance bugs by executing the program through test cases and checking whether it exhibits a noticeable performance degradation. The principles of mutation testing, a well‐established testing technique for the assessment of test suites through the injection of artificial faults, could be exploited to evaluate and improve the detection power of performance tests . However, the application of mutation testing to assess performance tests, henceforth called performance mutation testing (PMT), is a novel research topic with numerous open challenges. In previous papers, we identified some key challenges related to PMT. In this work, we go a step further and explore the feasibility of applying PMT at the source‐code level in general‐purpose languages. To do so, we revisit concepts associated with classical mutation testing and design seven novel mutation operators to model known bug‐inducing patterns. As a proof of concept, we applied traditional mutation operators as well as performance mutation operators to open‐source C++ programs. The results reveal the potential of the new performance‐mutants to help assess and enhance performance tests when compared with traditional mutants. A review of live mutants in these programs suggests that they can induce the design of special test inputs. In addition to these promising results, our work brings a whole newSummary: Performance bugs are known to be a major threat to the success of software products. Performance tests aim to detect performance bugs by executing the program through test cases and checking whether it exhibits a noticeable performance degradation. The principles of mutation testing, a well‐established testing technique for the assessment of test suites through the injection of artificial faults, could be exploited to evaluate and improve the detection power of performance tests . However, the application of mutation testing to assess performance tests, henceforth called performance mutation testing (PMT), is a novel research topic with numerous open challenges. In previous papers, we identified some key challenges related to PMT. In this work, we go a step further and explore the feasibility of applying PMT at the source‐code level in general‐purpose languages. To do so, we revisit concepts associated with classical mutation testing and design seven novel mutation operators to model known bug‐inducing patterns. As a proof of concept, we applied traditional mutation operators as well as performance mutation operators to open‐source C++ programs. The results reveal the potential of the new performance‐mutants to help assess and enhance performance tests when compared with traditional mutants. A review of live mutants in these programs suggests that they can induce the design of special test inputs. In addition to these promising results, our work brings a whole new set of challenges related to PMT, which will hopefully serve as a starting point for new contributions in the area. Abstract : Performance mutation testing (PMT) exploits the principles of mutation testing to assess and enhance the quality of performance tests. In this paper, we analyze the feasibility of applying PMT at the source‐code level in general‐purpose languages. We propose seven performance mutation operators, based on classical performance bug patterns. These new mutation operators present greater potential to model useful performance faults than traditional operators, given that they are devised to preserve the internal state of the program under test. … (more)
- Is Part Of:
- Software testing, verification & reliability. Volume 31:Number 5(2021)
- Journal:
- Software testing, verification & reliability
- Issue:
- Volume 31:Number 5(2021)
- Issue Display:
- Volume 31, Issue 5 (2021)
- Year:
- 2021
- Volume:
- 31
- Issue:
- 5
- Issue Sort Value:
- 2021-0031-0005-0000
- Page Start:
- n/a
- Page End:
- n/a
- Publication Date:
- 2020-01-29
- Subjects:
- mutation testing -- performance bugs -- performance testing -- software testing
Computer software -- Testing -- Periodicals
Computer software -- Verification -- Periodicals
Computer software -- Reliability -- Periodicals
005.14 - Journal URLs:
- http://onlinelibrary.wiley.com/ ↗
- DOI:
- 10.1002/stvr.1728 ↗
- Languages:
- English
- ISSNs:
- 0960-0833
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 8321.457500
British Library DSC - BLDSS-3PM
British Library STI - ELD Digital store - Ingest File:
- 18259.xml