Tools List
Alloy is a lightweight modelling language for software design. It is amenable to a fully automatic analysis, using the Alloy Analyzer, and provides a visualizer for making sense of solutions and counterexamples it finds.
- Java 5 or above
- All platforms



Agitar Testing Tool
Agitar creates JUnit tests on your code. It helps developers prevent bugs and prevent code complexity.
- Eclipse

Aristotle provides program analysis information and supports the development of software engineering tools. It gathers control-flow, local data-flow, and symbol table information from C programs. It then uses this data to perform tasks such as data-flow and control-dependence analysis.
- SunOS 5.6 or higher and Perl


Bug Isolation project
Bug Isolation Project is a tool to gather information about bugs and crashes. Specially modified versions of popular open source software packages are distributed. These special versions monitor their own behavior while they run, and report back how they work.
- Fedora
ChangeDistiller is an Eclipse Plugin to extract source code changes based on tree differencing. The tree edit operations and the source code information from the AST are used to classify the source code changes according to tool developer's taxonomy of source code changes.
- Eclipse


Chianti
Chianti develops a change impact analysis tooling for Eclipse. Change impact analysis is particularly useful for tools supporting the evolution of software.
- Eclipse


Concern Manager
ConcernMapper is a plug-in for Eclipse that allows organization of fields and methods into arbitrary modules called concerns. It allows developers to reorganize the modularity of a software system in a way that suits special needs, without altering its "official" structure or behavior.
- Eclipse


Daikon
Daikon is an implementation of dynamic detection of likely invariants. Daikon can detect properties in C, C++, Eiffel, IOA, Java, and Perl programs, in spreadsheet files, and in other data sources.
- Multiple platforms
- Multiple languages
The Extended Static Checker for Java version 2 (ESC/Java2) is a programming tool that attempts to find common run-time errors in JML-annotated Java programs by static analysis of the program code and its formal annotations. It supports pre- and post-condition style reasoning.
- Linux
 
FindBugs
FindBugs looks for bugs in Java programs.  It is based on the concept of bug patterns. A bug pattern is a code idiom that is often an error. This tool uses static analysis to inspect Java bytecode for occurrences of bug patterns. 
- Eclipse Plugin
- Standard version
HyperJ is a tool that supports multi-dimensional separation and integration of concerns in standard Java software. This support facilitates improved modularization, adaptation, composition, integration, and even non-invasive remodularization of Java software components.
- All java platforms

JDevAn Viewer
JDEvAn (Java Design Evolution and Analysis) integrates within the development environment, and enable investigating the change patterns of object-oriented software evolution, exploring the underlying motivations behind them, and guiding future development and maintenance activities.
- PostgreSQL 7.4.5
- Eclipse 3.1 and Java 1.5
Lackwit is a tool that helps programmers with reverse engineering or restructuring tasks. The tool can detect abstraction violations, identify unused variables, functions, and fields of data structures, and detect simple errors of operations on abstract datatypes.
- Solaris, Linux
MINTS (MINimizer for Test Suites) is a generic framework for supporting test-suite minimization that allows for (1) easily encoding a wide range of test-suite minimization problems, (2) handling problems that involve any number of minimization criteria, and (3) computing optimal solutions to minimization problems by leveraging a number of integer linear programming solvers. 
- Linux

 
Mylyn is a task-focused interface for Eclipse that reduces information overload. It does this by making tasks a first class part of Eclipse, and integrating rich and offline editing for repositories such as Bugzilla, Trac, and JIRA. Also, Mylyn monitors work activity to identify information relevant to the task-at-hand, and uses this task context to focus the Eclipse UI on the interesting information, hide the uninteresting, and automatically find what's related.
-Eclipse
Rational Purify is a runtime analysis solution designed to help developers write more reliable code via two crucial functions: memory corruption detection and memory leak detection.
- Windows and Linux
 
ReCrash generates multiple unit tests that reproduce a given program failure. During every execution of the target program, ReCrash stores partial copies of method arguments in memory. If the program fails, the tool uses the saved information to create unit tests reproducing the failure.
- Java  
SemDiff is a recommendation system that suggests adaptations to client programs by analyzing how a framework adapts to its own changes. SemDiff also provides a repository analysis framework that can be used by researchers to study the evolution of any software products developed with CVS or Subversion. 
- Eclipse 3.4 and Java 1.5 or later
ShriMP is a visualization tool designed to help programmers explore large programs.
- Eclipse
- Standard version


Splint
Splint is a tool for statically checking C programs for security vulnerabilities and coding mistakes.
- Linux with a Standard C compiler


Strathcona
Strathcona automatically provides developers with relevant source code examples to help them use frameworks properly and effectively.
- Eclipse