src | ||
.clang-format | ||
.gitignore | ||
cycle1.png | ||
cycle2.png | ||
cycle3.png | ||
LICENSE | ||
Makefile | ||
presentation.md | ||
prez.md | ||
README.md | ||
test.c |
Code analyzer
Sujet
Un programme peut être considéré comme un graphe orienté où chaque fonction est un noeud. Prendre un programme important (plusieurs dizaines de fichiers, plusieurs dizaines de milliers de lignes de code) et l’analyser sous la forme d’un graphe (Mco, Vec). On doit chercher les composantes connexes et les cycles.
Programmes testés
Compilation et execution
Compilation
$ make fclean; make # fclean pour supprimé le graph.dot s'il existe
# car dans le programme je l'ouvre avec flag append
Execution
$ ./code-analyzer --help
$ ./code-analyzer -p ./src/ -c --print-vec --cycles-vec
Generation de pdf
Pour generer un pdf du graphe, il faut avoir installé graphviz
.
$ make graph
Cela va genere le fichier graph.pdf.