Files
VV-ISTIC-TP2/sujet.md
Romain Lefeuvre 7b185c9c0c 2025 init
2025-11-18 14:41:54 +01:00

34 lines
1.2 KiB
Markdown

# Static analysis
## Instructions
Some of the exercises in this practical session use PMD, JavaParser or require a full project as input.
To obtain and use PMD, consult the instructions given in https://pmd.github.io/pmd/pmd_userdocs_installation.html
The folder [javaparser-starter](code/javaparser-starter) contains the code of an application that uses JavaParser to print all public classes and public methods from a given project. You can use this example as a starting point for all exercises using JavaParser.
We recommend you use the following projects as input for the exercises:
- [Apache Commons Collections](https://github.com/apache/commons-collections)
- [Apache Commons CLI](https://github.com/apache/commons-cli)
- [Apache Commons Math](https://github.com/apache/commons-math)
- [Apache Commons Lang](https://github.com/apache/commons-lang)
Feel free to use any other project you want.
## Exercises
1. [TCC *vs* LCC](exercises/tcc-vs-lcc.md)
2. [Using PMD](exercises/using-pmd.md)
3. [Extending PMD](exercises/extending-pmd.md)
4. [No getter!](exercises/no-getter.md)
5. [Cyclomatic Complexity with JavaParser](exercises/jp-cc.md)
6. [Class cohesion with JavaParser](exercises/jp-tcc.md) (bonus)