JanusGraph / JanusGraph/janusgraph
Use static analysis tools to find bugs early
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 5.8k
- Forks
- 1.2k
- Avg merge
- 13h 53m
- Merged PRs (30d)
- 6
Description
We should use static analysis tools to find and avoid bugs at compile time, before they become issues at runtime, and become much harder (and hence, costlier) to find and fix.
These can be tools we run offline ourselves, such as
- [ ] [SpotBugs](https://github.com/spotbugs/spotbugs) (formerly known as "[FindBugs](http://findbugs.sourceforge.net/)")
- [ ] [ErrorProne](http://errorprone.info/)
- [ ] [NullAway](https://github.com/uber/NullAway) – issue #807
or online services such as
- [x] [Coverity](https://scan.coverity.com/) – PR #59
Wikipedia has a [list static analysis tools for Java](https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#Java).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing Coverity integration referenced by PR #59 and the unchecked SpotBugs, ErrorProne, and NullAway options. Determine which static analysis approach is appropriate for this Java project and define what integration and compile-time checks would count as done.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100