aspectj is an aspect-oriented extension to Java that enables the clean modularization of crosscutting concerns such as error checking and handling, synchronization, context-sensitive behavior, performance optimizations, monitoring and logging, debugging support, and multi-object protocols.
Jamit (Java Access Modifiers Inference Tool) allows you to infer tighter access modifiers for Java code. Analyzing bytecode, it can find out if fields or methods may be declared private, default, protected, or final. Engineering software with Jamit can thus help increase hiding and keep interfaces as small as possible. The most useful application for Jamit is dead code elimination. Jamit can be used to find out which methods and classes are unreachable and automatically eliminate the corresponding code, saving space for binary distributions.
cqual is a typed-based analysis tool for finding bugs in C programs. It extends the type system of C with extra user-defined type qualifiers. The programmer annotates their program with the appropriate qualifiers, and cqual checks for errors. Incorrect annotations indicate potential bugs. cqual presents the analysis results using Program Analysis Mode, an emacs-based GUI. Among other applications, cqual can be used to detect potential format-string vulnerabilities and to detect user-space/kernel-space pointer errors.
Grouch is a system for describing and enforcing a Python object schema. An object schema describes every class in a collection of objects -- in particular, it specifies the type of every instance attribute of every class. Grouch includes a type language for specifying attribute types, a tool to parse specially-formatted class docstrings and output a complete object schema, and another tool for walking a persistent object graph and ensuring that every scrap of data in it conforms to the object schema extracted from your class docstrings. The API for defining, querying, and enforcing types is fairly complete and well-documented, so you can use Grouch's type system in other ways as well.
Source Auditor is a software engineering tool designed to make it possible for teams of engineers to ensure that their code base has been reviewed periodically to meet their code standards and other criteria. The metrics that are collected are completely user definable to fit a given project. The system is implemented using J2EE as a hybrid of servlets and jsps, persisting as XML. The system operates without making any modifications to the source code being audited.
Ozibug is a platform-independent, Web-based bug tracking system that can be installed and run straight out of the box on any Java servlet capable platform. It can be used to manage the reporting of bugs and tracking of their progress from discovery through to resolution. It provides standard features such as file attachments, multiple module support, email notifications, custom reports, and RSS feeds. For those who require more flexibility, it also offers fine grained access control, database storage, pluggable authentication, an incoming mail gateway, and customizable appearance, email notifications, and reference data.
UPPAAL is an integrated tool environment for modeling, validation, and verification of real time systems, modeled as networks of timed automata, extended with data types (bounded integers, arrays, etc.). Typical application areas include real time controllers and communication protocols, in particular those where timing aspects are critical.
Anthill is a tool that ensures a controlled build process and promotes the sharing of knowledge within an organization. Anthill performs a checkout from the source repository of the latest version of a project before every build and tags the repository with a unique build number after every build. It supports many reposistory adapters including: CVS (Concurrent Versions System), Visual Source Safe, Perforce, PVCS, StarTeam, MKSIntegrity, and FileSystem. Anthill also automatically updates a project intranet site with artifacts from the latest build. Anthill is an extension to the Apache-Ant project and is compatible with version 1.3, 1.4, and 1.5 of Ant.