[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3019612.3019830acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

An empirical study on the application of mutation testing for a safety-critical industrial software system

Published: 03 April 2017 Publication History

Abstract

Background: Testing is an essential activity in safety-critical software development, following high standards in terms of code coverage. Mutation testing allows assessing the effectiveness of testing and helps to further improve test cases. However, mutation testing is not widely practiced due to scalability problems when applied to real-world systems. Objective: The objective of the study is to investigate the applicability and usefulness of mutation testing for improving the quality of unit testing in context of safety-critical software systems. Method: A case study has been conducted together with an engineering company developing safety-critical systems. Mutation analysis has been applied to the studied system under test (60,000 LOC of C code) producing 75,043 mutants of which 27,158 survived test execution. A sample of 200 live mutants has been reviewed by the engineers, who also improved the existing unit test suite based on their findings. Findings: The reviewed sample contained 24+ equivalent mutants and 12+ duplicated mutants. It revealed a weak spot in the testing approach and provided valuable guidance to improve the existing unit test suite. Two new faults were found in the code when improving the tests. Test execution against the mutants required over 4,000 hours computing time. The overall effort was about half a person year.

References

[1]
Agrawal, H. et al. Design of mutant operators for the C programming language. Technical Report SERC-TR-41-P, Department of Computer Science, Purdue University, 1989.
[2]
Andrews, J.H., Briand, L.C., and Labiche, Y. Is Mutation an Appropriate Tool for Testing Experiments? In Proc. of 27th Int. Conf. on Software Engineering (ICSE), 2005, 402--411.
[3]
Baker, R. and Habli, I. An Empirical Evaluation of Mutation Testing for Improving the Test Quality of Safety-Critical Software. IEEE Transactions on Software Engineering. 39, 6 (June 2013), 787--805.
[4]
Flint, W. and Gilchrist, I. Software Testing and IEC 61508 - Project Case Study and Further Thoughts. In Safety-Critical Systems: Problems, Process and Practice. Springer London, 2009, 211--221.
[5]
Gopinath, R., Ahmed, I., Alipour, M.A., Jensen, C., and Groce, A. Does choice of mutation tool matter?. Software Quality Journal, to appear, online: May 2016.
[6]
Gopinath, R., Alipour, A., Ahmed, I., et al. How hard does mutation analysis have to be, anyway?. In Proc. of 26th Int. Symp. on Software Reliability Eng. (ISSRE), 2015, 216--227.
[7]
IEC. Standards 61508, Functional Safety of Electrical/Electronic/Programmable Electronic Safety-related Systems. International Electrotechnical Commission (IEC), 2010.
[8]
Jia, Y., and Harman, M. MILU: A Customizable, Runtime-Optimized Higher Order Mutation Testing Tool for the Full C Language. In Proc. of Testing: Academic Industrial Conference Practice and Research Techniques, 2008, 94--98.
[9]
Jia, Y., and Harman, M. An Analysis and Survey of the Development of Mutation Testing. IEEE Transactions on Software Engineering. 37, 5 (Sep. 2011), 649--678.
[10]
Nica, S., Wotawa, F., and Ramler, R. Is Mutation Testing Scalable for Real-World Software Projects? In Proc. of 3rd Int. Conf. on Advances in System Testing and Validation Lifecycle (VALID). 2011, 40--45.
[11]
Offutt, A.J. Investigations of the Software Testing Coupling Effect. ACM Transactions on Software Engineering and Methodology, 1, 1 (Jan. 1992), 5--20.
[12]
Papadakis, M., Jia, Y., Harman, M., and Le Traon, Y. Trivial Compiler Equivalence: A Large Scale Empirical Study of a Simple, Fast and Effective Equivalent Mutant Detection Technique. In Proc. of 37th Int. Conf. on Software Engineering (ICSE), 2015, 936--946.
[13]
Runeson, P. and Höst, M. Guidelines for Conducting and Reporting Case Study Research in Software Engineering. Empirical Software Engineering. 14, 2 (Apr. 2009), 131--164.
[14]
Schuler, D. and Zeller, A. (Un-)Covering Equivalent Mutants. In Proc. of 3rd Int. Conf. on Software Testing, Verification and Validation (ICST), 2010, 45--54.
[15]
Smith, D.J., and Simpson, K.G.L. Safety Critical Systems Handbook: A Straight forward Guide to Functional Safety, IEC 61508 and Related Standards. Elsevier Science, 2010.
[16]
Thompson, S.K. Sampling. Wiley, 2012.
[17]
Zhu, H., Hall, P.A., and May, J.H. Software Unit Test Coverage and Adequacy. ACM Computing Surveys, 29, 4 (Dec. 1997), 366--427.

Cited By

View all
  • (2025)Testability-driven developmentComputer Standards & Interfaces10.1016/j.csi.2024.10387791:COnline publication date: 1-Jan-2025
  • (2024)Dynamic domain testing with multi-agent Markov chain Monte Carlo methodSoft Computing - A Fusion of Foundations, Methodologies and Applications10.1007/s00500-024-09680-528:13-14(8293-8317)Online publication date: 1-Jul-2024
  • (2023)Data-Driven Mutation Analysis for Cyber-Physical SystemsIEEE Transactions on Software Engineering10.1109/TSE.2022.321304149:4(2182-2201)Online publication date: 1-Apr-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '17: Proceedings of the Symposium on Applied Computing
April 2017
2004 pages
ISBN:9781450344869
DOI:10.1145/3019612
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 April 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. IEC 61508
  2. coverage
  3. mutation analysis
  4. mutation testing
  5. safety-critical system
  6. unit testing
  7. verification

Qualifiers

  • Research-article

Conference

SAC 2017
Sponsor:
SAC 2017: Symposium on Applied Computing
April 3 - 7, 2017
Marrakech, Morocco

Acceptance Rates

Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Upcoming Conference

SAC '25
The 40th ACM/SIGAPP Symposium on Applied Computing
March 31 - April 4, 2025
Catania , Italy

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)13
  • Downloads (Last 6 weeks)1
Reflects downloads up to 14 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2025)Testability-driven developmentComputer Standards & Interfaces10.1016/j.csi.2024.10387791:COnline publication date: 1-Jan-2025
  • (2024)Dynamic domain testing with multi-agent Markov chain Monte Carlo methodSoft Computing - A Fusion of Foundations, Methodologies and Applications10.1007/s00500-024-09680-528:13-14(8293-8317)Online publication date: 1-Jul-2024
  • (2023)Data-Driven Mutation Analysis for Cyber-Physical SystemsIEEE Transactions on Software Engineering10.1109/TSE.2022.321304149:4(2182-2201)Online publication date: 1-Apr-2023
  • (2023)Validation of Mutation Testing in the Safety Critical Industry through a Pilot Study2023 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)10.1109/ICSTW58534.2023.00064(334-343)Online publication date: Apr-2023
  • (2023)Mutation Testing in Continuous Integration: An Exploratory Industrial Case Study2023 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)10.1109/ICSTW58534.2023.00063(324-333)Online publication date: Apr-2023
  • (2023)Property-Based Mutation Testing2023 IEEE Conference on Software Testing, Verification and Validation (ICST)10.1109/ICST57152.2023.00029(222-233)Online publication date: Apr-2023
  • (2023)Fuzzing for CPS Mutation Testing2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE56229.2023.00079(1377-1389)Online publication date: 11-Sep-2023
  • (2023)Mutation testing optimisations using the Clang front‐endSoftware Testing, Verification and Reliability10.1002/stvr.1865Online publication date: 17-Oct-2023
  • (2022)Overlap between Automated Unit and Acceptance Testing – a Systematic Literature ReviewProceedings of the 26th International Conference on Evaluation and Assessment in Software Engineering10.1145/3530019.3530028(80-89)Online publication date: 13-Jun-2022
  • (2022)Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results in the Space DomainIEEE Transactions on Software Engineering10.1109/TSE.2021.310768048:10(3913-3939)Online publication date: 1-Oct-2022
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media