HyperAnalyzer
Research

22 bugs Claude couldn't find in 5,000 lines of C++

HyperAnalyzer Team ·
#cpp#static-analysis#llm#research

Before we wrote a single line of HyperAnalyzer, we wanted to know whether the problem we suspected actually existed. So we took a real production Windows C++ codebase that an LLM had been editing for months and pointed a top-tier commercial static analyzer at it.

The codebase was around 5,000 lines, all human-reviewed, all passing CI, all running in production. The analyzer surfaced 22 real bugs. Not style nags. Not opinionated nits. Bugs that compile cleanly, pass code review, and would only manifest under specific runtime conditions.

What kinds of bugs

The interesting part was the distribution. We expected the usual suspects (off-by-one, null deref, leaks). What we actually found:

Why Claude missed all of them

Every single one of these bugs would have been caught by Claude if you had asked the right question. The problem is that nobody asks. The model writes the code, sees that it compiles, runs the tests it can think of, and moves on. There is no step in the workflow that says “now look at this code with the eyes of an analyzer”.

That is the gap HyperAnalyzer fills. Not by being smarter than Claude, but by being a tool Claude can call on every diff, automatically, before anything is committed.

These 22 bugs are now our regression test set. If a build of HyperAnalyzer cannot reproduce all of them on the original codebase, the build does not ship.

← Back to all posts