<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>BenchProctor Blog</title><description>Engineering notes on SAST benchmarking: methodology, scoring, and coverage for measuring static analysis tools.</description><link>https://blog.benchproctor.com/</link><language>en-us</language><item><title>All 11 languages are live: 2,938,418 cases, one public yardstick</title><link>https://blog.benchproctor.com/java-and-python-are-live/</link><guid isPermaLink="true">https://blog.benchproctor.com/java-and-python-are-live/</guid><description>BenchProctor release 2026.07.22 is live with 2,938,418 balanced benchmark cases across 11 languages and 21 framework targets. Score compatible SARIF 2.1.0 output.</description><pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate><category>announcement</category><category>release</category><author>BenchProctor</author></item><item><title>An Honest Score With Public Inputs</title><link>https://blog.benchproctor.com/an-honest-score-you-cannot-train-against/</link><guid isPermaLink="true">https://blog.benchproctor.com/an-honest-score-you-cannot-train-against/</guid><description>BenchProctor provides a versioned corpus, public answer key, and scorer for interpreting compatible SARIF results.</description><pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate><category>ecosystem</category><category>benchmark</category><category>sast</category><author>BenchProctor</author></item><item><title>BenchProctor Releases Are Versioned</title><link>https://blog.benchproctor.com/releases-go-continuous/</link><guid isPermaLink="true">https://blog.benchproctor.com/releases-go-continuous/</guid><description>A score is meaningful only with its scanner and benchmark versions. BenchProctor uses dated, periodic, event-driven releases.</description><pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate><category>releases</category><category>methodology</category><author>BenchProctor</author></item><item><title>A Benchmark You Cannot Pre-Train Against</title><link>https://blog.benchproctor.com/a-benchmark-you-cannot-pretrain-against/</link><guid isPermaLink="true">https://blog.benchproctor.com/a-benchmark-you-cannot-pretrain-against/</guid><description>A frozen benchmark can reward memorization. Here is how 2,938,418 balanced cases and versioned releases support a more useful test.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>benchmarking</category><category>methodology</category><author>BenchProctor</author></item><item><title>How to Actually Measure a SAST Tool&apos;s False-Positive Rate</title><link>https://blog.benchproctor.com/how-to-measure-sast-false-positive-rate/</link><guid isPermaLink="true">https://blog.benchproctor.com/how-to-measure-sast-false-positive-rate/</guid><description>Most quoted SAST accuracy numbers have no ground truth behind them, so they cannot be checked. Here is what a defensible false-positive measurement actually requires.</description><pubDate>Sat, 04 Jul 2026 00:00:00 GMT</pubDate><category>sast</category><category>methodology</category><author>BenchProctor</author></item><item><title>Reading a SAST scorecard</title><link>https://blog.benchproctor.com/reading-a-sast-scorecard/</link><guid isPermaLink="true">https://blog.benchproctor.com/reading-a-sast-scorecard/</guid><description>A single SAST score can hide as much as it shows. Here is how to read recall, false positives, and the traps that make a good tool look bad.</description><pubDate>Sun, 28 Jun 2026 00:00:00 GMT</pubDate><category>scoring</category><category>methodology</category><author>BenchProctor</author></item><item><title>The 2026.2 corpus: versioned and rotated</title><link>https://blog.benchproctor.com/the-2026-2-corpus-versioned-and-rotated/</link><guid isPermaLink="true">https://blog.benchproctor.com/the-2026-2-corpus-versioned-and-rotated/</guid><description>A historical note on the 2026.2 corpus and the value of versioned benchmark releases.</description><pubDate>Fri, 26 Jun 2026 00:00:00 GMT</pubDate><category>methodology</category><category>rotation</category><author>BenchProctor</author></item><item><title>Bring any scanner&apos;s SARIF and we&apos;ll find the CWE</title><link>https://blog.benchproctor.com/bring-any-scanner-sarif/</link><guid isPermaLink="true">https://blog.benchproctor.com/bring-any-scanner-sarif/</guid><description>Scoring against BenchProctor is one standard-library Python file with no dependencies. The catch most benchmarks trip on is that tools don&apos;t report CWEs the same way, so the scorer recovers the CWE from wherever your tool actually writes it, with no per-tool adapter, and grades every tool on the same honest footing.</description><pubDate>Wed, 24 Jun 2026 00:00:00 GMT</pubDate><category>sarif</category><category>scoring</category><category>interoperability</category><author>BenchProctor</author></item><item><title>What makes a SAST test actually hard</title><link>https://blog.benchproctor.com/what-makes-a-sast-test-hard/</link><guid isPermaLink="true">https://blog.benchproctor.com/what-makes-a-sast-test-hard/</guid><description>A benchmark only means something if a pattern-matcher can&apos;t ace it. Here&apos;s what&apos;s inside a corpus designed to be hard: real framework idioms instead of toy snippets, sanitizers that are present but broken, taint that travels several steps, and a strict 50/50 split that makes &apos;flag everything&apos; score zero.</description><pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate><category>methodology</category><category>sast</category><category>benchmarking</category><author>BenchProctor</author></item><item><title>A wrong answer key punishes the tools that get it right</title><link>https://blog.benchproctor.com/wrong-answer-key-punishes-right-tools/</link><guid isPermaLink="true">https://blog.benchproctor.com/wrong-answer-key-punishes-right-tools/</guid><description>A SAST benchmark with a mislabeled safe file measures the wrong thing. Here is why public answer keys and transparent scoring matter.</description><pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate><category>methodology</category><category>correctness</category><category>benchmarking</category><author>BenchProctor</author></item><item><title>Measurement, not vibes: the yardstick the whole stack can use</title><link>https://blog.benchproctor.com/benchmarking-in-the-agent-stack/</link><guid isPermaLink="true">https://blog.benchproctor.com/benchmarking-in-the-agent-stack/</guid><description>BenchProctor is an open benchmark corpus with a public scorer for compatible SARIF 2.1.0 output.</description><pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate><category>ecosystem</category><category>benchmark</category><author>BenchProctor</author></item><item><title>Why BenchProctor released one language at a time</title><link>https://blog.benchproctor.com/java-first-release-plan/</link><guid isPermaLink="true">https://blog.benchproctor.com/java-first-release-plan/</guid><description>A look back at the staged verification plan that led to all 11 standalone languages shipping in release 2026.07.22.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>release</category><category>roadmap</category><author>BenchProctor</author></item><item><title>How BenchProctor scores a SAST tool</title><link>https://blog.benchproctor.com/how-benchproctor-scores-sast-tools/</link><guid isPermaLink="true">https://blog.benchproctor.com/how-benchproctor-scores-sast-tools/</guid><description>The whole scoring model is a confusion matrix and one subtraction. Here&apos;s how true-positive and false-positive rates become a single number, why we average per category, and how the benchmark checks itself.</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate><category>scoring</category><category>methodology</category><author>BenchProctor</author></item><item><title>Why static SAST benchmarks rot, and how versioned rotation helps</title><link>https://blog.benchproctor.com/why-static-sast-benchmarks-rot/</link><guid isPermaLink="true">https://blog.benchproctor.com/why-static-sast-benchmarks-rot/</guid><description>A frozen benchmark can measure memorization as much as analysis. Versioned releases help preserve comparability while introducing fresh cases.</description><pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate><category>methodology</category><category>benchmarking</category><author>BenchProctor</author></item><item><title>Introducing BenchProctor: a SAST benchmark you can&apos;t game</title><link>https://blog.benchproctor.com/introducing-benchproctor/</link><guid isPermaLink="true">https://blog.benchproctor.com/introducing-benchproctor/</guid><description>An introduction to BenchProctor&apos;s public SAST benchmark corpus and transparent SARIF scoring model.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate><category>announcement</category><category>methodology</category><author>BenchProctor</author></item></channel></rss>