Title :
Null Dereference Detection via a Backward Analysis
Author :
Qian Wang ; Dahai Jin ; Yunzhan Gong
Author_Institution :
State Key Lab. of Networking & Switching Tech, Beijing Univ. of Posts & Telecommun., Beijing, China
Abstract :
Null dereferences are commonly occurring bugs in programming languages such as C. In this paper, we present a novel approach that performs a backward dataflow analysis to detect null-dereference bugs. The technical innovation of our approach is that owing to aliasing predicates, it can perform strong updates in the presence of aliasing, thus eliminating false positives. The aliasing predicates are introduced on the premise of a canonical representation for the program being analyzed. Moreover, the other features of our approach also contribute to improve accuracy. We have implemented this approach, and give an evaluation of it on a set of open source benchmarks. The experimental results prove the effectiveness of our approach, and show that it is suitable for exploring large real programs with reasonable accuracy.
Keywords :
C language; data flow analysis; program debugging; programming languages; C language; backward analysis; backward dataflow analysis; canonical representation; null dereference detection; null-dereference bugs; open source benchmark; programming languages; technical innovation; Accuracy; Benchmark testing; Computer bugs; Null value; Prototypes; Resource management; Switches; Aliasing; Null dereference; Strong updates;
Conference_Titel :
Software Engineering Conference (APSEC), 2013 20th Asia-Pacific
Conference_Location :
Bangkok
Print_ISBN :
978-1-4799-2143-0
DOI :
10.1109/APSEC.2013.80