43 lines
862 B
Markdown
43 lines
862 B
Markdown
# 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
|
||
|
||
* [st](https://st.suckless.org/)
|
||
* [dwm](https://dwm.suckless.org/)
|
||
* [neovim](https://github.com/neovim/neovim)
|
||
* code-analyzer
|
||
* test.c
|
||
|
||
## Compilation et execution
|
||
|
||
### Compilation
|
||
|
||
```sh
|
||
$ make fclean; make
|
||
```
|
||
|
||
### Execution
|
||
|
||
```sh
|
||
$ ./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`.
|
||
|
||
```sh
|
||
$ make graph
|
||
```
|
||
|
||
Cela va genere le fichier **graph.pdf**.
|