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.
Clone Digger is a duplicate code detection tool which supports the Python language. It works on the abstract syntax tree level. Discovered clones can differ in small subexpressions; comments and whitespaces are ignored. The report on found clones is written to HTML in a two-column format with the differences highlighted. Clone digger is platform-independent. It has been tested on several open-source projects and the results indicated that about 12% of their code is covered by clones.
mysql-diff is a commandline database structure comparator. It compares the structure of two databases. It currently works with MySQL. A database can be specified as an SQL script or as an URL to a running database. So the tool can compare two scripts, two live databases, or a database and a script. The tool outputs SQL DDL script that can be used to convert one schema to another.
DEPS (formerly known as graph-includes) is a set of tools and libraries which allows users to extract dependency information from arbitrary material (e.g. program source files), apply various transformations to this graph, and draw it. It is typically used as helper tool for a refactoring effort, to create a graph of dependencies between groups of source files. Readability and usability of the dependency graphs are currently improved by customizable grouping of several source files into a single node, coloring of nodes belonging to given groups, and transitive reduction of the graph.
Anchor automatically adds curly braces and semicolons to code written in various programming languages, saving typing and making programs easier to read. It lets you pretend to be coding in Python or Lua while actually writing standard C, Java, PHP, C++, .NET, C#, or D. A script may generate files in the target language and invoke the compiler. An example bash script integrates with TCC to make runnable "scripts" with the speed of C. The scripts are easily modified to target another compiler or interpreter.
Perl::Critic is an extensible framework for creating and applying coding standards to Perl source code. Essentially, it is a static source code analysis engine. It is distributed with a number of Perl::Critic::Policy modules that attempt to enforce various coding guidelines. Most Policy modules are based on Damian Conway's book Perl Best Practices. However, Perl::Critic is not limited to PBP, and will even support Policies that contradict Conway. You can enable, disable, and customize those Polices through the Perl::Critic interface. You can also create new Policy modules that suit your own tastes.