arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2102.11559cs.SE
收藏

通过记忆昂贵的方法加速突变分析

Toward Speeding up Mutation Analysis by Memoizing Expensive Methods

Ali Ghanbari, Andrian Marcus

摘要:

变异分析有许多应用,如评估测试用例的质量,故障定位,测试输入生成,安全分析等,这些应用涉及到运行测试套件对大量的程序突变体,导致可扩展性差。许多研究旨在加速这一过程,重点是减少突变体的数量,执行测试的数量或突变体的执行时间。本文提出了一种新的方法,命名为MeMu,减少突变体的执行时间,通过记忆系统中最昂贵的方法。记忆化是一种优化技术,当检测到重复输入时,它允许绕过执行昂贵的方法。MeMu可以与现有的加速技术结合使用。我们实现MeMu上的PITest,一个著名的JVM字节码级的突变分析系统,并获得了平均18.15%的速度比PITest,在执行时间的突变体为12个现实世界的程序。这些有希望的结果以及MeMu也可以用于涉及重复执行测试的其他应用程序的事实(例如,自动程序修复和回归测试),有力地支持未来的研究,以提高其效率。

英文摘要:

Mutation analysis has many applications, such as assessing the quality of test cases, fault localization, test input generation, security analysis, etc. Such applications involve running test suite against a large number of program mutants leading to poor scalability. Much research has been aimed at speeding up this process, focusing on reducing the number of mutants, the number of executed tests, or the execution time of the mutants. This paper presents a novel approach, named MeMu, for reducing the execution time of the mutants, by memoizing the most expensive methods in the system. Memoization is an optimization technique that allows bypassing the execution of expensive methods, when repeated inputs are detected. MeMu can be used in conjunction with existing acceleration techniques. We implemented MeMu on top of PITest, a well-known JVM bytecode-level mutation analysis system, and obtained, on average, an 18.15% speed-up over PITest, in the execution time of the mutants for 12 real-world programs. These promising results and the fact that MeMu could also be used for other applications that involve repeated execution of tests (e.g., automatic program repair and regression testing), strongly support future research for improving its efficiency.

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

↑