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

Chinese Academy of Sciences

Oracle Principal Investigator

Cristina Cifuentes, Senior Director of Research & Development, Oracle Labs Australia

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.