TACLE: Downloading and Getting Started


Introduction

TACLE stands for type analysis and call graph construction for Eclipse. The purpose of this Eclipse plug-in is to provide information about types of expressions and about calling relationships between methods in a Java program. Such information plays an important role in a variety of static analyses for object-oriented software. The current release implements the well-known rapid type analysis (RTA) algorithm for Java 1.4 programs.

Additional details about the design of TACLE are available in the paper Building a Whole-Program Type Analysis in Eclipse, Mariana Sharp, Jason Sawin, and Atanas Rountev, Eclipse Technology Exchange Workshop (eTX'05), pages 10-14, October 2005. [ PDF ] [ BibTeX ] [ Talk ].

Some approaches for reporting the progress of the analysis are described in Estimating the Run-Time Progress of a Call Graph Construction Algorithm, Jason Sawin and Atanas Rountev, IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'06), pages 53-62, September 2006. [ PDF ] [ BibTeX ] [ Talk ].

Quick Links

Requirements

Downloads and Installation

  Tacle 1.2.1   Download plug-in Download source     README.source Examples included in the source distribution Released on 2/7/2006
  Tacle 1.2.0   Download plug-in Download source     README.source Examples included in the source distribution Released on 1/16/2006
  Tacle 1.1.0   Download plug-in Download source     README.source Examples included in the source distribution Released on 12/1/2005
  Tacle 1.0.0   Download plug-in Download examples Released on 11/17/2005

Installation and Running

  1. Download and unzip the plug-in file tacle_x_y_z.zip into your main "eclipse" directory (e.g. "C:\Program Files\eclipse\"). This is the directory that has the main Eclipse executable (e.g.. eclipse.exe) and the "plugins" and "features" subfolders.
  2. Restart (or start) Eclipse. Note: Eclipse should be executed with the -vmargs -Xmx800m (or higher) option, in order to have sufficient JVM heap memory.
  3. Try the examples distributed with TACLE to ensure that the plug-in was installed successfully.

API

Documentation

Features of the current release

Known Issues in Version 1.2.0

Examples

The main purpose of the TACLE plug-in is to provide clients with an API so that they can use the analysis solution in their own plug-ins. However, some sample client code is included in the TACLE distribution; this code is accessible from the Eclipse IDE. The purpose of these examples is twofold: (1) to provide concrete examples of how to use the TACLE API, and (2) to provide a mechanism to check that TACLE has been installed properly.

Hello TACLE

This is the simplest of the three examples. It generates a dialog box that reports the number of reachable methods from the main method. To use it:
  1. Download and install TACLE as described above.
  2. Open in Eclipse any Java project that contains a main method.
  3. In the Java perspective navigate to the main method in the "Package Explorer" pane.
  4. Right-click on the main method and select the "Hello TACLE Action" option (if this option is not shown, either TACLE was not installed correctly, or Eclipse was not restarted).
  5. A popup will appear with the number of reachable methods (the analysis may take several minutes and the IDE will be unavailable for that time).

Hello TACLE Job

This action has the same functionality as the previous example, but works as an Eclipse background job that does not block the IDE. To use it, perform steps 1-4 as described above. The results are accessible in Eclipse's Progress View. This view can be opened by clicking on the icon that appears in the lower right corner of the IDE once the plug-in is started. When the plug-in finishes execution, an exclamation sign is displayed on the same icon, indicating that the plug-in generated a message. By clicking on the icon again, the message is displayed informing on the number of reachable methods.
Note: This example is using a very simple locking mechanism to ensure the data integrity of the analysis. If using a TACLE job in her client code, it is the user's responsibility to implement a more refined lock that suits her purposes.

Construct Call Graph

The purpose of this example is to demonstrate more fully the TACLE API. The example generates a .dot file which can be provided as input to Graphviz to generate a call graph of the user-level code. (Note: For ease of readability, only calls from/to user-defined methods will be included in the graph.) To use it:
  1. Download and install TACLE as described above.
  2. Open in Eclipse any Java project that contains a main method.
  3. In the Java perspective navigate to the main method in the "Package Explorer" pane.
  4. Right-click on the main method and select the "Construct Call Graph" option (if this option is not shown, either TACLE was not installed properly, or Eclipse was not restarted).
  5. A popup will appear informing you where the dot file has been generated (the analysis may take several minutes and the IDE will be unavailable for that time).

Help

For help or further information about the TACLE plug-in please contact any of the following people: