Back to Blog
August 30, 2026Feature

Self-Validation and Graphical Reports

Benchmark bug detection, validate FM-Agent against itself, and browse findings through a graphical report.

In the past two weeks, FM-Agent received 4 new issues and 9 pull requests, closed 9 issues, processed 12 pull requests, made 35 commits, and added 2,456 lines of code.

This release was contributed to by Yuexuan Zhang, Yuchao Fang, and Hongtan Long.

FM-Agent vs. Claude Ultrareview

On a 6,455-line Rust Parser module from a Claude-generated C compiler, manual analysis confirmed 76 buggy functions. Claude Ultrareview found 6; FM-Agent with GLM 5.2, Kimi K3, and DeepSeek V4 Flash found 24–33; FM-Agent with Claude Opus 5 found 48. FM-Agent combines specification generation and explicit correctness reasoning with CodeGraph and project-aware engineering, rather than asking a model to freely review code.

Comparison of FM-Agent and Claude Ultrareview bug detection results
Bug-detection results on the Rust Parser benchmark.

FM-Agent Self-Validation

We asked FM-Agent to verify itself and manually confirmed 19 real bugs. The experiment also highlighted false positives caused by inaccurate specifications and unreachable validator inputs. Typical issues included swallowed incremental-generation failures, partial call-graph updates overwriting existing information, and parser bugs that cut functions at braces inside multiline comments.

FM-Agent self-validation findings
Examples from FM-Agent's self-validation.

Graphical Bug Reports

After a run, open report.html in the output directory. The report lists each result with its status, file, function, and location; supports filename and function searches, status filters, sorting, and expandable details with source context and error information. confirmed_bug means a generated counterexample successfully triggered the bug; potential_bug indicates a candidate that could not be reproduced.