Object-FMA based software code inspection approach
-
摘要: 针对传统代码审查方法中使用的检查单具有的两个不足:缺少从代码到检查单缺陷记录的映射方式,检查单记录的代码缺陷类型不全而导致审查时代码缺陷的遗漏,提出了一种将代码进行层次划分,并使用对不同层次代码对象进行失效模式分析来代替使用传统检查单的代码审查方法.此外,提出了一种对象失效模式分析方法(Object-FMA,Object Failure Modes Analysis),用于系统地分析代码对象的失效模式,为不同层次的代码对象建立失效模式库.在某型号软件的代码审查中对该方法进行了实例应用,结果表明此方法提供了一种从审查代码对象到失效模式库的映射方式,提高了代码审查的效率,审查时不仅能发现传统检查单中记录的代码词法、语法和常见语义的缺陷,还能有效地发现代码中人为疏忽或算法设计错误而引入的代码缺陷.Abstract: There are two disadvantages in the checklist used in traditional code inspection: there is no mapping mode from code to the defect record of checklist, and the defect modes in the checklist is incomplete which may result in omitting the code defects in code inspection. To resolve the above two problems, a new code inspection approach was presented by dividing the code into different levels and using failure modes analysis at different levers instead of the traditional checklist. Furthermore, an object failure modes analysis method (Object-FMA) was proposed to systematically analyze the failure modes of code objects and establish the failure modes database for code object in different levels. Finally, this Object-FMA approach was applied into the code inspection of military software. The results show that the proposed approach can provide a mapping mode from the code objects to the failure modes database, and improve the efficiency of the code inspection. The results also show that this Object-FMA approach can not only find the defects in the code lexical, syntax or semantic which can also be detected by traditional checklist, but also effectively find the defects caused by the negligence of developer or the algorithm error which may can-t be detected by traditional checklist.
-
Key words:
- failure modes /
- coding errors /
- inspection
-
[1] Oliver Laitenberger.Studying the effects of code inspection and structural testing on software quality // -98 Proceedings of the Ninth International Symposium on Software Reliability Engineering.Paderborn,Germany:IEEE,1998:237-246 [2] GJB/Z141 军用软件测试指南[S] GJB/Z141 Military software testing guide[S](in Chinese) [3] Fagan M E.Design and code inspections to reduce errors in program development [J].IBM Systems Journal,1976,15(3):182-211 [4] Chan Kevin.An agent-based approach to computer assisted code inspections //13 th Australian Software Engineering Conference(ASWEC-01).Canberra,Australia:IEEE,2001:147-152 [5] Jorge Rady de Almeida Jr,Joao Batista Camargo Jr,Bruno Abrantes basseto,et al.Best practices in code inspection for safety-critical software[J].Software IEEE,2003,20(3): 56-63 [6] Les Hatton.Testing the value of checklists in code inspection[J].Software IEEE,2008,25(4):82-88 [7] 胡璇,刘斌,陆民燕.软件代码缺陷分类与应用[J].计算机工程,2008,35(2):30-33 Hu Xuan,Liu Bin,Lu Minyan.Classification of software code errors and its application[J].Computer Engineering,2008,35(2):30-33(in Chinese) [8] McMeekin David A,von Konsky Brian R,Robey Michael,et al.The significance of participant experience when evaluating software inspection techniques //Software Engineering Conference.Gold Coast,Australia:IEEE,2009:200-209 [9] Mantyla Mika V,Lassenius Casper.What types of defects are really discovered in code reviews [J].IEEE Transactions on Software Engineering,2009,35(3):430-448 [10] 曾福萍,钟德明,张虹.一种软件代码审查方法的研究 //第7届国际可靠性、维修性、安全性学术会议.北京:中国宇航学会,2007:1-6 Zeng Fuping,Zhong Deming,Zhang Hong.Study on software code inspection //The Seventh International Conference on Reliability,Maintainability and Safefy.Beijing:Chinese Society of Astronautics,2007:1-6(in Chinese) [11] Goddard P L,Troy Raytheon.Software FMEA techniques //Proceedings Annual Reliability and Maintainability Symposium 2000.Los Angeles,CA,USA:IEEE,2000:118-123
点击查看大图
计量
- 文章访问数: 4074
- HTML全文浏览量: 203
- PDF下载量: 25953
- 被引次数: 0