当前位置: X-MOL 学术Appl. Netw. Sci. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
REDUNET: reducing test suites by integrating set cover and network-based optimization
Applied Network Science Pub Date : 2020-11-02 , DOI: 10.1007/s41109-020-00323-w
Misael Mongiovì , Andrea Fornaia , Emiliano Tramontana

The availability of effective test suites is critical for the development and maintenance of reliable software systems. To increase test effectiveness, software developers tend to employ larger and larger test suites. The recent availability of software tools for automatic test generation makes building large test suites affordable, therefore contributing to accelerating this trend. However, large test suites, though more effective, are resources and time consuming and therefore cannot be executed frequently. Reducing them without decreasing code coverage is a needed compromise between efficiency and effectiveness of the test, hence enabling a more regular check of the software under development. We propose a novel approach, namely REDUNET, to reduce a test suite while keeping the same code coverage. We integrate this approach in a complete framework for the automatic generation of efficient and effective test suites, which includes test suite generation, code coverage analysis, and test suite reduction. Our approach formulates the test suite reduction as a set cover problem and applies integer linear programming and a network-based optimisation, which takes advantage of the properties of the control flow graph. We find the optimal set of test cases that keeps the same code coverage in fractions of seconds on real software projects and test suites generated automatically by Randoop. The results on ten real software systems show that the proposed approach finds the optimal minimisation and achieves up to 90% reduction and more than 50% reduction on all systems under analysis. On the largest project our reduction algorithm performs more than three times faster than both integer linear programming alone and the state-of-the-art heuristic Harrold Gupta Soffa.



中文翻译:

REDUNET:通过集成布套和基于网络的优化来减少测试套件

有效的测试套件的可用性对于开发和维护可靠的软件系统至关重要。为了提高测试效率,软件开发人员倾向于采用越来越大的测试套件。用于自动测试生成的软件工具的最新可用性使人们可以负担得起构建大型测试套件的费用,因此有助于加速这一趋势。但是,大型测试套件虽然更有效,但是却浪费资源和时间,因此无法经常执行。在不降低代码覆盖率的情况下减少它们是测试效率和有效性之间的必要折衷,因此可以更定期地检查开发中的软件。我们提出一种新颖的方法,即REDUNET,以减少测试套件,同时保持相同的代码覆盖率。我们将这种方法集成在一个完整的框架中,以自动生成高效的测试套件,包括测试套件的生成,代码覆盖率分析和测试套件的缩减。我们的方法将测试套件简化表示为集合覆盖问题,并应用整数线性规划和基于网络的优化,这利用了控制流程图的特性。我们找到了最佳的测试用例集,可以在由Randoop自动生成的实际软件项目和测试套件中,在几分之一秒内保持相同的代码覆盖率。在十个实际软件系统上的结果表明,所提出的方法找到了最佳的最小化方法,并且在所分析的所有系统上实现了多达90%的减少和超过50%的减少。

更新日期:2020-11-03
down
wechat
bug