In programming languages, existential quantification is useful for describing relationships among members of a structured type. For example, we may have a list in which there exists some mutual exclusion lock l in each list element such that l protects the data stored in that element. With this information, a static analysis can reason about the relationship between locks and locations in the list even when the precise identity of the lock and/or location is unknown. To facilitate the construction of such static analyses, this paper presents a context-sensitive label flow analysis algorithm with support for existential quantification. Label flow analysis is a core part of many static analysis systems. Following Rehof et al, we use context-free language (CFL) reachability to develop an efficient O(n3) label flow inference algorithm. We prove the algorithm sound by reducing its derivations to those in a system based on polymorphically-constrained types, in the style of Mossin. We have implemented a variant of our analysis as part of a data race detection tool for C programs.
[ .pdf ]
@inproceedings{pratikakis06exists, author = {Polyvios Pratikakis and Jeffrey S. Foster and Michael Hicks}, title = {Existential Label Flow Inference via {CFL} Reachability}, booktitle = {Proceedings of the Static Analysis Symposium (SAS)}, year = 2006, month = aug, publisher = {Springer-Verlag}, editor = {Kwangkeun Yi}, series = {Lecture Notes in Computer Science}, volume = {4134}, pages = {88--106} }
This file was generated by bibtex2html 1.99.