HomeresearchPeopleGeneral InfoSeminarsResources
| Software & Systems | Home | People | Publications | Links
The Value Evolution Graph

Silvius Rus - Research

The Value Evolution Graph
Link to the main project page

Why a representation for the flow of values?
Knowledge about the values that a variable may take at a particular point in the program is important to most compiler analysis techniques. For instance, this can help decide whether a conditional branch may be taken or not, which can in turn lead to various optimization opportunities. The values, and the relations among them can be used to compare memory reference indices and prove predicate implications, which leads to solutions of symbolic data dependence equations. For instance, when we intersect two memory location sets, we compare their values using VEG information. If they belong to disjoint ranges, the result of the intersection is the empty set.

Is it a hard problem?
In general, the problem is undecidable. However, most programs follow simple patterns that can be isolated and mapped to a known model, such as a recurrence with closed forms.

What has been done before?
There are several previous models most of which rely on abstract interpretation.

What do we do?
We created the Value Evolution Graph, a scalable, interprocedural representation of the symbolic flow of values within a program. This representation is used extensively by operations with memory location sets during the analysis of memory references. Our representation uses (and improves on) a GSA path disambiguation technique, which leads to more accurate value ranges than those produced by abstract interpretation methods.

You can click here for a detailed description of the Value Evolution Graph representation, or read the papers listed below.


Publications

Silvius Rus, Dongmin Zhang, Lawrence Rauchwerger, "The Value Evolution Graph and its Use in Memory Reference Analysis," In Proc. IEEE Int.Conf. on Parallel Architectures and Compilation Techniques (PACT), pp. 243-254, Antibes Juan-les-Pins, France, Sep 2004.
Proceedings(ps, pdf, abstract)

Silvius Rus, Dongmin Zhang, Lawrence Rauchwerger, "Automatic Parallelization Using the Value Evolution Graph," In Wkshp. on Lang. and Comp. for Par. Comp. (LCPC), West Lafayette, Indiana, Sep 2004.
Proceedings(ps, pdf, abstract)


Home page

Parasol Home | Research | People | General info | Seminars | Resources  

Parasol Lab, 301 Harvey R. Bright Bldg, 3112 TAMU, College Station, TX 77843-3112 
Contact Webmaster      Phone 979.458.0722     Fax 979.458.0718 
Dwight Look College of Engineering
Department of Computer Science | Dwight Look College of Engineering | Texas A&M University
    
Privacy statement: Computer Science Engineering TAMU