首页 | 本学科首页   官方微博 | 高级检索  
     

Java中空指针引用故障的静态检测方法
引用本文:杨睿,金大海,宫云战,马跃. Java中空指针引用故障的静态检测方法[J]. 清华大学学报(自然科学版), 2011, 0(Z1): 1509-1514
作者姓名:杨睿  金大海  宫云战  马跃
作者单位:北京邮电大学网络与交换技术国家重点实验室;
基金项目:国家“八六三”高技术项目(2009AA012404); 国家自然科学基金项目(91018002)
摘    要:空指针引用是程序中存在的比较常见的问题,由于它在程序中比较隐蔽,用动态方法测试耗时又耗力且很难达到全面覆盖的效果。该文介绍了一种针对空指针引用故障的静态分析方法,将空指针引用问题抽象为一类故障模型,并以故障模式状态机来形式化描述此类故障模型,然后根据故障状态机的创建条件及待检测代码的语义信息确定是否创建该类型的状态机,并将创建的状态机实例置于控制流图入口节点,根据数据流分析的结果对故障状态进行迭代以检测空指针引用问题。该方法已在缺陷检测系统(defect testing system,DTS)中应用,对Robocode等工程的检测结果证明本文方法可以有效地检测出空指针引用问题。

关 键 词:软件测试  静态分析  空指针引用故障  状态机  控制流图

Static analysis method for detecting null pointer dereference in Java
YANG Rui,JIN Dahai,GONG Yunzhan,MA Yue. Static analysis method for detecting null pointer dereference in Java[J]. Journal of Tsinghua University(Science and Technology), 2011, 0(Z1): 1509-1514
Authors:YANG Rui  JIN Dahai  GONG Yunzhan  MA Yue
Affiliation:YANG Rui,JIN Dahai,GONG Yunzhan,MA Yue(State Key Laboratory of Networking and Switching Technology,Beijing University of Posts and Telecommunication,Beijing 100876,China)
Abstract:Null pointer dereference(NPD) faults are commonly hidden in programs.Detecting these faults by dynamic tests is complicated,time-consuming,and uncompleted.This paper introduces a static analysis method for detecting NPD faults.The NPD fault features are formally described using a defect finite state machine.Then,the creation conditions and semantic information from the source codes are used to create instances that are put into the entry nodes of a control flow graph(CFG).The machine states are then iterate...
Keywords:software testing  static analysis  null pointer dereference fault  state machine  control flow graph  
本文献已被 CNKI 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号