oisf / suricata
Code health
This codebase scores 6.7 out of 10 for code health, which we rate fair. It also scores maintainability 5.5 and static performance 9.9 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 54 of 1,680 files are git hotspots, and they average 3.3 — which is where the fixes pay off most.
Do next
1 suggested
1 thing worth doing in the week to Sep 17, the last indexed commit, 1 of them now.
Now
- Critical
Clean up what this week's commits left: 35 serious findings in 6 files
6 commits in the last 7 days added or worsened them, and they are still open. Start with
rust/src/nfs/nfs.rs, which has 9 critical.- serious findings
- 35
- critical
- 11
- files
- 6
Medium effort
Improve what Repowise can see
Add a test coverage report
Without one, Repowise cannot tell tested code from untested code, so every test-related action says “unknown”.
- line coverage
- Unknown, no report
Small effort
- Lines of code
- 423.3K
Recent activity
All commitsCommits
- 9b7938aepgsql: truly disable by default1mo ago
- 814295e7nfs: fix clippy errors1mo ago
- fe8b2f3ddetect/analyzer: fix swapped output file pointers1mo ago
- d996d85dcppcheck: drop unreachable DEBUG_VALIDATE_BUG_ONs1mo ago
- a4e4c3cdsmb: cap the OOO gap backstop by chunk count and inspect all open files1mo ago
- 3c9883b3smb: rework the OOO file-data gap backstop to the queue limits1mo ago
Decisions
- swf: grow lzma output in one decoder passproposed · 4w ago
- NFS: enforce OOO queue limits on chunk pathproposed · 4w ago
- Extend xor transform with inline variable-position key syntaxproposed · 4w ago
- ndpi: don't access flow storage directlyproposed · 4w ago
- flowbits: deprecate toggle commandproposed · 4w ago
- app-layer: treat pstate as non-NULLproposed · 4w ago
Everything we found
6,932 open
Every detector's open count by area, each with its worst example. An inventory, not a to-do list: the actions above are the part worth doing.
- worst item is critical severity. Code health4,968Untested hotspot · rust/src/http2/http2.rs60 findings · 9.6 deducted
- worst item is medium severity. Refactoring333decode_byte+1.5 health, M effort · rust/htp/src/utf8_decoder.rs
- worst item is medium severity. Decisions61rust/src/nfs/nfs.rs7 awaiting review · 54 hotspots ungoverned
- worst item is medium severity. Ownership1,564src/detect.c89% single-owner concentration, 16 commits in 90d
- worst item is low severity. Dead code6rust/htp/fuzz/fuzz_targets/fuzz_htp.rsUnreachable symbol (0 lines)
Composition
Open the graph- c40%
- cpp36%
- rust20%
- shell2%
- python1%
- Other<1%
Explore this codebase
- Docs3,355 pages across 13 modules
- ChatAsk this codebase a question and get an answer with its sources.
- Files1,680 files with per-file docs, health and history
- ArchitectureDependency graph, layers, and 15 entry points
- Code healthPer-file scores, 5,205 open findings, coverage and refactoring targets
- Knowledge graphEntities, communities, and the paths between them
- Change couplingFiles that keep changing together, mined from commit history
- CommitsChange-risk ranked history with agent provenance
- ContributorsBus factor, per-file maintainers, and the human/agent split
- StatsSize class, origin, lifetime churn, rhythm and records
- CostsWhat indexing this snapshot cost, by model and by run.