Main Page

From WalaWiki

Jump to: navigation, search



Welcome to the T.J. Watson Libraries for Analysis (WALA)

The T. J. Watson Libraries for Analysis (WALA) provide static analysis capabilities for Java bytecode and related languages and for JavaScript. The system is licensed under the Eclipse Public License, which has been approved by the OSI (Open Source Initiative) as a fully certified open source license. The initial WALA infrastructure was independently developed as part of the DOMO research project at the IBM T.J. Watson Research Center. In 2006, IBM donated the software to the community.

For recent updates on WALA, join the mailing list, or follow WALA on Twitter or Google+.

Core WALA Features

WALA features include:

  • Java type system and class hierarchy analysis
  • Source language framework supporting Java and JavaScript
  • Interprocedural dataflow analysis (RHS solver)
  • Context-sensitive tabulation-based slicer
  • Pointer analysis and call graph construction
  • SSA-based register-transfer language IR
  • General framework for iterative dataflow
  • General analysis utilities and data structures
  • A bytecode instrumentation library (Shrike) and a dynamic load-time instrumentation library for Java (Dila)

WALA Tools in JavaScript

Recently, we have been expanding the set of WALA tools implemented in JavaScript. We have released a normalizer and some basic program analyses for JavaScript in the JS_WALA GitHub repository. We have also made available WALA Delta, a delta debugger for JavaScript-processing tools. Please see the linked GitHub repositories for further details on these tools.

WALA-Based Tools

Several groups have built open-source tools that enhance or build on WALA that may be useful to other WALA users. For details, see the Wala-based tools page.

About this Wiki

We're hosting all documentation for WALA on this wiki. We've chosen a wiki format just so that you can contribute. Don't be shy!

You must log in to edit pages.

The WALA publications department is populating this wiki with technical documentation on a demand-driven basis, driven by questions posted to the wala-wala mailing list. We recommend this page for searching the mailing list archives.

Currently, we have the JavaDoc documentation for the WALA code being uploaded once per day. If you think a particular file deserves better javadoc, please open a feature request.

Personal tools
project information