Skip to content
Arxo Arxo

Framework and Language Coverage

llm_integration is a static-analysis metric with multi-language support for common LLM integrations.

LanguageCoverage Model
PythonAST-first + fallback patterns
TypeScript/JavaScriptAST-first + import-aware checks + fallback patterns
JavaAST-first + fallback patterns
RustPattern-based
KotlinPattern-based

Coverage includes commonly used APIs and wrappers such as:

  • OpenAI SDK patterns
  • Anthropic SDK patterns
  • LangChain-style chat and invoke flows
  • Vercel AI SDK (generateText, streamText)
  • Cloud provider integrations (for example Azure OpenAI, Bedrock, Vertex/Gemini)
  • Common embedding/vector-store usage anchors

When AST or graph context is missing, fallback heuristics can still produce coverage but confidence may be lower.

Use these keys to understand fidelity before acting on strict gates:

  • llm.blast_radius_available
  • llm.pii_taint_used
  • llm.pii_fallback_reason
  • llm.call_sites_total
  • llm.call_sites_discovered_count
  • llm.call_sites_enriched_count
  • llm.call_sites_unresolved_count

config.languages filters files by extension:

config.languages valueExtensions
python.py, .pyi
typescript, ts, javascript, js.ts, .tsx, .js, .jsx, .mjs, .cjs
rust.rs
java, kotlin.java, .kt
cpp, c++.cpp, .cc, .cxx, .hpp, .hxx
  • Wrapper-heavy code can hide concrete call sites and reduce recall.
  • Pattern fallback can raise false positives in helper utilities with similar syntax.
  • Extension-based filtering can miss files with non-standard extensions.
  • Missing call graph reduces fidelity for blast-radius and taint-backed diagnostics.

For production enforcement:

  1. Keep diagnostics visible in CI artifacts.
  2. Use balanced thresholds when fidelity signals are degraded.
  3. Tighten to strict thresholds only after stable parser/call-graph coverage.

Version note: this page is aligned with metric version 1.2.0.