skip to main content
10.1145/3338906.3338914acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Towards more efficient meta-heuristic algorithms for combinatorial test generation

Published: 12 August 2019 Publication History

Abstract

Combinatorial interaction testing (CIT) is a popular approach to detecting faults in highly configurable software systems. The core task of CIT is to generate a small test suite called a t-way covering array (CA), where t is the covering strength. Many meta-heuristic algorithms have been proposed to solve the constrained covering array generating (CCAG) problem. A major drawback of existing algorithms is that they usually need considerable time to obtain a good-quality solution, which hinders the wider applications of such algorithms. We observe that the high time consumption of existing meta-heuristic algorithms for CCAG is mainly due to the procedure of score computation. In this work, we propose a much more efficient method for score computation. The score computation method is applied to a state-of-the-art algorithm TCA, showing significant improvements. The new score computation method opens a way to utilize algorithmic ideas relying on scores which were not affordable previously. We integrate a gradient descent search step to further improve the algorithm, leading to a new algorithm called FastCA. Experiments on a broad range of real-world benchmarks and synthetic benchmarks show that, FastCA significantly outperforms state-of-the-art algorithms for CCAG algorithms, in terms of both the size of obtained covering array and the run time.

References

[1]
Mutsunori Banbara, Haruki Matsunaka, Naoyuki Tamura, and Katsumi Inoue. 2010. Generating Combinatorial Test Cases by Efficient SAT Encodings Suitable for CDCL SAT Solvers. In Proceedings of LPAR 2010. 112–126.
[2]
Renée C. Bryce and Charles J. Colbourn. 2007. The density algorithm for pairwise interaction testing. Software Testing, Verification and Reliability 17, 3 (2007), 159– 182.
[3]
Renée C. Bryce, Charles J. Colbourn, and Myra B. Cohen. 2005. A framework of greedy methods for constructing interaction test suites. In Proceedings of ICSE 2005. 146–155.
[4]
David M. Cohen, Siddhartha R. Dalal, Michael L. Fredman, and Gardner C. Patton. 1997.
[5]
The AETG System: An Approach to Testing Based on Combinatiorial Design. IEEE Transactions on Software Engineering 23, 7 (1997), 437–444.
[6]
Myra B. Cohen, Matthew B. Dwyer, and Jiangfan Shi. 2007. Interaction testing of highly-configurable systems in the presence of constraints. In Proceedings of ISSTA 2007. 129–139.
[7]
Myra B. Cohen, Matthew B. Dwyer, and Jiangfan Shi. 2008. Constructing Interaction Test Suites for Highly-Configurable Systems in the Presence of Constraints: A Greedy Approach. IEEE Transactions on Software Engineering 34, 5 (2008), 633–650.
[8]
Jacek Czerwonka. 2008. Pairwise testing in the real world: Practical extensions to test-case scenarios. Microsoft Corporation, Software Testing Technical Articles (2008).
[9]
Philippe Galinier, Segla Kpodjedo, and Giulio Antoniol. 2017. A penalty-based Tabu search for constrained covering arrays. In Proceedings of GECCO 2017.
[10]
1288–1294.
[11]
Brady J. Garvin, Myra B. Cohen, and Matthew B. Dwyer. 2009.
[12]
An Improved Meta-Heuristic Search for Constrained Interaction Testing. In Proceedings of 1st International Symposium on Search Based Software Engineering. 13–22.
[13]
Brady J. Garvin, Myra B. Cohen, and Matthew B. Dwyer. 2011.
[14]
Evaluating improvements to a meta-heuristic search for constrained interaction testing. Empirical Software Engineering 16, 1 (2011), 61–102.
[15]
Jon D. Hagar, Thomas L. Wissink, D. Richard Kuhn, and Raghu Kacker. 2015.
[16]
Introducing Combinatorial Testing in a Large Organization. IEEE Computer 48, 4 (2015), 64–72.
[17]
Mark Harman. 2007.
[18]
The Current State and Future of Search Based Software Engineering. In Proceedings of FOSE 2007. 342–357.
[19]
Mark Harman, Stephen Swift, and Kiarash Mahdavi. 2005. An empirical study of the robustness of two module clustering fitness functions. In Proceedings of GECCO 2005. 1029–1036.
[20]
Mark Harman and Laurence Tratt. 2007. Pareto optimal search based refactoring at the design level. In Proceedings of GECCO 2007. 1106–1113.
[21]
Christopher Henard, Mike Papadakis, Gilles Perrouin, Jacques Klein, Patrick Heymans, and Yves Le Traon. 2014.
[22]
Bypassing the Combinatorial Explosion: Using Similarity to Generate and Prioritize T-Wise Test Configurations for Software Product Lines. IEEE Trans. Software Eng. 40, 7 (2014), 650–670.
[23]
Yue Jia, Myra B. Cohen, Mark Harman, and Justyna Petke. 2015. Learning Combinatorial Interaction Test Generation Strategies Using Hyperheuristic Search. In Proceedings of ICSE 2015. 540–550.
[24]
D. Richard Kuhn and Vadim Okun. 2006. Pseudo-Exhaustive Testing for Software. In Proceedings of SEW 2006. 153–158.
[25]
D. Richard Kuhn, Dolores R. Wallace, and Albert M. Gallo. 2004. Software Fault Interactions and Implications for Software Testing. IEEE Transactions on Software Engineering 30, 6 (2004), 418–421.
[26]
Yu Lei, Richard H. Carver, Raghu Kacker, and David Chenho Kung. 2007.
[27]
A combinatorial testing strategy for concurrent programs. Softw. Test., Verif. Reliab. 17, 4 (2007), 207–225.
[28]
Yu Lei, Raghu Kacker, D. Richard Kuhn, Vadim Okun, and James Lawrence. 2007.
[29]
IPOG: A General Strategy for T-Way Software Testing. In Proceedings of ECBS 2007. 549–556.
[30]
Yu Lei, Raghu Kacker, D. Richard Kuhn, Vadim Okun, and James Lawrence. 2008.
[31]
IPOG/IPOG-D: efficient test generation for multi-way combinatorial testing. Software Testing, Verification and Reliability 18, 3 (2008), 125–148.
[32]
Yu Lei and Kuo-Chung Tai. 1998. In-Parameter-Order: A Test Generation Strategy for Pairwise Testing. In Proceedings of HASE 1998. 254–261.
[33]
Chu Min Li and Wenqi Huang. 2005. Diversification and Determinism in Local Search for Satisfiability. In Proceedings of SAT 2005. 158–172.
[34]
Zheng Li, Mark Harman, and Robert M. Hierons. 2007. Search Algorithms for Regression Test Case Prioritization. IEEE Transactions on Software Engineering 33, 4 (2007), 225–237.
[35]
Jinkun Lin, Chuan Luo, Shaowei Cai, Kaile Su, Dan Hao, and Lu Zhang. 2015.
[36]
TCA: An Efficient Two-Mode Meta-Heuristic Algorithm for Combinatorial Test Generation. In Proceedings of ASE 2015. 494–505.
[37]
Chuan Luo, Shaowei Cai, Wei Wu, Zhong Jie, and Kaile Su. 2015.
[38]
CCLS: An Efficient Local Search Algorithm for Weighted Maximum Satisfiability. IEEE Trans. Comput. 64, 7 (2015), 1830–1843.
[39]
Phil McMinn. 2004. Search-based software test data generation: a survey. Software Testing, Verification and Reliability 14, 2 (2004), 105–156.
[40]
Hanefi Mercan, Cemal Yilmaz, and Kamer Kaya. 2018.
[41]
CHiP: A Configurable Hybrid Parallel Covering Array Constructor. IEEE Transactions on Software Engineering (2018), To appear.
[42]
Kari J. Nurmela. 2004. Upper bounds for covering arrays by tabu search. Discrete Applied Mathematics 138, 1-2 (2004), 143–152.
[43]
Olivier Roussel. 2011. Controlling a Solver Execution with the runsolver Tool. Journal on Satisfiability, Boolean Modeling and Computation 7, 4 (2011), 139–144.
[44]
Itai Segall, Rachel Tzoref-Brill, and Eitan Farchi. 2011.
[45]
Using binary decision diagrams for combinatorial test design. In Proceedings of ISSTA 2011. 254–264.
[46]
Ole Tange. 2018.
[47]
GNU Parallel 2018. Ole Tange. 1146014
[48]
Yu-Wen Tung and Wafa S Aldiwan. 2000. Automating test case generation for the new generation mission software system. In Proceedings of IEEE Aerospace Conference 2000, Vol. 1. IEEE, 431–437.
[49]
Huayao Wu, Justyna Petke, Yue Jia, Mark Harman, et al. 2018.
[50]
An Empirical Comparison of Combinatorial Testing, Random Testing and Adaptive Random Testing. IEEE Transactions on Software Engineering (2018).
[51]
Akihisa Yamada, Armin Biere, Cyrille Artho, Takashi Kitamura, and Eun-Hye Choi. 2016. Greedy combinatorial test case generation using unsatisfiable cores. In Proceedings of ASE 2016. 614–624.
[52]
Akihisa Yamada, Takashi Kitamura, Cyrille Artho, Eun-Hye Choi, Yutaka Oiwa, and Armin Biere. 2015. Optimization of Combinatorial Testing by Incremental SAT Solving. In Proceedings of ICST 2015. 1–10.
[53]
Cemal Yilmaz, Myra B. Cohen, and Adam A. Porter. 2006.
[54]
Covering Arrays for Efficient Fault Characterization in Complex Configuration Spaces. IEEE Transactions on Software Engineering 32, 1 (2006), 20–34.
[55]
Linbin Yu, Yu Lei, Mehra Nouroz Borazjany, Raghu Kacker, and D. Richard Kuhn. 2013.
[56]
An Efficient Algorithm for Constraint Handling in Combinatorial Test Generation. In Sixth IEEE International Conference on Software Testing, Verification and Validation, ICST 2013, Luxembourg, Luxembourg, March 18-22, 2013. 242–251.
[57]
Xun Yuan, Myra B. Cohen, and Atif M. Memon. 2011. GUI Interaction Testing: Incorporating Event Context. IEEE Trans. Software Eng. 37, 4 (2011), 559–574.

Cited By

View all
  • (2024)Beyond Pairwise Testing: Advancing 3-wise Combinatorial Interaction Testing for Highly Configurable SystemsProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3680309(641-653)Online publication date: 11-Sep-2024
  • (2023)CAmpactor: A Novel and Effective Local Search Algorithm for Optimizing Pairwise Covering ArraysProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3616284(81-93)Online publication date: 30-Nov-2023
  • (2023)Generating Pairwise Covering Arrays for Highly Configurable Software SystemsProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A10.1145/3579027.3608998(261-267)Online publication date: 28-Aug-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ESEC/FSE 2019: Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
August 2019
1264 pages
ISBN:9781450355728
DOI:10.1145/3338906
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: 12 August 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Combinatorial interaction testing
  2. covering array generation
  3. local search

Qualifiers

  • Research-article

Conference

ESEC/FSE '19
Sponsor:

Acceptance Rates

Overall Acceptance Rate 112 of 543 submissions, 21%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)19
  • Downloads (Last 6 weeks)2
Reflects downloads up to 02 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Beyond Pairwise Testing: Advancing 3-wise Combinatorial Interaction Testing for Highly Configurable SystemsProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3680309(641-653)Online publication date: 11-Sep-2024
  • (2023)CAmpactor: A Novel and Effective Local Search Algorithm for Optimizing Pairwise Covering ArraysProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3616284(81-93)Online publication date: 30-Nov-2023
  • (2023)Generating Pairwise Covering Arrays for Highly Configurable Software SystemsProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A10.1145/3579027.3608998(261-267)Online publication date: 28-Aug-2023
  • (2023)A tolerance-based memetic algorithm for constrained covering array generationMemetic Computing10.1007/s12293-023-00392-115:3(319-340)Online publication date: 29-Aug-2023
  • (2022)Towards an Automatic Test Generation Method for Systems of Systems Based on Fault Injection and Model-Based Systems EngineeringApplied Sciences10.3390/app12221186312:22(11863)Online publication date: 21-Nov-2022
  • (2022)SamplingCA: effective and efficient sampling-based pairwise testing for highly configurable software systemsProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3549155(1185-1197)Online publication date: 7-Nov-2022
  • (2022)A Constrained Covering Array Generator using Adaptive Penalty based Parallel Tabu Search2022 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)10.1109/ICSTW55395.2022.00028(82-86)Online publication date: Apr-2022
  • (2022)An Adaptive Penalty based Parallel Tabu Search for Constrained Covering Array GenerationInformation and Software Technology10.1016/j.infsof.2021.106768143:COnline publication date: 1-Mar-2022
  • (2021)LS-sampling: an effective local search based sampling approach for achieving high t-wise coverageProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3468622(1081-1092)Online publication date: 20-Aug-2021
  • (2021)Enhance Combinatorial Testing with Metamorphic RelationsIEEE Transactions on Software Engineering10.1109/TSE.2021.3131548(1-1)Online publication date: 2021
  • 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

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media