Quality Score: 65/100
Medium RiskThis repo has some quality gaps (No tests detected, High complexity) but is maintainable with improvements.
No tests detected -15High complexity -10Multiple anti-patterns -10
Maintainability grade
Static analysisHow maintainable the code looks — from complexity, code issues, test presence, file size, and hotspot load. It grades the shape of the code, not defect risk, and doesn't replace review.
F16/100
A ≥ 85, B ≥ 70, C ≥ 55, D ≥ 40, F < 40
Cyclomatic complexityavg 1340/35 Code issues0 errors, 10 warnings16/20 Largest file10,739 lines0/15 Hotspot load6 high-risk files0/10 Configuration status
CI/CD Pipeline — configured
Test Suite — not detected
Add unit tests for critical paths
Test Coverage — ~0%heuristic
0 test files / 380 source files. This is a file-count ratio, not real line coverage — set up Codecov for authoritative numbers.
Dependency Scanning — 1 tool configured
CodeQL
Top hotspots
Files edited often AND hard to reason about. Churn = recent commit frequency, Complexity = branches and nesting, Risk = both combined. These are the highest-leverage targets for refactoring or testing.
All hotspots
Files that change often and are complex tend to accumulate more bugs
AI-suggested anti-patterns
AI · unverifiedPattern-matches from the file structure and dependencies — useful as hypotheses, but not grounded in actual source. For real findings see Code Scanning above.
Mixed Rust/C++ FFI boundary without clear ownership
HighMemory ownership unclear at Rust-C++ boundary; potential for use-after-free or double-free if FFI contract violated.
src/core (split between .rs and .cpp/.h files)
Event loop blocking on I/O without timeout
HighBackend connection operations may block indefinitely if server hangs; no explicit timeout guards visible in critical paths.
src/core/eventloop.rs, src/connmgr/server.rs
Unbounded connection accumulation
MediumNo evidence of max connection limits or backpressure; malicious client or resource leak could exhaust memory.
src/connmgr/pool.rs, src/connmgr/connection.rs
Implicit buffer sizing in HTTP parsing
MediumHTTP parser accumulates request data without apparent max header size or body size checks; potential for DoS.
src/core/http1/protocol.rs, src/core/buffer.rs
AI-suggested bottlenecks
AI · unverifiedSpeculation from file structure, not profiling data. Validate against real metrics before acting on these.
Concurrency Bottleneck
Single-threaded event loop is ultimate bottleneck; cannot saturate multi-core CPU for I/O-bound workloads.
src/core/eventloop.rs (poll/epoll loop)
I/O Bottleneck
Blocking DNS lookups can stall event loop; no apparent async resolver or caching strategy.
src/connmgr/resolver.rs (DNS resolution)
Concurrency Bottleneck
Backend connection pooling with fixed max size may cause head-of-line blocking under high concurrency.
src/connmgr/server.rs (backend connection pool)
Code metrics
Static analysis on sampled source files (up to 15 files).
Avg Cyclomatic Complexity134
Counts if/for/while/switch/catch/ternary branches
Errors / Warnings0 / 10
Secrets, empty catches, console.log, var usage, long lines