Searching for invariants using genetic programming and mutation testing

Searching for invariants using genetic programming and mutation testing
复制标题

DOI:
10.1145/2001576.2001832
复制
发表时间:
2011-07
期刊:
--
影响因子:
--
通讯作者:
S. Ratcliff;D. White;John A. Clark
S. Ratcliff;D. White;John A. Clark
中科院分区:
其他
文献类型:
--
作者:
S. Ratcliff;D. White;John A. Clark

文献摘要

被引文献

相似文献

不变量是对程序行为的简洁而有用的描述。由于大多数程序没有用不变量进行注释,以前的研究试图从源代码自动生成它们。在本文中,我们提出了一种新的方法,使用搜索的不变量生成。我们重用现有工具Daikon的跟踪生成前端,并将其与遗传编程和突变测试工具相结合。我们证明,我们的系统可以找到相同的不变量,通过搜索,Daikon通过模板实例化产生的,我们也找到有用的不变量,Daikon不。然后,我们提出了一种方法,排名不变,这样我们就可以确定那些是最有趣的,通过一个新的应用程序变异。
Invariants are concise and useful descriptions of a program's behaviour. As most programs are not annotated with invariants, previous research has attempted to automatically generate them from source code. In this paper, we propose a new approach to invariant generation using search. We reuse the trace generation front-end of existing tool Daikon and integrate it with genetic programming and a mutation testing tool. We demonstrate that our system can find the same invariants through search that Daikon produces via template instantiation, and we also find useful invariants that Daikon does not. We then present a method of ranking invariants such that we can identify those that are most interesting, through a novel application of program mutation.