Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Compil3r.Quad.IPA
Class CSPAResults  view CSPAResults download CSPAResults.java

java.lang.Object
  extended byCompil3r.Quad.IPA.CSPAResults

public class CSPAResults
extends java.lang.Object

Records results for context-sensitive pointer analysis. The results can be saved and reloaded. This class also provides methods to query the results.

Version:
$Id: CSPAResults.java,v 1.2 2003/08/08 08:11:32 joewhaley Exp $

Nested Class Summary
static class CSPAResults.SetOfContexts
           
 class CSPAResults.TypedBDD
           
 
Field Summary
(package private)  org.sf.javabdd.BDDFactory bdd
          BDD factory object, to perform BDD operations.
static java.util.Comparator domain_comparator
           
(package private)  org.sf.javabdd.BDDDomain H1c
          BDD domain for context number of heap object.
(package private)  org.sf.javabdd.BDDDomain H1o
          BDD domain for heap object number.
(package private)  Util.Collections.IndexMap heapobjIndexMap
          Map between heap objects and indices in the H1o domain.
(package private)  org.sf.javabdd.BDD pointsTo
          Points-to BDD: V1c x V1o x H1c x H1o.
(package private)  org.sf.javabdd.BDDDomain V1c
          BDD domain for context number of variable.
(package private)  org.sf.javabdd.BDDDomain V1o
          BDD domain for variable number.
(package private)  Util.Collections.IndexMap variableIndexMap
          Map between variables and indices in the V1o domain.
 
Constructor Summary
CSPAResults(org.sf.javabdd.BDDFactory bdd)
           
 
Method Summary
static java.lang.String domainName(org.sf.javabdd.BDDDomain d)
           
static java.lang.String domainNames(java.util.Set dom)
           
 java.lang.String elementToString(org.sf.javabdd.BDDDomain d, int i)
           
(package private)  org.sf.javabdd.BDD getAliasedLocations(Compil3r.Quad.MethodSummary.Node variable)
           
(package private)  org.sf.javabdd.BDD getAllHeapOfType(Clazz.jq_Reference type)
           
 org.sf.javabdd.BDD getContextInsensitivePointsTo()
          Get a context-insensitive version of the points-to information.
(package private)  void interactive()
           
 void load(java.lang.String fn)
          Load points-to results from the given file name prefix.
static void main(java.lang.String[] args)
           
(package private)  CSPAResults.TypedBDD parseBDD(java.util.List a, java.lang.String s)
           
(package private)  CSPAResults.TypedBDD parseBDDset(java.util.List a, java.lang.String s)
           
(package private)  org.sf.javabdd.BDDDomain parseDomain(java.lang.String dom)
           
private  void readConfig(java.io.DataInput in)
           
private  Util.Collections.IndexMap readIndexMap(java.lang.String name, java.io.DataInput in)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

bdd

org.sf.javabdd.BDDFactory bdd
BDD factory object, to perform BDD operations.


variableIndexMap

Util.Collections.IndexMap variableIndexMap
Map between variables and indices in the V1o domain.


heapobjIndexMap

Util.Collections.IndexMap heapobjIndexMap
Map between heap objects and indices in the H1o domain.


V1c

org.sf.javabdd.BDDDomain V1c
BDD domain for context number of variable.


V1o

org.sf.javabdd.BDDDomain V1o
BDD domain for variable number.


H1c

org.sf.javabdd.BDDDomain H1c
BDD domain for context number of heap object.


H1o

org.sf.javabdd.BDDDomain H1o
BDD domain for heap object number.


pointsTo

org.sf.javabdd.BDD pointsTo
Points-to BDD: V1c x V1o x H1c x H1o. This contains the result of the points-to analysis. A relation (V,H) is in the BDD if variable V can point to heap object H.


domain_comparator

public static final java.util.Comparator domain_comparator
Constructor Detail

CSPAResults

public CSPAResults(org.sf.javabdd.BDDFactory bdd)
Method Detail

getAliasedLocations

org.sf.javabdd.BDD getAliasedLocations(Compil3r.Quad.MethodSummary.Node variable)

getAllHeapOfType

org.sf.javabdd.BDD getAllHeapOfType(Clazz.jq_Reference type)

getContextInsensitivePointsTo

public org.sf.javabdd.BDD getContextInsensitivePointsTo()
Get a context-insensitive version of the points-to information. It achieves this by merging all of the contexts together. The returned BDD is: V1o x H1o.


load

public void load(java.lang.String fn)
          throws java.io.IOException
Load points-to results from the given file name prefix.


readConfig

private void readConfig(java.io.DataInput in)
                 throws java.io.IOException

readIndexMap

private Util.Collections.IndexMap readIndexMap(java.lang.String name,
                                               java.io.DataInput in)
                                        throws java.io.IOException

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException

domainName

public static java.lang.String domainName(org.sf.javabdd.BDDDomain d)

elementToString

public java.lang.String elementToString(org.sf.javabdd.BDDDomain d,
                                        int i)

domainNames

public static java.lang.String domainNames(java.util.Set dom)

parseBDD

CSPAResults.TypedBDD parseBDD(java.util.List a,
                              java.lang.String s)

parseBDDset

CSPAResults.TypedBDD parseBDDset(java.util.List a,
                                 java.lang.String s)

parseDomain

org.sf.javabdd.BDDDomain parseDomain(java.lang.String dom)

interactive

void interactive()