Abstract:
Static analysis is an effective way of detecting defects and improving the quality of software codes. However, without running the programs, it can not collect runtime information, so the accuracy of its analysis result is low, i.e. there are false positives. Symbolic execution method can collect data flow information through simulating the execution of the target program, thereby increasing the accuracy of static analysis. In order to improve the accuracy of static analysis results, this paper designed and developed a defect detection tool ABAZER-SE, which was built on the GCC abstract syntax tree and combined symbolic execution and static analysis techniques. The tool was applied on the Toyota ITC benchmark and the experimental results show that it can improve the accuracy of static defect analysis.