-
Notifications
You must be signed in to change notification settings - Fork 2
Home
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.
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.
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.
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
- Software Quality Assessment of Open Source Software This paper talks about SQO-OSS static analyser, a open source plug-in oriented system to generate software quality reports on FLOSS projects.
- Evaluating Static Source Code Analysis Tools This is the master thesis of Thomas Hofer. He does not talk anything about software metrics, but this is a very good list of software metrics tools for different programming languages.
- Metrics and models in software quality engineering Not the entire book, but is OK for now.
- Predicting software defect density: a case study on automated static code analysis This paper presents a case study on predicting defects in the domain of embedded software development by use of automated static code analysis tools. They have used CodeScanner and PC-LINT.
- Cross-Language Program Analysis and Refactoring In this paper the authors discuss the the foundations of cross-language analysis and refactoring. They use as a case study a Visual Basic + C# + .NET ASP example, and they consider a program file as multi-language file. (maybe not interesting for us)
- Source Code Analysis: A Road Map
- The measurement of software quality and complexity -- Chapter 12
- Software Metrics: An Analysis and Evaluation
- 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
By now this project is being developed by 3 persons:
- Jose Pedro Silva - zepedro.cs@gmail.com
- Pedro Faria - pedro.faria.80@gmail.com
- Ulisses Costa - caos.di.uminho.pt/~ulisses