https://github.com/jenkinsci/analysis-model
A library to read static analysis reports into a Java object model
https://github.com/jenkinsci/analysis-model
checkstyle eslint hacktoberfest java pmd spotbugs static-analysis static-code-analysis
Last synced: 7 months ago
JSON representation
A library to read static analysis reports into a Java object model
- Host: GitHub
- URL: https://github.com/jenkinsci/analysis-model
- Owner: jenkinsci
- License: mit
- Created: 2014-09-29T18:48:31.000Z (about 11 years ago)
- Default Branch: main
- Last Pushed: 2025-04-10T13:52:42.000Z (7 months ago)
- Last Synced: 2025-04-10T20:58:30.843Z (7 months ago)
- Topics: checkstyle, eslint, hacktoberfest, java, pmd, spotbugs, static-analysis, static-code-analysis
- Language: Java
- Homepage: https://plugins.jenkins.io/analysis-model-api
- Size: 13.4 MB
- Stars: 85
- Watchers: 103
- Forks: 187
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Support: SUPPORTED-FORMATS.md
Awesome Lists containing this project
README
# Static Analysis Model and Parsers Library
[](https://gitter.im/jenkinsci/warnings-plugin?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[](https://ci.jenkins.io/job/Plugins/job/analysis-model/job/main/)
[](https://github.com/jenkinsci/analysis-model/actions)
[](https://github.com/jenkinsci/analysis-model/actions/workflows/codeql.yml)
[](https://app.codecov.io/gh/jenkinsci/analysis-model)
[](https://app.codecov.io/gh/jenkinsci/analysis-model)
This library provides a Java API to read, aggregate, filter, and query static analysis reports.
It is used by my [Jenkins' warnings plug-in](https://github.com/jenkinsci/warnings-ng-plugin) to visualize
the warnings of individual builds.

Additionally, this library is used by my additional [Quality Monitor GitHub Action](https://github.com/uhafner/quality-monitor), that monitors the quality of projects based on a configurable set of metrics and gives feedback on pull requests (or single commits) in GitHub.
There are also two additional actions available, to autograde student software projects based
on these metrics: [GitHub Autograding action](https://github.com/uhafner/autograding-github-action) and [GitLab Autograding action](https://github.com/uhafner/autograding-gitlab-action).

This library consists basically of three separate parts:
1. A model to manage a set of issues of static code analysis runs. This includes the possibility to track issues in
different source code versions using a fingerprinting algorithm.
2. Parsers for more than a hundred [report formats](SUPPORTED-FORMATS.md). Among the problems this library can detect:
* messages from your build tool (Maven, Gradle, MSBuild, make, etc.)
* errors from your compiler (C, C#, Java, etc.)
* warnings from a static analysis tool (CheckStyle, StyleCop, SpotBugs, etc.)
* duplications from a copy-and-paste detector (CPD, Simian, etc.)
* vulnerabilities
* open tasks in comments of your source files
3. Additional descriptions for a selected set of static analysis tools that provide details for individual violations
(including code samples, solutions, or quick fixes).
All source code is licensed under the MIT license.
Contributions to this library are welcome, please refer to the separate [CONTRIBUTING](CONTRIBUTING.md) document
for details on how to proceed!