计算机科学 ›› 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   
[1] 雷丽晖,王静. 可能性测度下的LTL模型检测并行化研究[J]. 计算机科学, 2018, 45(4): 71 -75 .
[2] 孙启,金燕,何琨,徐凌轩. 用于求解混合车辆路径问题的混合进化算法[J]. 计算机科学, 2018, 45(4): 76 -82 .
[3] 张佳男,肖鸣宇. 带权混合支配问题的近似算法研究[J]. 计算机科学, 2018, 45(4): 83 -88 .
[4] 伍建辉,黄中祥,李武,吴健辉,彭鑫,张生. 城市道路建设时序决策的鲁棒优化[J]. 计算机科学, 2018, 45(4): 89 -93 .
[5] 史雯隽,武继刚,罗裕春. 针对移动云计算任务迁移的快速高效调度算法[J]. 计算机科学, 2018, 45(4): 94 -99 .
[6] 周燕萍,业巧林. 基于L1-范数距离的最小二乘对支持向量机[J]. 计算机科学, 2018, 45(4): 100 -105 .
[7] 刘博艺,唐湘滟,程杰仁. 基于多生长时期模板匹配的玉米螟识别方法[J]. 计算机科学, 2018, 45(4): 106 -111 .
[8] 耿海军,施新刚,王之梁,尹霞,尹少平. 基于有向无环图的互联网域内节能路由算法[J]. 计算机科学, 2018, 45(4): 112 -116 .
[9] 崔琼,李建华,王宏,南明莉. 基于节点修复的网络化指挥信息系统弹性分析模型[J]. 计算机科学, 2018, 45(4): 117 -121 .
[10] 王振朝,侯欢欢,连蕊. 抑制CMT中乱序程度的路径优化方案[J]. 计算机科学, 2018, 45(4): 122 -125 .