IBM Israel
Skip to main content
 
Search IBM Research
   Home  |  Products & services  |  Support & downloads  |  My account
Select a Country Select a country
IBM Research Home IBM Research Home
IBM Haifa Labs Homepage IBM Haifa Labs Home

Toad

Code Optimization Technologies
Compiler Technology
Project Homepage
 ·Contact Information
Feedback


Toad
Toad is a post production environment that allows for symbiosis between the dynamic information taken from a running application and the static information gathered from the classes that take part in the application. Toad can be downloaded from AlphaWorks.    


The Toad environment has been developed as an umbrella framework for a set of core libraries and tools that monitor, understand, and optimize Java applications. While each tool is useful, their interaction under the Toad framework allows the whole to be far more useful than the sum of the parts.

The core libraries in Toad include:
  1. CFParse – allows you to read, write, and edit classfiles. CFParse is also available as a separate technology from AlphaWorks.
  2. JAN – collects and manipulates the static information of a Java component (e.g., application, applet, or servlet) by analyzing a set of classfiles. JAN is designed to effectively construct three global representations: reference graph, hierarchy graph, and call graph.
  3. MONITORING – allows you to invisibly monitor network protocols in Java. The API comes with some standard protocols, such as the Sun RMI and CORBA/IIOP, and allows you to plug in filters for your own protocols.
  4. MESSAGING – allows the remote user to gather information from a number of monitored programs and to assemble this information to achieve a more global view.

Toad comes with a number of tools, including:
  1. Gasm – a GUI-based application that allows you to read, write, edit, and compile classfiles and assembly language programs.
  2. Jackie – a graphical interface built on top of CFParse that allows you to visualize and edit classfiles.
  3. GLance – a GUI-based tool that provides information on code coverage.
  4. Wizard Analyzer – a wizard-based tool that performs static analysis of a Java component and provides global information about the reference, hierarchy, and call graphs.
  5. JanGUI – Jan Graph Viewer, a graphical interface that visualizes component hierarchy and call graphs.
  6. UCR – a GUI-based tool that removes unreachable classes and methods from a given Java component.
  7. Monguise – a graphical front-end to the monitoring and messaging libraries in Toad.
  8. RMI Registry Browser – a tool that allows you to browse an RMI registry, and to remotely invoke methods on its registered objects.

The following figure illustrates Toad's basic architecture:



JAN technology influenced the work of Whole Program Optimizations (WPO) done for the AS/400 in Rochester. The WPO was improved by basing several of its optimizations on JAN's algorithms.

  Publications

  • Sara Porat, Bilha Mendelson, Irina Shapira, "Sharpening Global Static Analysis to Cope with Java", Proceedings of CASCON '98 pp . 303-316.
  • Ayal Zaks, Vitaly Feldman and Nava Aizikowitz, "Sealed Calls in Java Packages", OOPSLA 2000.


 

  About IBM  |  Privacy  |  Legal  |  Contact