Code Analysis

This topic is about tools for analyzing computer code.


Java Coding Standard Checker (JCSC) GPL

Inspired by "lint" with a GUI rule editor and plug-ins for Ant, IntelliJ, and CruiseControl.

FindBugs LGPL

Has Eclipse plug-in:

PMD BSD-style

Rule-based code checker that has been around long while and has integration with many IDEs and the like.

A book, "PMD Applied":

Links to related tools:

Aspect Mining and Refactoring

Glass Box

Impressive looking automatic test & diagnostic tool for Java servers. AOP-based using JMX for instrumentation and OSS (CPL)!

Good article @ developerWorks

Video of demo @ Google


"Code Quality in Eclipse"

Test Generation

JUnitFactory is a web service that returns automatically generated JUnit tests for code.

Formal Methods

A gazillion things have been written on formal methods for program, software, and computation.

Output Parsing/Scraping

"STLFilt: An STL Error Message Decryptor for C++"


Sparse, the semantic parser, provides a compiler frontend capable of parsing most of ANSI C as well as many GCC extensions, and a collection of sample compiler backends, including a static analyzer also called "sparse". Sparse provides a set of annotations designed to convey semantic information about types, such as what address space pointers point to, or what locks a function acquires or releases. Linus Torvalds started writing Sparse in 2003, initially targeting issues such as mixing pointers to user address space and pointers to kernel address space.


Links I didn't want to lose, but doesn't mean they'll mean anything to you...

"Component Identification Through Program Slicing"

"Object-oriented Process, Environment, and Notation (OPEN)" is related to "Brian Henderson-Sellers".