Skip to content

Rust: Add a couple of new metrics to rust/summary/summary-statistics. - #22328

Open
geoffw0 wants to merge 3 commits into
github:mainfrom
geoffw0:rustsummary
Open

Rust: Add a couple of new metrics to rust/summary/summary-statistics.#22328
geoffw0 wants to merge 3 commits into
github:mainfrom
geoffw0:rustsummary

Conversation

@geoffw0

@geoffw0 geoffw0 commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Add a couple of new metrics to rust/summary/summary-statistics:

  • "Files extracted - total" (including non-source files and files outside of the source location, that were previously invisible in from query).
  • "Taint nodes - highly colocated nodes" (can potentially help expose when something unusual is going on in the data flow graph).

(I'm going to do a small DCA run because there's some integration between this query and the reports there, to be sure I haven't broken anything)

Copilot AI balanced review requested due to automatic review settings August 12, 2026 15:59
@geoffw0
geoffw0 requested a review from a team as a code owner August 12, 2026 15:59
@geoffw0 geoffw0 added no-change-note-required This PR does not need a change note Rust Pull requests that update Rust code labels Aug 12, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds broader extraction and taint-graph metrics to Rust summary statistics.

Changes:

  • Distinguishes user files from all extracted files.
  • Reports highly colocated data-flow nodes.
  • Updates reduced-summary expectations for the renamed metric.
Show a summary per file
File Description
rust/ql/src/queries/summary/Stats.qll Defines the new metrics.
rust/ql/src/queries/summary/SummaryStats.ql Includes additional extraction statistics.
rust/ql/test/query-tests/diagnostics/SummaryStatsReduced.expected Updates the expected metric name.
rust/ql/integration-tests/hello-workspace/summary.rust-project.expected Updates rust-project expectations.
rust/ql/integration-tests/hello-workspace/summary.cargo.expected Updates Cargo expectations.

Review details

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

  • Files reviewed: 5/5 changed files
  • Comments generated: 0
  • Review effort level: Balanced

* Holds if there are at least 10 data flow nodes in the same location
* as `n`.
*/
private predicate isColocated10(DataFlow::Node n) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not convinced that this metric will be super useful.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I'm not sure either. I'm trying to solve the problem of large changes to the shape of the data flow graph being difficult to detect and characterise. I tried a few things, this was the most promising, but it's not great.

@geoffw0

geoffw0 commented Aug 13, 2026

Copy link
Copy Markdown
Contributor Author

The DCA run looks fine. I'll wait until we figure out what's going on with the data flow issue we're investigating before I either justify, improve, or remove the "highly colocated nodes" metric.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-change-note-required This PR does not need a change note Rust Pull requests that update Rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants