34 lines
1.2 KiB
Markdown
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)
|
|
|