Abstract:
In recent years, static program analysis has become one of the key techniques to ensure the reliability, security and efficiency of software. As a fundamental program analysis technique, pointer analysis provides a series of fundamental information about the program for static program analysis, such as the points-to relations of any variables in the program, alias relations between variables, program call graph, and the reachability of heap objects. We introduce the important contents of Java pointer analysis, including pointer analysis algorithm, context sensitivity, abstraction of heap objects, handling of complex language features, non-whole program pointer analysis, especially we sort-out and discuss selective context sensitivity, which is the research hotspot of pointer analysis in recent years.