chord.analyses.alias
Class CtxtsAnalysis

java.lang.Object
  extended by chord.project.analyses.JavaAnalysis
      extended by chord.analyses.alias.CtxtsAnalysis
All Implemented Interfaces:
ITask

public class CtxtsAnalysis
extends JavaAnalysis

Analysis for pre-computing abstract contexts.

The goal of this analysis is to translate client-specified inputs concerning the desired kind of context sensitivity into relations that are subsequently consumed by context-sensitive may alias and call graph analyses.

This analysis allows:

This analysis can be called multiple times and in each invocation it can incorporate feedback from a client to adjust the precision of the points-to information and call graph computed subsequently by the may alias and call graph analyses. Clients can indicate in each invocation: Recognized system properties: This analysis outputs the following domains and relations:

Author:
Mayur Naik (mhn@cs.stanford.edu)

Field Summary
static int CTXTCPY
           
static int CTXTINS
           
static int[] global_kcfaValue
           
static int[] global_kobjValue
           
static int KCFASEN
           
static int KOBJSEN
           
 
Fields inherited from class chord.project.analyses.JavaAnalysis
consumes, controls, name, produces
 
Constructor Summary
CtxtsAnalysis()
           
 
Method Summary
static java.lang.String getCspaKind()
           
 void run()
          Executes this analysis in a "classic" project.
 
Methods inherited from class chord.project.analyses.JavaAnalysis
getName, run, setName, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CTXTINS

public static final int CTXTINS
See Also:
Constant Field Values

KOBJSEN

public static final int KOBJSEN
See Also:
Constant Field Values

KCFASEN

public static final int KCFASEN
See Also:
Constant Field Values

CTXTCPY

public static final int CTXTCPY
See Also:
Constant Field Values

global_kobjValue

public static int[] global_kobjValue

global_kcfaValue

public static int[] global_kcfaValue
Constructor Detail

CtxtsAnalysis

public CtxtsAnalysis()
Method Detail

run

public void run()
Description copied from interface: ITask
Executes this analysis in a "classic" project. This method must usually not be called directly. The correct way to call it is to call ClassicProject.runTask(String) or ClassicProject.runTask(ITask), providing this analysis either by its name or its object.

Specified by:
run in interface ITask
Overrides:
run in class JavaAnalysis

getCspaKind

public static java.lang.String getCspaKind()