Skip to content

Improve taint analyzer performance with shared SSA cache, parallel analyzer execution, and CI regression guard#1530

Merged
ccojocar merged 2 commits intomasterfrom
taint_perf
Feb 19, 2026
Merged

Improve taint analyzer performance with shared SSA cache, parallel analyzer execution, and CI regression guard#1530
ccojocar merged 2 commits intomasterfrom
taint_perf

Conversation

@ccojocar
Copy link
Copy Markdown
Member

@ccojocar ccojocar commented Feb 19, 2026

  • Added a shared per-package SSA analysis cache with lazy, concurrency-safe call graph reuse across analyzers.
  • Updated taint analyzers to consume the shared cache instead of recomputing expensive artifacts per rule run.
  • Parallelized analyzer execution at package level while preserving deterministic issue aggregation.
  • Added a package-level taint benchmark to measure real end-to-end taint analyzer pass performance.Introduced a CI benchmark regression guard with configurable thresholds for ns/op, B/op, and allocs/op.
  • Documented the performance guard workflow, local run command, and baseline update process in the README.

…alyzer execution, and CI regression guard

* Added a shared per-package SSA analysis cache with lazy,
concurrency-safe call graph reuse across analyzers.
* Updated taint analyzers to consume the shared cache instead of
recomputing expensive artifacts per rule run.
* Parallelized analyzer execution at package level while preserving
deterministic issue aggregation.
* Added a package-level taint benchmark to measure real end-to-end taint
analyzer pass performance.
* Introduced a CI benchmark regression guard with configurable
thresholds for ns/op, B/op, and allocs/op.
* Documented the performance guard workflow, local run command, and
baseline update process in the README.

Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
Signed-off-by: Cosmin Cojocar <cosmin@cojocar.ch>
@codecov
Copy link
Copy Markdown

codecov bot commented Feb 19, 2026

Codecov Report

❌ Patch coverage is 80.35714% with 11 lines in your changes missing coverage. Please review.
✅ Project coverage is 80.08%. Comparing base (b940702) to head (cae924a).
⚠️ Report is 3 commits behind head on master.

Files with missing lines Patch % Lines
analyzer.go 87.50% 3 Missing and 2 partials ⚠️
internal/ssautil/package_analysis_cache.go 60.00% 2 Missing and 2 partials ⚠️
taint/taint.go 50.00% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1530      +/-   ##
==========================================
+ Coverage   76.04%   80.08%   +4.03%     
==========================================
  Files         100      101       +1     
  Lines        8688     9175     +487     
==========================================
+ Hits         6607     7348     +741     
+ Misses       1698     1382     -316     
- Partials      383      445      +62     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ccojocar ccojocar merged commit caf93d0 into master Feb 19, 2026
10 checks passed
@ccojocar ccojocar deleted the taint_perf branch February 19, 2026 15:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant