南京大学学报(自然科学版) ›› 2010, Vol. 46 ›› Issue (1): 64–70.

• • 上一篇    下一篇

 自动 Java 代码缺陷检测技术


 薛  頔 , 金茂忠 , 刘  超   

  • 出版日期:2015-03-27 发布日期:2015-03-27
  • 作者简介: ( 北京航空航天大学软件工程研究所 , 北京 ,100083)
  • 基金资助:
     国家高技术研究发展计划(863计划 ) (2006AA01Z176) , “十一五” 国防预研项目

 Implementation of automated Java code defect detection technology

 Xue Di , J in Mao 2 Zhong , L iu Chao   

  • Online:2015-03-27 Published:2015-03-27
  • About author: 
    (Software Engineering Institute , Beihang University , Beijing , 100083 , China)

摘要:  代码审查是一种高效的程序缺陷检测方法 , 因为它能够在软件开发的过程中找出程序的错
误 , 这很大程度上降低了改正错误的成本 . 但是传统的代码审查是一种 “劳动力密集型” 的方法 , 为了提
高代码审查的效率 , 一系列的自动化代码缺陷检测技术和工具已经被提出并得到了广泛的应用 . 本文介
绍了支持代码审查的自动化代码缺陷检测技术的相关内容 . 结合 Java 语言的特点对自动代码缺陷检测
体系结构和工作的原理做了论述 , 并引入了缺陷模式树来提高检测的速度 ; 最后通过具体的实验来分析
了自动化代码缺陷检测的有效性和高效性 .

Abstract:  The software inspection is always considered as an important and effective method to improve the software quality since the concept was first proposed by Michael Fagan in 1976. Code inspection , which is mostly
processed manually , focuses on checking the consistency between code and design , the validity of program logic and structure , etc. As the software scale increasing rapidly , the manual software inspection is becoming more and more
time - consuming , expensive and the needing of accumulation of knowledge and experience is becoming more too. Because of the important role of inspection in software quality assurance field , it is vital to research and implement a
useful and effective tool to support the software inspection. However , the traditional code inspection is a “ labor intensive ” process. With the aim of improving the efficiency of code inspection , a number of computer supported
inspection methods have been proposed and widely used. The formal 7 - steps process of software inspection was firstly described , and the traditional process was refined
in this paper. An automatic defect detection tool was developed to support the steps such as: individual prepare , inspection meeting and defect fixing. The efficiency has been improved by using the tool , and the inspector can finish
the inspection task quickly and easily with the support of the tool. This paper can be divided into three main parts:At first , concepts of software inspection are introduced , and then the related works are analyzed. By analyzing
the tools which are widely used nowadays , the shortcomings of those tools are summarized. As to those shortcomings , the automatic defect detecting tool is implemented , which supports the defining of a new defect
pattern. With the help of the defect pattern tree , the efficiency of defect detection is improved. econdly , this paper discusses the method of how to implement the automatic code inspection. It mentioned
about how to detect the defect according to the defect pattern , and because of the low efficiency of the automatic code inspection , this paper introduce the design of the defect pattern tree , with the help of it , the efficiency of the
automatic code inspection can be improve significantly. At the end of the second part , the architecture of automatic code inspection software is introduced. The last main part of this paper , a experiment and its analysis is purposed. There are two part of the
experiment to prove the effectiveness and efficiency of the automatic code inspection tool perspective. According to the IBM orthogonal defect classification (ODC) , the analysis of the defect categories is introduced. This paper
proves the automatic code inspection tool ’ s efficiency through using it to detect to open source project. At last , the summary of this paper is given , and meanwhile , the outlook of automatic code inspection tool in purposed.

 [ 1 ]   Ciolkowski M , Laitenberger O , Rombach D , et al . Software inspections , reviews and walk -throughs. Software Engineering Proceedings of the 24 th International Conference , 2002 , 641 ~ 642.
[ 2 ]   Zhang D X, Zhang M L. Research on object -o -riented software testing process. Journal of Nanjing University(Nature Sciences) , 2005 , 5 :
650 ~ 656. ( 张丹霞 , 张茂林 . 面向对象软件测试过程研究 . 南京大学学报 ( 自然科学 ) , 2005 , 5 : 650 ~ 656) .
[ 3 ]   Macdonald F M , Brooks J A , et al . Applying inspection to object 2 oriented software. Software Testing , Verification and Reliability , 6 ( 2) : 61 ~ 82.
[ 4 ]   Chan L , Jiang K, Karunasekera S. A tool to support perspective based approach to software code inspection. Software Engineering Confer -ence , 2005 , 110 ~ 117.
[ 5 ]   Kelly D , Shepard T. A case study in the use of defect classification in inspections. Proceedings of the IBM Centre for Advanced Studies Confer-ence , 2001 , 7 ~ 20.
[ 6 ]   Kyung GooDoh SeungCheol Shin. Analysis of secure information flow by model checking. Proceedings of The Asian Workshop on Pro-gramming Languages and Systems , 2001 , 225 ~ 236.
[ 7 ]   Chillarege R , Bhandari I S , Chaar J H , et al . Orthogonal defect classification-A concept for in - process measurements. IEEE Transactions on Software Engineering , 1992 , 18 ( 2 ) : 943 ~ 956.
[ 8 ]   Basili V , Caldiera G, Rombach D H. The goal question metric paradigm. Encyclopedia of Soft -ware Engineering , 1994 , 2(1) : 528 ~ 532.
No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!