Another Open Source Code Analysis Tool (AOSCAT)
As the name implies, this is a code analysis tool to analyze C++, Java, and C-Sharp source code. AoscaT is integrating data from various code analysis tools into a convenient report. Its main emphasis is C++, but it is easily extended and many of the general OO concepts translate straight over. Hypothetically, it could also be used to analyze C code, or any other code for that matter.
The need came from industry. They asked us to give them an independant evaluation of their existing C++ code base (1000+ classes, over 700,000 lines of code). We were looking at many existing tools, but found that especially for C++, either the tools were free but limited, or they were pretty cool, but expensive.
So we decided to build a tool (or tool chain) that first is opensource and second easily extendable. That's what aosCAT is all about.
How does it work?
AosCat uses other tools to do the real work. Such tools can be open source tools such as Doxygen or PMD, they can be closed source tools such as SourceMonitor, or they can be your own, 'handwritten' tools (like our RegExp tool). The only requirement for those tools is to produce XML (but even this requirement can be relaxed). Then the XML is run through a couple of XSLTs and out comes a beautiful HTML report.
So you might ask what do you need AoScAt for? Well, first, the RegExp Report generator is part of it. Second, although the data come from all different kinds of sources, it can look nice an homogeneous (managers like that). Third, because the Pro version, stores all the data in a BIG database (MySQL), you can generate reports that mix information that comes from different tools. And finally, you can create DIFF reports. These are reports that show you how your software has improved (or deteriorated) since the last version.
aoscaT is written in Java and has been tested under Windows (WinXP) and Linux (Ubuntu).
Depending on the version of AOSCAT, you will need different other pieces of software. They all need Java's JRE 1.6 or later.
For the full version
- Doxygen is needed for a sopisticated structural analysis of the source code.
- SourceMonitor will be used for gathering simple project metrics. On non-Windows systems, we recommend
- Wine in order to execute the Windows binary.
- MySQL will be used by default for storing the generated metadata.
For the minimal regular expression analysis version
None of the above have to be installed.
What's this thing called?
The kitten is called 'AOSCAT' (at least that's what it says on the birth certificate), and it is pronounced like 'Chaos Cat' without the first 'C'.