A highly-efficient refinement algorithm for demand-driven points-to analysis (paper). Implemented in WALA. Maintained by Manu Sridharan. A different implementation of the points-to analysis algorithm will be included in the next Soot release. Ask if you need it earlier. Also maintained by Manu Sridharan.
A second generation of the Prospector synthesizer (paper) for search and generation of Java API client code. Enables fine control of the API search and code syntehsis with a rich query language. An Eclipse plugin. Maintained by Liviu Tancau.
An implementation of the thin slicing algorithm (paper) is included in WALA. No user interface yet but suitable for slicing experiments. Implemented by Stephen Fink (IBM).
An incrementalizer of data structure invariant checks for Java (paper). Maintained by AJ Shankar.
A sketch-based synthesizer (paper, paper). Maintained by Gilad Arnold and Armando Solar-Lezama.
A web version of the Java API synthesizer. Maintained by Dave Mandelin.
Eclipse plugin with the first generation of the Prospector. A simple user interface but less control over the synthesis. Maintained by Dave Mandelin.
Discovering string subtypes by mining a corpus of client code. A research prototype. Maintained by Dave Mandelin.
A viewer for large SVG graphs. Useful for viewing graphs generated by prorgam analysis tools. Easy panning and zooming, scaled printouts, and multiple-page printouts. Maintained by Dave Mandelin.
A specialized shape analysis tool. Uses a fixed, generic abstraction for analyzing the heap behavior of programs written in modern imperative languages like Java. Several novelties include the use of structure-based refinement, the definition and implementation of loose embedding, and the graph-based 3-valued structure implementation. Maintained by Gilad Arnold.
Simplescalar-based framework for measuring the critical path, slack, cost. Ask Brian Fields for the code.
"Remote Testing" Eclipse Plugin A plugin for displaying results of testing a student assignment on a server against a referecne solution. Displays errors and coverage. Used in our compiler courses. Written by Lexin Shan.
Other (non-research) software released by members of our group: Random New York Times Crossword Link, Total Fragmentation, Sudoku Slam, Multi-Column Articles.