14.04.13 - 19.04.13, Seminar 13162

Pointer Analysis

The following text appeared on our web pages prior to the seminar, and was included as part of the invitation.

Motivation

Pointer analysis is one of the most fundamental static program analyses. It consists of computing an abstraction of which heap objects a program variable or expression can refer to. Due to its importance, a large body of work exists on pointer analysis, and many researchers continue to study and develop new variants. Pointer analyses can vary along many axes, such as desired precision, handling of particular language features, and implementation data structures and optimizations. Given the subtle implications of these design choices, and the importance of low-level details often excluded from conference-length papers, it can be difficult even for pointer analysis experts to understand the relationship between different analysis variants. For a non-expert aiming to use pointer analysis in a higher-level client (for verification, optimization, refactoring, etc.), choosing the right analysis variant can be truly daunting.

This seminar brings together researchers working on pointer analysis for various programming languages with researchers working on key analysis clients. The main goals are (1) to deepen understanding of the relationships between existing pointer analysis techniques, and (2) to gain a better understanding of what pointer analysis improvements are required by clients, thereby setting an exciting agenda for the area going forward.

Goals

Pointer analysis is a mature area with a wealth of results, at a temptingly close distance from wide practical applicability, but not there yet. The breakout application of precise analysis algorithms has seemed to be around the corner for the past decade. This seminar can be truly catalytic in the most crucial next steps. By bringing together the community, we hope to consolidate the intense progress in the area in all the right ways, by complementing expertise, by cultivating connections to clients of pointer analysis, and by sharing experience on deployment of analysis algorithms in practice.