Citation
Méndez-Lojo, Mario and Hermenegildo, Manuel V.
(2007).
Precise set sharing and nullity analysis for java-style program.
Monografía (Technical Report).
Facultad de Informática (UPM), Madrid, Spain.
Abstract
Finding useful sharing information between instances in object- oriented programs has been recently the focus of much research. The applications of such static analysis are multiple: by knowing which variables share in memory we can apply conventional compiler optimizations, find coarse-grained parallelism opportunities, or, more importantly,erify certain correctness aspects of programs even in the absence of annotations In this paper we introduce a framework for deriving precise sharing information based on abstract interpretation for a Java-like language. Our analysis achieves precision in various ways. The analysis is multivariant, which allows
separating different contexts. We propose a combined Set
Sharing + Nullity + Classes domain which captures which
instances share and which ones do not or are definitively
null, and which uses the classes to refine the static information when inheritance is present. Carrying the domains in a combined way facilitates the interaction among the domains in the presence of mutivariance in the analysis. We show that both the set sharing part of the domain as well as the combined domain provide more accurate information than previous work based on pair sharing domains, at reasonable cost.