Effectively applying points-to analysis to detect data races in C source code
Project
Effectively applying points-to analysis to detect data races in C source code
Principal Investigator
Lian Li
Oracle Principal Investigator
Cristina Cifuentes, Vice President, Software Assurance
Summary
This project aims to develop a practical method which effectively applies points-to analysis in analysing concurrent C programs to detect data races with good precision. Precision is obtained by precisely modelling inter-procedural and inter-thread control flow paths, as well as complex data dependencies due to aliases. Existing pointer analyses resolve data dependencies without considering path information. As a result, their results are too imprecise to be directly applied in bug detection.
This project will investigate new methods to effectively apply points-to analysis in analysing concurrent C programs. The idea is to use a refinement approach to iteratively refine points-to analysis using concurrent control flow path information computed during bug checking. The idea can be generalised to other vulnerability detection techniques which uses information from two or more static analyses, where the results of one analysis can be used to refine another.