公关矿工

PR Miner:自动提取隐式编程规则,检测大型软件代码中的违规行为。程序通常遵循许多隐式编程规则,其中大多数程序过于繁琐,不能被程序员记录下来。当这些规则被那些不知道或忘记的程序员所违反时,缺陷很容易被引入。因此,非常希望有工具自动提取这些规则,并自动检测违规行为。以前的工作集中于简单的基于函数对的编程规则,另外还需要程序员提供规则模板。本文提出了一种通用的方法,称为PR Miner,它使用一种称为频繁项集挖掘的数据挖掘技术来有效地从大型软件代码中提取隐含的编程规则。写在工业编程语言如C,需要很少的努力从程序员和事先没有知识的软件。受益于频繁项集挖掘,PR挖掘者可以提取一般形式的编程规则(不受任何固定规则模板的约束),该规则可以包含多种类型的程序元素,如函数、变量和数据类型。此外,我们还提出了一种有效的算法来自动检测到提取的编程规则,这是强大的迹象表明,错误。我们的评估与大的软件代码,包括Linux,PostgreSQL服务器和Apache HTTP服务器,与84K -3M的代码行,每一个,表明PR Miner可以有效地提取数千个通用编程规则,并在2分钟内检测到违规行为。此外,PR矿工已经发现了许多违反所提取的规则。在PR Miner报告的前60个违规中,16个被确认为最新版本的Linux中的bug,PostgreSQL中的6个,APACHE中的1个。它们中的大多数违反了包含超过2个元素的复杂编程规则,因此难以对先前的工具进行检测。我们报告了这些bug,它们目前正在由开发人员修复。

这个软件也是同行评审通过期刊toms.


ZBMaCT中的参考文献(4篇文章中引用)

显示结果1至4的4。
按年份排序(引文

  1. 吴,Qian;梁,广泰;王,钱翔;梅,红:从异构API数据中挖掘有效时态规范(2011)伊波尔特
  2. HATA,HiDaki;美津浓,Oasu;Kikuno,ToHuu:使用基于垃圾邮件过滤的大规模文本特征的易出错模块检测(2010)伊波尔特
  3. Lo,戴维;KHO,Siau Cheng;Wong,Limsoon:非冗余序贯规则理论与算法(2009)伊波尔特
  4. 韩寒;Jiawei;程、洪、新、Dong、严、西峰:频繁模式挖掘:现状与未来方向(2007)伊波尔特