Abstract
AbstractGenerating test cases is essential for discovering software bugs. However, finding bugs in multi-path loops is challenging, especially when bugs can only be exposed after a specific interleaving execution order. Furthermore, the number of paths increases exponentially when the iteration count increases. It results in running out of resources (e.g., allocated search budget) in existing algorithms for test case generation before finding program bugs. To overcome these challenges and improve the effectiveness of existing algorithms in finding bugs among multi-path loops, we propose a path-oriented test case generation framework to explore loop paths of bounded depth. To fulfill this task, we first present a method that groups loop paths based on their latent similarities. Then, we formulate the problem of generating test cases to cover loop paths as a many-objective optimization one. The many-objective optimization problem is designed to optimize one group of loop paths at a time. Finally, a many-objective test case generation framework is used to generate test cases for covering loop paths. In this framework, a knowledge transfer scheme is incorporated to reuse suitable archived test cases at the start of the search process for a similar group of paths. We have implemented the proposed knowledge transfer scheme with generalized differential evolution 3 (KT-GDE3) and evaluated it with benchmarks from the competition on software verification (SV-COMP16 and SV-COMP21). The experimental results show that KT-GDE3 outperforms alternative search-based test case generation algorithms in bug finding capability for multi-path loops. To evaluate the effectiveness of the proposed knowledge transfer scheme, our approach is compared with the variant without this scheme (called KT-GDE3-unarchived) in the benchmarks. The corresponding experimental results verify our assumption that the knowledge transfer scheme can significantly enhance the optimization process of multi-objective algorithms such as generalized differential evolution when finding bugs in multi-path loops.
Funder
National Natural Science Foundation of China
Natural Science Foundation of Guangdong Province
Fundamental Research Funds for the Central Universities
Open Foundation of Guangdong Provincial Key Laboratory of Public Finance and Taxation with Big Data Application
Publisher
Springer Science and Business Media LLC
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献