Coverage Goal Selector for Combining Multiple Criteria in Search-Based Unit Test Generation
Zhichao Zhou, Yuming Zhou, Chunrong Fang, Zhenyu Chen, Xiapu Luo,, Jingzhu He, and Yutian Tang

TL;DR
This paper introduces a novel smart selection approach for combining multiple coverage criteria in search-based unit test generation, improving coverage and bug detection efficiency by selecting optimal coverage goals.
Contribution
The paper proposes a new method called smart selection that reduces optimization objectives by selecting relevant coverage goals based on their correlations and relationships, enhancing test generation effectiveness.
Findings
Smart selection outperforms combining all goals in 65.1% of cases.
It improves coverage and bug detection over varying budgets.
Experimental results validate the assumptions about coverage criteria relationships.
Abstract
Unit testing is critical to the software development process, ensuring the correctness of basic programming units in a program (e.g., a method). Search-based software testing (SBST) is an automated approach to generating test cases. SBST generates test cases with genetic algorithms by specifying the coverage criterion (e.g., branch coverage). However, a good test suite must have different properties, which cannot be captured using an individual coverage criterion. Therefore, the state-of-the-art approach combines multiple criteria to generate test cases. Since combining multiple coverage criteria brings multiple objectives for optimization, it hurts the test suites' coverage for certain criteria compared with using the single criterion. To cope with this problem, we propose a novel approach named \textbf{smart selection}. Based on the coverage correlations among criteria and the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Engineering Research · Software System Performance and Reliability
