计算机科学 ›› 2015, Vol. 42 ›› Issue (Z6): 525-530.

• 软件工程与数据库技术 • 上一篇    下一篇

上下文不一致性缺陷的检测

王伟,刘渊,张春瑞,文平,谢家俊   

  1. 中国工程物理研究院计算机应用研究所 绵阳621900,中国工程物理研究院计算机应用研究所 绵阳621900,中国工程物理研究院计算机应用研究所 绵阳621900,中国工程物理研究院计算机应用研究所 绵阳621900,中国工程物理研究院计算机应用研究所 绵阳621900
  • 出版日期:2018-11-14 发布日期:2018-11-14
  • 基金资助:
    本文受中物院科学技术发展基金(2012A0403021)资助

Detection of Context-based Inconsistencies Bugs

WANG Wei, LIU Yuan, ZHANG Chun-rui, WEN Ping and XIE Jia-jun   

  • Online:2018-11-14 Published:2018-11-14

摘要: 为了检测在软件开发过程中由拷贝-粘贴操作引起的上下文不一致性缺陷,在基于频繁子序列挖掘算法的克隆代码检测模型基础上,改进上下文不一致性缺陷检测过滤规则,对上下文结构类型不一致性和上下文条件谓词不一致性两种缺陷进行了检测。为了识别具有相同语义但不同语法结构(即语法树表示)的表达式,还增加了对生成的表达式语法树的标准化处理。开源代码上的实验结果表明,该模型对拷贝-粘贴操作引起的上下文不一致性缺陷具有较低的误检率,不存在漏检,尤其适用于安全攸关的软件系统。

Abstract: In order to detect context-based inconsistencies bugs induced by copy-paste in the development of software,based on the model of clone code detection via sequential pattern mining algorithm,filter rules of context-based inconsistencies were improved.Both context constructs inconsistency bugs and context conditional predicates inconsistency bugs were detected.To recognize semantically equivalent with different syntactic structure(i.e.syntax-tree),the standardization of expressions syntax-tree was added.The experimental results on the open source codes show that the model has low false-positive rate and 0% false-negative rate.It is especially suitable for safety-critical software.

Key words: Sequential pattern mining,Clone code,Context-based inconsistencies bugs,Software bug detection

[1] Baxter I D,Yahin A,Moura L,et al.Clone Detection Using Syntax Trees[C]∥Proc.Int’l Conf.Software Maintenance.1998:368-377
[2] Prechelt L,Malpohl G,Philippsen M.Finding Plagiarismsamong a Set of Programs with JPlag[J].J.Universal Computer Science,2002:1016-1038
[3] Schleimer S,Wilkerson D S,Aiken A.Winnowing:Local Algorithms for Document Fingerprinting[C]∥Proc.ACM SIGMOD Int’l Conf.Management of Data.2003:76-85
[4] Manber U.Finding Similar Files in a Large File System[C]∥Proc.USENIX Winter 1994 Technical Conf.1994:1-10
[5] Jiang L,Misherghi G,Su Z,et al.Deckard:Scalable and accurate tree-based detection of code clones[C]∥ICSE.2007:96-105
[6] Komondoor R,Horwitz S.Using Slicing to Identify Duplication in Source Code[C]∥Proc.Eighth Int’l Symp,Static Analysis.2001
[7] 李建忠,刘建宾,余楚迎.基于过程蓝图的参数化重复代码检测技术研究[J].汕头大学学报:自然科学版,2007,22(1):54-59
[8] Ducasse S,Rieger M,Demeyer S.A Language Independent Approach for Detecting Duplicated Code[C]∥Proc.Int’l Conf.Software Maintenance.1999:109-118
[9] Van Rysselberghe F.Vingerafdrukken van code om duplicatie op te sporen[D].Antwerper:Master Thesis at Universiteit Antwerpen,2001-2002
[10] Baker B.A Program for Identifying Duplicated Code[C]∥24th Symposium on the Interface Proceedings of Computing Science and Statistics.1992:132-141
[11] Baker B.Parameterized Duplication in Strings:Algorithms and an Application to Software Maintenanc[C]∥25th Annual ACM Symposium on Theory of Computing.1993:75-96
[12] Baker B S.Parameterized Duplication in Strings:Algorithms and an Application to Software Maintenance[J].SIAM Journal on Computing,1997,26(5):1343-1362
[13] Church K W,Helfman J I.Dotplot:A Program for Exploring Self-Similarity in Millions of Lines of Text and Code[J].J.Computational and Graphical Statistics,1993:2(2):153-174
[14] Kamiya T,Kusumoto S,Inoue K.CCFinder:A Multilinguistic Token-Based Code Clone Detection System for Large Scale Source Code[J].IEEE Trans.on Software Eng,2002,7(28):654-670
[15] Basit H A,Jarzabek P S.Efficient token based clone detection with flexible tokenization[C]∥ESEC/FSE’07.ACM Press,2007:513-516
[16] Wise M J.YAP3:improved detection of similarities in computerprogram and other texts[C]∥Proceedings of the Twenty-se-venth SIGCSE Technical Symposium on Computer Science Education.1996:130-134
[17] L Jiang,Z Dong,E Chiu.Context-Based Detection of Clone-Related Bugs[M].ACM Press,2007:55-64
[18] 王伟,苏小红,马培军,等.标识符重命名不一致性缺陷的检测[J].哈尔滨工业大学学报,2011,3(1):89-98
[19] Wang Tian-tian,Su Xiao-hong,Wang Yu-ying,et al.Semantic similarity-based grading of student programs[J].Information and Software Technology,2007,49(2):99-107
[20] 马培军,王甜甜,苏小红.基于程序理解的编程题自动评分方法[J].计算机研究与发展,2009,6(7):1136-1142

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!