AntiCutAndPaste is designed to search for text fragments that have been copied and pasted in programming language source code or plain text. It has been tested on sources from large C++, Pascal, Java, and C# (Mono) projects. The algorithms used are very fast and can handle up to three million C++ code lines in one minute. Minor modifications of code are ignored during the search. Reports are sorted conveniently by the total size of all similar fragments and there are many report customization options.
Autodia is a command line Perl application that generates UML class diagrams from source code, SQL, and database connections. It supports multiple programming languages including SQL, and can output images (using GraphViz/VCG/SpringGraph), Dia XML and Umbrello XML, or custom formats using templates.
CScout is a source code analyzer and refactoring browser for collections of C programs. It can process workspaces of multiple projects, mapping the complexity introduced by the C preprocessor back into the original C source code files. CScout performs an analysis of C source code that is more detailed and accurate than current compilers and linkers, as it takes into account the identifier scopes introduced by the C preprocessor and the C language proper scopes and namespaces.
The Google Singleton Detector, or GSD, is a tool which analyzes Java bytecode and detects the use of Singletons. It's not quite as simple as that, however. First, GSD doesn't only detect singletons; it detects four different types of global state, including singletons, hingletons, mingletons, and fingletons. Second, it outputs a graph with all these different types of static state highlighted, and shows all the classes that are directly dependent on them. The point of this tool is to allow you to see all of the uses of global state inside a project, as well as how they are all interrelated.
The Maven-Grester plugin is a Maven2 plugin for Jester, the JUnit tester tool. It enables Jester to be executed at any valid Maven lifecycle phase in a Maven Project. It saves developers from constructing cumbersome Java classpath entries on the commandline every time they need Jester to run against JUnit Tests in the project. It can also help to dispense with a suite of scripts that may have been written to handle complex Java classpath executions for Maven projects.
Structure101 is a tool to understand, measure, and control software structure. It allows you to see exactly how your high-level components depend on each other and why. You can use it to find out immediately when your architecture is accidentally changed by code-level changes at the coal-face. It can help you control structural complexity, since it can measure the complexity of methods, classes, and packages and warn you when given limits are exceeded. It can also discover the locations of productivity-killing package dependency cycles.
VRaptor3 is a fully-fledged Java Web framework focused on fast development and maintainable code. It intends to make RESTful application development easy. A resource corresponds to a business logic annotated with its path and HTTP method. It runs inside DI Containers (Spring or Pico out of the box) and, therefore, enables full integration with them. Also, using Hibernate is easier: its session is automatically injected by VRaptor, so you just have to use it. VRaptor3 is refactor-friendly, especially in its redirecting configuration. It is also nicely extensible.