Optimizing demand-driven null dereference verification via merging branches

被引:0
作者
Huihui Cheng [1 ,2 ]
Hongwei Zeng [1 ]
机构
[1] Shanghai Univ, Sch Comp Engn & Sci, Shanghai, Peoples R China
[2] Shanghai Key Lab Comp Software Testing & Evaluati, Shanghai, Peoples R China
关键词
backward analysis; data‐ flow analysis; null dereference; static analysis;
D O I
10.1111/exsy.12707
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Null dereference is a common type of runtime failure in Java programs, and it is necessary to verify whether a dereference in the program is safe. However, previous works often have redundant path exploration and high false positive rate. In this paper, we propose a merged null dereference verification (MNDV) approach. MNDV employs a backward, path-sensitive inter-procedural analysis technique to verify a given dereference as safe or potentially unsafe. It uses a branch merging strategy to remove redundant paths, and a method call's relevance to the null references is checked to determine whether it is necessary to explore the internal codes of the method. We have evaluated the approach in some standard benchmark programs. Compared with some existing approaches, our approach reduces false alarm rate and effectively reduce time and memory consumption.
引用
收藏
页数:13
相关论文
empty
未找到相关数据