Skip to content
Karim Ali edited this page Nov 6, 2020 · 14 revisions

These are tools / libraries created by other groups that build on or enhance WALA. Note that these tools are supported by the authors, not by the WALA maintainers. The tools are open source unless otherwise noted (but please check yourself if the license is suitable for your purposes). Feel free to add links to other tools that we have missed. Several of these tools were presented at the 2015 Workshop on WALA.

Averroes

Averroes is a tool that generates a placeholder library overapproximating the possible behaviour of the original library. It is compatible with WALA's call graph construction algorithms.

Compare Call Graphs (JavaScript)

Compare Call Graphs allows for comparison between the dynamic call graph obtained from a Jalangi2 analysis to the static call graph of a JavaScript file in WALA.

Hopper

Hopper is a goal-directed static analysis tool for languages that run on the JVM.

HybriDroid

HybriDroid is an implementation of hybrid Dalvik and JavaScript analysis for WALA.

IDE

IDE is an implementation of the Interprocedural Distributive Environment (IDE) algorithm for WALA.

IteRace

IteRace is a static race detection tool for Java that includes knowledge of loop-parallel operations, among other features.

JFlow

JFlow provides interactive source-to-source transformations for flow-based paralellism.

Joana

Joana is an information-flow control analysis framework for Java. There is also an example repository showing how to apply Joana to Android code.

Keshmesh

Keshmesh is a static analysis framework for detecting and fixing concurrency bug patterns in Java programs.

Optimize Java 8 Streams Refactoring

Optimize Java 8 Streams Refactoring consists of automated refactoring research prototype plug-ins for Eclipse that assists developers in writing optimal stream client code in a semantics-preserving fashion.

Scala Libraries

WALAFacade is a Scala library that enables more idiomatic use of WALA from Scala code. The CUPLV walautil project is a collection of utility methods for WALA projects written in Scala.

SWAN

SWAN is an open-source static analysis framework that allows robust program analyses of Swift programs using IBM’s T.J. Watson Libraries for Analysis (WALA). To provide a wide range of analyses for Swift, SWAN provides both a command line interface, and a graphical user interface in the form of a VS Code extension. The developer can use these front ends to configure, run, and view the analysis results. To learn more about the project, please visit https://github.com/themaplelab/swan.