| In recent years, the Null Pointer Dereference fault(NPD) has continuely caused software security issues and it is a disaster to software company and software users,so a lot of domestic and foreign reserchers put themselves into the field that study how to detect this kind of fault more effectively. Null Pointor Dereference of ARRAY(NPD_ARRAY) is one kind of NPD which is also common in projects. Owing to its concealment, it’s hard to detect this type of problem using dynamic testing method which is complicated and time-consuming.This thesis introduces a kind of static analysis method for detecting NPD_ARRAY based on Abstract Interpretation and Symbolic execution.The method is that firstly we sum up the error as a model after classifying NPD_ARRAY and describe the model using defect model state machine, then we decide whether or not to create the instance of NPD_ARRAY depending on the condition of creating defect model state machine and put the instance on the entry node of control flow graph, and finally we judge whether the null pointer deference is wrong in terms of the results of analysis with data flow under the support of interval calculation and interprocedural abstract.This method has been applied in DTSJava, and it has been proved efficient for detecting NPD_ARRAY by datas from testing projects using the different versions of DTSJava and datas from testing projects using Findbugs and Klockwork which are also developed for decting NPD together with DTS. |