code_analyzer/README.md

44 lines
968 B
Markdown
Raw Normal View History

2021-11-08 15:32:39 +01:00
# Code analyzer
2021-11-08 15:33:20 +01:00
## Sujet
2022-01-07 12:52:33 +01:00
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 lanalyser sous la forme
dun graphe (Mco, Vec). On doit chercher les composantes connexes et les
cycles.
2022-01-04 13:12:29 +01:00
## Programmes testés
2022-01-07 12:52:33 +01:00
* [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 # fclean pour supprimé le graph.dot s'il existe
# car dans le programme je l'ouvre avec flag append
```
### 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**.