Monthly ArchiveMayo 2008
Software Libre & Arquitectura de Software 02 May 2008 10:55 am
Analizador de Código C, C++ y Java
He estado buscando un rato una herramienta que analizara el código C++ y Java de Osmius. Haberlas haylas pero son privativas y me ha extrañado lo poco que hay en software abierto.
Así es como he llegado a CCCC con el poco afortunado nombre de “C and C++ Code Counter”.
CCCC hace bastante más que contar las líneas de código y los comentarios. Se basa en la tesis de Tim Littlefair que pretende establecer relaciones entre:
- líneas de código
- líneas de comentarios
- cantidad de sentencias de control (if, while, for,..)
- flujos de llamadas y de información entre los módulos y ficheros
- y la cantidad de relaciones de herencia entre las clases
y
- la complejidad del proyecto y su impacto el rendimiento y en la facilidad de desarrollo y mantenimiento.
En su tesis no consigue llegar a conclusiones principalmemente por la falta de datos reales (como suele ocurrir en muchos trabajos académicos), pero maneja conceptos interesantes - un poco por lo menos - como “McCabe’s Cyclomatic Complexity“.
Es verdad que con un solo proyecto sacas algunas pocas conclusiones, pero si cada proyecto publicara el resultado de estos análisis podríamos compararalos entre sí y ver si realmente correlacionan con su uso, el lenguaje utilizado, o la utilización o no de frameworks. Otra utilidad sería comparar un mismo proyecto a lo largo del tiempo.
La salida de CCCC contra los ficheros C++ del proyecto Osmius.
En Java todavía no lo he probado.