skip to main content
10.1145/2866614.2866626acmotherconferencesArticle/Chapter ViewAbstractPublication PagesvamosConference Proceedingsconference-collections
research-article

Mutation Operators for Preprocessor-Based Variability

Published:27 January 2016Publication History

ABSTRACT

Mutation testing has emerged as one of the most promising techniques to increase the quality of software-intensive systems. In mutation testing, random faults based on a predefined set of mutation operators are automatically injected into a program to evaluate test suites. The effectiveness of mutation testing strongly depends on the representativeness of the mutation operators. Existing operators are not sufficient to represent typical faults caused by variability. Thus, we propose a set of mutation operators for software with preprocessor-based variability. We derive the operators systematically based on a taxonomy of variability-related faults and evaluate them by investigating their applicability to real-world faults that have previously been identified in research on configurable software systems. Our goal is to leverage mutation testing to highly-variable software for its practical application and to enable empirical evaluation of testing techniques.

References

  1. I. Abal, C. Brabrand, and A. Wasowski. 42 Variability Bugs in the Linux Kernel: A Qualitative Analysis. In Proc. Int'l Conf. Automated Software Engineering (ASE), pages 421--432. ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Al-Hajjaji, T. Thüm, J. Meinicke, M. Lochau, and G. Saake. Similarity-Based Prioritization in Software Product-Line Testing. In Proc. Int'l Software Product Line Conf. (SPLC), pages 197--206. ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. P. Anbalagan and T. Xie. Automated Generation of Pointcut Mutants for Testing Pointcuts in AspectJ Programs. In Proc. Int'l Symposium Software Reliability Engineering (ISSRE), pages 239--248, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. S. Apel, D. Batory, C. Kästner, and G. Saake. Feature-Oriented Software Product Lines: Concepts and Implementation. Springer, 2013. Google ScholarGoogle ScholarCross RefCross Ref
  5. P. Arcaini, A. Gargantini, and P. Vavassori. Generating Tests for Detecting Faults in Feature Models. In Proc. Int'l Conf. Software Testing, Verification and Validation (ICST), pages 1--10, 2015.Google ScholarGoogle ScholarCross RefCross Ref
  6. S. S. Batth, E. R. Vieira, A. Cavalli, and M. U. Uyar. Specification of Timed EFSM Fault Models in SDL. In Proc. IFIP Int'l Conf. Formal Methods for Open Object-Based Distributed Systems (FMOODS), pages 50--65. Springer, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. P. Borba, L. Teixeira, and R. Gheyi. A Theory of Software Product Line Refinement. Theoretical Computer Science, 455(0):2--30, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. P. Chevalley. Applying mutation analysis for object-oriented programs using a reflective approach. In Proc. Asia-Pacific Software Engineering Conference (APSEC), pages 267--270, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. T. R. Devine, K. Goseva-Popstajanova, S. Krishnan, R. R. Lutz, and J. J. Li. An Empirical Study of Pre-Release Software Faults in an Industrial Product Line. In Proc. Int'l Conf. Software Testing, Verification and Validation (ICST), pages 181--190, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. F. Ensan, E. Bagheri, and D. Gasevic. Evolutionary Search-Based Test Generation for Software Product Line Feature Models. In Proc. Int'l Conf. Advanced Information Systems Engineering (CAiSE), volume 7328, pages 613--628. Springer, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. G. Fraser and F. Wotawa. Mutant Minimization for Model-Checker Based Test-Case Generation. In in Proc. of Workshop on Mutation Analysis, Published with Proc. of Testing: Academic and Industrial Conference Practice and Research Techniques, pages 161--168, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. B. Garvin and M. Cohen. Feature Interaction Faults Revisited: An Exploratory Study. In Proc. Int'l Symposium Software Reliability Engineering (ISSRE), pages 90--99, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. C. Henard, M. Papadakis, and Y. Le Traon. Mutation-Based Generation of Software Product Line Test Configurations. In C. Le Goues and S. Yoo, editors, Search-Based Software Engineering, volume 8636 of Lecture Notes in Computer Science, pages 92--106. Springer International Publishing, 2014.Google ScholarGoogle ScholarCross RefCross Ref
  14. Y. Jia and M. Harman. An Analysis and Survey of the Development of Mutation Testing. IEEE Trans. Software Engineering (TSE), 37(5):649--678, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, and A. S. Peterson. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, 1990.Google ScholarGoogle Scholar
  16. C. Kästner, P. G. Giarrusso, T. Rendel, S. Erdweg, K. Ostermann, and T. Berger. Variability-Aware Parsing in the Presence of Lexical Macros and Conditional Compilation. In Proc. Conf. Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), pages 805--824. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. S. Krishnan, R. R. Lutz, and K. Goševa-Popstojanova. Empirical Evaluation of Reliability Improvement in an Evolving Software Product Line. In Proc. of Working Conf. on Mining Software Repositories (MSR), pages 103--112. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. S. Krishnan, C. Strasburg, R. R. Lutz, and K. Goševa-Popstojanova. Are Change Metrics Good Predictors for an Evolving Software Product Line? In Proc. of Int'l Conf. on Predictive Models in Software Engineering (Promise), pages 1--10. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. H. Lackner and M. Schmidt. Towards the Assessment of Software Product Line Tests: A Mutation System for Variable Systems. In Proc. Workshop Software Product Line Analysis Tools (SPLat), pages 62--69. ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. M. Papadakis, C. Henard, and Y. Le Traon. Sampling Program Inputs with Mutation Analysis: Going Beyond Combinatorial Interaction Testing. In Proc. Int'l Conf. Software Testing, Verification and Validation (ICST), pages 1--10, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. D. Reuling, J. Bürdek, S. Rotärmel, M. Lochau, and U. Kelter. Fault-Based Product-Line Testing: Effective Sample Generation Based on Feature-Diagram Mutation. In Proc. Int'l Software Product Line Conf. (SPLC), pages 131--140. ACM, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. H. A. Richard, R. A. Demillo, B. Hathaway, W. Hsu, W. Hsu, E. Krauser, R. Martin, A. P. Mathur, and E. H. Spafford. Design Of Mutant Operators For The C Programming Language. Technical Report SERC-TR-41-P, Purdue University, West Lafayette, Indiana, 1989.Google ScholarGoogle Scholar
  23. A. Sánchez, S. Segura, J. Parejo, and A. Ruiz-Cortés. Variability Testing in the Wild: The Drupal Case Study. Software and System Modeling, pages 1--22, 2015.Google ScholarGoogle Scholar
  24. A. B. Sánchez, S. Segura, and A. Ruiz-Cortés. A Comparison of Test Case Prioritization Criteria for Software Product Lines. In Proc. Int'l Conf. Software Testing, Verification and Validation (ICST), pages 41--50. IEEE, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. T. Thüm, C. Kästner, S. Erdweg, and N. Siegmund. Abstract Features in Feature Modeling. In Proc. Int'l Software Product Line Conf. (SPLC), pages 191--200. IEEE, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. T. Thüm, J. Meinicke, F. Benduhn, M. Hentschel, A. von Rhein, and G. Saake. Potential Synergies of Theorem Proving and Model Checking for Software Product Lines. In Proc. Int'l Software Product Line Conf. (SPLC), pages 177--186. ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Mutation Operators for Preprocessor-Based Variability

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in
              • Published in

                cover image ACM Other conferences
                VaMoS '16: Proceedings of the 10th International Workshop on Variability Modelling of Software-Intensive Systems
                January 2016
                116 pages
                ISBN:9781450340199
                DOI:10.1145/2866614

                Copyright © 2016 ACM

                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]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 27 January 2016

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • research-article
                • Research
                • Refereed limited

                Acceptance Rates

                Overall Acceptance Rate66of147submissions,45%

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader