|
| 1 | +**JIVAN** (stands for [Java](https://en.wikipedia.org/wiki/Java_(programming_language)) |
| 2 | +and [Ivan](https://en.wikipedia.org/wiki/Ivan)) |
| 3 | +is an experimental [static analyzer](https://en.wikipedia.org/wiki/Static_program_analysis) |
| 4 | +for Java programs, powered by [LLM](https://en.wikipedia.org/wiki/Large_language_model) |
| 5 | +and [ML](https://en.wikipedia.org/wiki/Machine_learning) techniques. |
| 6 | + |
| 7 | +**Motivation**. Machine Learning and Large Language Model techniques offer |
| 8 | +promising results in the area of code understanding. In some cases it can |
| 9 | +outperform traditional tools like [SpotBugs], [PMD], and [Infer]. Moreover, |
| 10 | +our analyzer trys to analyze the social aspect of coding (code authorship |
| 11 | +in Git, team responses, etc.). Besides that, here are no publicly available |
| 12 | +and easy to use static analyzers for Java, which would be based on some LLM/ML |
| 13 | +models. |
| 14 | + |
| 15 | +## How to use? |
| 16 | + |
| 17 | +TBD.. |
| 18 | + |
| 19 | +## How to contribute? |
| 20 | + |
| 21 | +Fork repository, make changes, send us a [pull request](https://www.yegor256.com/2014/04/15/github-guidelines.html). |
| 22 | +We will review your changes and apply them to the `master` branch shortly, |
| 23 | +provided they don't violate our quality standards. To avoid frustration, |
| 24 | +before sending us your pull request please run full Maven build: |
| 25 | + |
| 26 | +```bash |
| 27 | +mvn clean install |
| 28 | +``` |
| 29 | + |
| 30 | +You will need [Maven 3.3+], [Java 8+], and [Python 3.11+] installed |
| 31 | + |
| 32 | +[SpotBugs]: https://spotbugs.github.io |
| 33 | +[PMD]: https://pmd.github.io |
| 34 | +[Infer]: https://fbinfer.com |
| 35 | +[Maven 3.3+]: https://maven.apache.org |
| 36 | +[Java 8+]: https://openjdk.org/install |
| 37 | +[Python 3.11+]: https://www.python.org/downloads/release/python-3110 |
0 commit comments