arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2205.14964cs.SEcs.CR
收藏

CI/CD管道引信技术的有效性和Scalability

Effectiveness and Scalability of Fuzzing Techniques in CI/CD Pipelines

Thijs Klooster, Fatih Turkmen, Gerben Broenink, Ruben ten Hove, Marcel Böhme

摘要:

Fuzzing已被证明是自动化软件测试的一项基本技术,但也是一项昂贵的技术。随着CI/CD实践在软件开发中的越来越多的采用,一个自然的问题是“考虑到代码更改的速度和自动化交付/部署实践,将模糊集成到CI/CD管道中的最佳方法是什么?”'.事实上,Böhme和Zhu最近的一项研究表明,每五个bug中就有四个是由最近的代码更改(即回归)引入的。在本文中,我们将从自动化软件测试和持续开发两个角度来仔细研究模糊器与CI/CD管道的集成。首先,我们研究了一个优化的机会来分类不需要模糊处理的提交,并通过实验分析发现,在我们分析的9个库中,有3个库的CI/CD中的平均模糊处理工作量可以减少约63%(6个库的平均模糊处理工作量>40%)。其次,我们调查了模糊活动持续时间对CI/CD流程的影响:较短的模糊活动,例如15分钟(与现场24小时的智慧相反)有助于更快的管道,并且仍然可以发现重要的错误,但也可能降低其检测复杂错误的能力。最后,我们讨论了一个优先级策略,自动分配资源的基础上,一组预定义的优先级策略模糊活动。我们的研究结果表明,连续模糊测试(作为CI/CD自动化测试的一部分)确实是有益的,有很多优化的机会,以提高模糊测试的有效性和可扩展性。

英文摘要:

Fuzzing has proven to be a fundamental technique to automated software testing but also a costly one. With the increased adoption of CI/CD practices in software development, a natural question to ask is `What are the best ways to integrate fuzzing into CI/CD pipelines considering the velocity in code changes and the automated delivery/deployment practices?'. Indeed, a recent study by Böhme and Zhu shows that four in every five bugs have been introduced by recent code changes (i.e. regressions). In this paper, we take a close look at the integration of fuzzers to CI/CD pipelines from both automated software testing and continuous development angles. Firstly, we study an optimization opportunity to triage commits that do not require fuzzing and find, through experimental analysis, that the average fuzzing effort in CI/CD can be reduced by ~63% in three of the nine libraries we analyzed (>40% for six libraries). Secondly, we investigate the impact of fuzzing campaign duration on the CI/CD process: A shorter fuzzing campaign such as 15 minutes (as opposed to the wisdom of 24 hours in the field) facilitates a faster pipeline and can still uncover important bugs, but may also reduce its capability to detect sophisticated bugs. Lastly, we discuss a prioritization strategy that automatically assigns resources to fuzzing campaigns based on a set of predefined priority strategies. Our findings suggest that continuous fuzzing (as part of the automated testing in CI/CD) is indeed beneficial and there are many optimization opportunities to improve the effectiveness and scalability of fuzz testing.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑