McGill

EVolve: an Extensible Software Visualization Framework

Last updated: December 24, 2003
Sable


EVolve is an extensible framework for visualizing the characteristics and behaviour of object-oriented programs. The architecture of EVolve is designed to facilitate the addition of new data sources as well as new visualization techniques. EVolve allows data providers to examine a new data source immediately using a wide range of visualizations, and allows visualization providers to test a new visualization technique on a variety of existing sources.

The EVolve framework consists of three major parts:

EVolve can be used as a stand-alone tool to visualize program characteristics and behaviour, as well as a framework to develop new visualization techniques.

Soot is free software and is licensed under the GNU Lesser General Public License.



News


Back to Top


Documentation

Publications

Information about EVolve 1.2 is available as Sable Technical Report 2002-12.

 > Full Text: pdf

Information about EVolve 1.1 is available as Sable Technical Report 2002-6.

 > Full Text: ps

Thesis

Qin Wang's Masters Thesis about EVolve 1.1 is available in electronic format.

 > Thesis: ps

Tutorials

Visit the EVolve tutorial page for step-by-step toturials.

Project Report

Wei Wang's Project Report about EVolve 1.2.4 is available in electronic format.

 > Project Report: pdf

Java API

You can browse the current javadoc API documentation for latest stable and unstable releases of EVolve on-line:


Back to Top


Downloads

The latest stable release of EVolve is version 1.2.2. The latest development release of EVolve is version 1.2.4. The original version of EVolve is 1.1.0.

Unstable Version
1.2.4
This is the complete release of EVolve, and bundles the source plus pre-compiled binaries.
This is a development release of EVolve and is still considered unstable.
EVolve-1.2.4.jar
(1 MB)
Binary release of EVolve as an executable .jar file. This release only contains precompiled classes.
This is a development release of EVolve and is still considered unstable.
EVolve-1.2.4-bin.jar
(503 KB)
Source release of EVolve. This release only contains the source code.
This is a development release of EVolve and is still considered unstable.
EVolve-1.2.4-src.jar
(277 KB)
Current Version
1.2.2
This is the complete release of EVolve, and bundles the source plus pre-compiled binaries. EVolve-1.2.2.jar
(420 KB)
Binary release of EVolve as an executable .jar file. This release only contains precompiled classes. EVolve-1.2.2-bin.jar
(248 KB)
Source release of EVolve. This release only contains the source code. EVolve-1.2.2-src.jar
(166 KB)
Previous Versions
1.2.1
This is the complete release of EVolve, and bundles the source plus pre-compiled binaries.
We strongly recommend using release 1.2.2 instead of this release.
EVolve-1.2.1.jar
(615 KB)
Binary release of EVolve as an executable .jar file. This release only contains precompiled classes.
We strongly recommend using release 1.2.2 instead of this release.
EVolve-1.2.1-bin.jar
(333 KB)
Source release of EVolve. This release only contains the source code.
We strongly recommend using release 1.2.2 instead of this release.
EVolve-1.2.1-src.jar
(146 KB)
1.2.0
This is the complete release of EVolve, and bundles the source plus pre-compiled binaries.
We strongly recommend using release 1.2.2 instead of this release.
EVolve-1.2.0.jar
(614 KB)
Binary release of EVolve as an executable .jar file. This release only contains precompiled classes.
We strongly recommend using release 1.2.2 instead of this release.
EVolve-1.2.0-bin.jar
(332 KB)
Source release of EVolve. This release only contains the source code.
We strongly recommend using release 1.2.2 instead of this release.
EVolve-1.2.0-src.jar
(277 KB)
1.1.0
This is the original version of EVolve.
The release bundles the source plus pre-compiled binaries, along with a sample data source.
EVolve-1.1.0.jar
(390 KB)
JVMPI Agent
This is JVMPI agent used by the sample data source in EVolve. evolve_agent.jar
(61 KB)
Sample Execution Trace
This is a sample execution trace for _213_javac, from the SPECjvm98 suite (using size 10). javac_10.dat
(6 MB)


Back to Top


History of Changes

EVolve 1.2.3 to 1.2.4

EVolve 1.2.2 to 1.2.3

EVolve 1.2.1 to 1.2.2

EVolve 1.2.0 to 1.2.1

EVolve 1.1.0 to 1.2.0


Back to Top


Installation


Binary release

The binary release of EVolve can allows EVolve to be run directly from the .jar file. Simply type:

java -jar EVolve-x.y.z-bin.jar

where x.y.z vary depending on the version of EVolve you have downloaded (e.g. EVolve-1.2.0-bin.jar)

Alternatively, the same .jar file can be added to your CLASSPATH, in which case EVolve can be started by issuing:

java EVolve.Main

Note that EVolve requires at least JDK 1.4 (Java 2), as it uses several new features.

Source release

To install the source release of EVolve, you must compile it first. Extract the contents of the EVolve-x.y.z-src.jar file (where x.y.z represent the version of EVolve that you have downloaded, e.g. EVolve-1.2.0-src.jar) into a directory of your choice, which we will call EVOLVE_HOME. From inside that directory, run Ant to compile EVolve. This is usually done by typing

ant

Add EVOLVE_HOME/classes (EVOLVE_HOME\classes on Windows) to your CLASSPATH. To start EVolve, simply run

java EVolve.Main

Note that EVolve requires at least JDK 1.4 (Java 2), as it uses several new features.

Full release

To install the source release of EVolve, simpy extract the contents of the EVolve-x.y.z.jar file (where x.y.z represent the version of EVolve that you have downloaded, e.g. EVolve-1.2.0.jar) into a directory of your choice, which we will call EVOLVE_HOME.

Add EVOLVE_HOME/classes (EVOLVE_HOME\classes on Windows) to your CLASSPATH. To start EVolve, simply run

java EVolve.Main

Note that EVolve requires at least JDK 1.4 (Java 2), as it uses several new features.


Back to Top


Related Projects

A number of other projects at Sable are related to visualization, softare understanding or execution traces.

STEP

STEP is a system for encoding and compressing program traces in a flexible format.

More information is available at: http://www.sable.mcgill.ca/step/

Dynamic Metrics

The Dynamic Metrics project aims at developing new and meaningful dynamic software metrics for Java programs.

More information is available at: http://www.sable.mcgill.ca/metrics/


Back to Top