Skip to content
ulisses edited this page Jun 25, 2011 · 23 revisions

Welcome to the Static-Code-Analyzer wiki! The main goal of this project is to implement several software metrics to be able to classify software projects. We use as a test case a programming contest, where the participants send code to the system, and when the contest closes, the administrator (a teacher for example.) receives the code analysis report.

Te project front end is done in RoR, we have a lot of scripts in Perl to do some little work and we use Haskell to analyse software. In this case we are just concern in full analyse C code. We hope in the future we be able to analyse other programming languages too.

Installation

You will mainly need: Haskell (GHC), Perl, RoR and some modules for this 3 languages. We have done a beginning of a installation script, you can find it in the top level makefile in the root folder. Is something does not work, please see the modules you need to install to be able to use this project.

Concerning Haskell

Concerning Perl

Concerning Ruby on Rails

Concerning LaTeX

note: Right now we only support MacOSX and Ubuntu Linux.

##Running If you use the RoR interface you are set. But if you just want to test the metrics generator (in Analyzer folder) you can use the makefile. Make sure you have installed all the Haskell packages.

If you have multiple cores on your machine (n cores), you should use:

staticAnalyzer [OPTIONS] +RTS -N<nrOfCores>

If you run the program to generate LaTeX files you should run this command:

latexmk -e '$pdflatex=q/pdflatex --shell-escape -synctex=1 %T/' -pdf TEXFILE

where TEXFILE is the generated LaTeX file.

Pages on this Wiki

You can see more documentation about this project under this pages:

Implemented Metrics where we list all the implemented metrics

Strafunski the generic programming (Scrap Your Boilerplate) tool to traverse the C99 tree

Language.C the library used to parse C files

Documentation on software metrics for developers

Some metrics formulae

  • Sonar metrics This is an open source software that implement a lot of software metrics for OO languages. They have a pretty nice table in their homepage about the metrics formulae

People

By now this project is being developed by 3 persons: