Leaderboard
Every publicly analyzed repository (894 total), ranked by codebase health score - dead code, complexity, test file ratio, duplication, and file size.
See what breaks first
On expressjs/express, changing eb9df264-6bc3-46e3-b9db-f9bf0a63bdfa/index.js affects 109 other files - 96 directly, 13 transitively.
That's ArchSetu's blast-radius graph, traced automatically for every file in every repo it scans - not a health score, an actual dependency trace. Real result, computed live, not a mockup.
Open the Change Impact graphDead code is attack surface
Unreachable code still ships in your bundle. It can hide a forgotten auth check or a deprecated endpoint nobody is patching.
Complexity hides bugs from review
More branches means more edge cases a reviewer can miss - high-complexity functions are where vulnerabilities go unnoticed the longest.
Undeclared imports are supply-chain risk
A package imported but never declared can silently disappear or get typosquatted - see the Dependencies tab on any report.
894
Repos analyzed
9,277,318
Functions scanned
2,028,461
Dead functions found
362,328,054
Lines of code scanned
Reference repositories
Vetted, well-known open-source projects| # | Repository | Language | Health | Avg complexity | Dead code (functions) | Scan time | Last analyzed |
|---|---|---|---|---|---|---|---|
| 1 | expressjs/express★ 69,269 | JavaScript | 98/100 · A+ | 1.1 | 0 of 1,653 | 1.7s | 1mo ago |
| 2 | django/django★ 88,234 | Python | 96/100 · A+ | 1.8 | 1,272 of 32,564 | 14.3s | 1mo ago |
Community-submitted repos
Analyzed by other visitors, unvetted| # | Repository | Language | Health | Avg complexity | Dead code (functions) | Scan time | Last analyzed |
|---|---|---|---|---|---|---|---|
| 126 | apache/echarts★ 66,898 | HTML | 89/100 · A | 3.8 | 52 of 4,733 | 41.2s | 1mo ago |
| 127 | prometheus/prometheus★ 65,723 | Go | 88/100 · A | 3.9 | 2,738 of 9,961 | 3.4s | 4d ago |
| 128 | ekalinin/dbbridge★ 0 | Go | 88/100 · A | 3.3 | 359 of 986 | 2.0s | 13d ago |
| 129 | authelia/authelia★ 28,395 | Go | 88/100 · A | 2.7 | 2,709 of 6,527 | 6.5s | 1mo ago |
| 130 | SpinalHDL/SpinalHDL★ 2,020 | Scala | 88/100 · A | 3.9 | 1,475 of 6,812 | 5.9s | 1mo ago |
| 131 | com-lihaoyi/mill★ 0 | Scala | 88/100 · A | 3.5 | 1,607 of 5,277 | - | 1mo ago |
| 132 | milessabin/shapeless★ 3,401 | Scala | 88/100 · A | 2.1 | 328 of 2,258 | 1.6s | 1mo ago |
| 133 | delta-io/delta★ 8,926 | Scala | 88/100 · A | 2.6 | 4,461 of 14,119 | 10.6s | 1mo ago |
| 134 | rtyley/bfg-repo-cleaner★ 12,161 | Scala | 88/100 · A | 3.2 | 40 of 146 | 0.8s | 1mo ago |
| 135 | skydoves/Pokedex★ 8,345 | Kotlin | 88/100 · A | 1.5 | 58 of 120 | 1.5s | 1mo ago |
| 136 | square/moshi★ 10,149 | Kotlin | 88/100 · A | 2.2 | 900 of 1,804 | 1.2s | 1mo ago |
| 137 | ankidroid/Anki-Android★ 11,435 | Kotlin | 88/100 · A | 2.4 | 1,122 of 7,481 | 6.1s | 1mo ago |
| 138 | android/nowinandroid★ 21,574 | Kotlin | 88/100 · A | 1.4 | 463 of 827 | 3.6s | 1mo ago |
| 139 | mozilla-mobile/firefox-ios★ 0 | Swift | 88/100 · A | 2.3 | 2,596 of 28,828 | - | 1mo ago |
| 140 | micropython/micropython★ 21,933 | C | 88/100 · A | 3.5 | 5,264 of 16,187 | 10m 60s | 1mo ago |
| 141 | rethinkdb/rethinkdb★ 27,001 | C++ | 88/100 · A | 2.5 | 2,874 of 12,146 | 8.3s | 1mo ago |
| 142 | grpc/grpc★ 45,214 | C++ | 88/100 · A | 2.0 | 20,000 of 53,230 | 35.6s | 1mo ago |
| 143 | electron/electron★ 122,184 | C++ | 88/100 · A | 3.4 | 969 of 4,086 | 8.0s | 1mo ago |
| 144 | deployphp/deployer★ 11,090 | PHP | 88/100 · A | 2.8 | 131 of 780 | 1.6s | 1mo ago |
| 145 | koel/koel★ 17,193 | PHP | 88/100 · A | 3.1 | 2,161 of 5,456 | 5.6s | 1mo ago |
| 146 | guzzle/guzzle★ 23,458 | PHP | 88/100 · A | 4.0 | 232 of 2,665 | 2.5s | 1mo ago |
| 147 | kestra-io/kestra★ 27,463 | Java | 88/100 · A | 2.5 | 6,938 of 17,573 | 14.8s | 1mo ago |
| 148 | tokio-rs/tokio★ 32,648 | Rust | 88/100 · A | 2.3 | 1,728 of 2,500 | 4.4s | 1mo ago |
| 149 | derailed/k9s★ 34,206 | Go | 88/100 · A | 2.5 | 832 of 3,856 | 2.6s | 1mo ago |
| 150 | juanfont/headscale★ 42,084 | Go | 88/100 · A | 3.9 | 1,256 of 3,688 | 8.9s | 1mo ago |
