Re: SSA, Java and Points-to Analysis

Florian Liekweg <>
28 Jan 2006 15:16:25 -0500

          From comp.compilers

Related articles
SSA, Java and Points-to Analysis (2006-01-26)
Re: SSA, Java and Points-to Analysis (shrey) (2006-01-28)
Re: SSA, Java and Points-to Analysis (Diego Novillo) (2006-01-28)
Re: SSA, Java and Points-to Analysis (Florian Liekweg) (2006-01-28)
Re: SSA, Java and Points-to Analysis (Jeremy Singer) (2006-01-28)
| List of all articles for this month |

From: Florian Liekweg <>
Newsgroups: comp.compilers
Date: 28 Jan 2006 15:16:25 -0500
Organization: University of Karlsruhe, Germany
References: 06-01-080
Keywords: Java, analysis
Posted-Date: 28 Jan 2006 15:16:25 EST wrote:
> Hi,
> (1) How does the static single assignment for Java three-address
> statements look like in the presence of field references ? For eg, if
> there were two references like :
> a.f = b ;
> a.f = c ;
> then is the equivalent form of SSA this :
> a1.f = b;
> a2.f = c; ?
No, it's 'a1.f = c' for the second statement. Just think where you'd
get a2 from ...

> Is there any paper/(any other resource) that describes the extension of
> SSA form for object oriented languages ?
This, and also the problem of representing heap accesses in SSA Graphs
is treated in FIRM, our intermediate representation. I can send You
the tech report about it, if you like.

> (2) Does the use of SSA for Java help in points to analysis ? Does it
> mean that any flow-insensitive analysis automatically becomes a
> flow-sensitive one ? By the way, is flow-sensitive analysis not that
> important ? I am asking this because the most recent papers on
> points-to analysis for Java I happened to encounter ( extension of
> Anderson's analysis for Java, cloning based context sensitive points to
> analysis for Java ) are flow insensitive.

SSA makes a flow-insensitive analysis flow-sensitive. A good paper that
treats points-to-analysis in a way that answers your question would be:

    author = {Michael Hind},
    title = {Pointer analysis: Haven't we solved this problem yet?},
    booktitle = {PASTE 2001},
    year = {2001},
    pages = {54--61},
    address = {New York, NY, USA},
    publisher = ACMPRESS,
    note = {Proceedings of the 2001 ACM SIGPLAN-SIGSOFT
workshop on Program analysis for software tools and engineering},
    abstract = {During the past twenty-one years, over seventy-five papers and
nine Ph.D. theses have been published on pointer analysis. Given the
tomes of work on this topic one may wonder, "Haven't we solved this
problem yet?" With input from many researchers in the Feld, this paper
describes issues related to pointer analysis and remaining open problems.},
    doi = {},
    isbn = {1-58113-413-4},
    location = {Snowbird, Utah, United States},


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.