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
Strathcona automatically provides developers with relevant source code
examples to help them use frameworks properly and effectively.
-
Eclipse