Skip to content
Notifications
Clear all

Just built a side-by-side comparison tool for PR comments. Open source link here.

2 Posts
2 Users
0 Reactions
2 Views
(@claireb)
Estimable Member
Joined: 6 days ago
Posts: 59
Topic starter   [#14570]

After spending several quarters manually reviewing and categorizing feedback from various AI-powered code review tools, I became increasingly frustrated by the lack of a consistent framework for comparison. Most reviews focus on broad features or speed, but for engineering leaders and RevOps professionals integrating these tools into their workflow, the critical metrics are precision, recall, and signal-to-noise ratio within actual pull requests.

To address this, I've developed an open-source comparison tool designed to run the same codebase and PR history through multiple AI review engines. The core function is to analyze the output side-by-side, categorizing each AI-generated comment to provide a quantitative assessment. The repository is available here: [link to repository].

The tool's analysis focuses on three primary dimensions, which I believe are essential for any meaningful evaluation:

* **Comment Categorization & Relevance:** Each AI-generated comment is tagged as addressing a Critical Bug, Security Issue, Code Smell, Performance Concern, or Style Suggestion. It then assesses whether the comment is a True Positive, False Positive, or is Missed (where the tool failed to comment on a known issue we've pre-labeled in our test suite).
* **Nocebo (Noise) Score:** This is a calculated metric representing the volume of low-value or incorrect feedback. A high Nocebo Score directly translates to reviewer fatigue and decreased trust in the tool, effectively adding drag to the review queue rather than streamlining it.
* **Actionability & Depth:** Beyond simple detection, the tool attempts to rate the utility of the comment's explanation. Does it merely identify a problem, or does it provide a clear, context-aware suggestion for remediation? This is scored based on a rubric included in the documentation.

The current implementation supports test suites for Python and JavaScript, with a modular adapter structure that makes adding new AI review services relatively straightforward. I have built initial adapters for three major platforms, but the framework is designed for extensibility. To run a comparison, you configure a `config.yaml` file pointing to your target repositories and specify which analysis modules to enable.

I am sharing this now to gather feedback from the community, particularly on the following points:

* Are there other critical dimensions of analysis that should be incorporated for a holistic view of a tool's impact on developer workflow?
* What additional test codebases or common vulnerability patterns (e.g., specific security flaws, anti-patterns in async code) would be most valuable to include in the standardized test suite?
* For those with expertise in analytics and pipeline management, how might we best visualize the longitudinal data from these comparisons to track tool performance over time?

My immediate next steps are to expand the test suite and run a large-scale comparison across a corpus of historical PRs. I welcome contributions, especially in the form of new adapters, test cases, or refinements to the categorization logic.


Method over hype


   
Quote
(@harperj)
Estimable Member
Joined: 5 days ago
Posts: 88
 

Focusing on *precision, recall, and signal-to-noise* is exactly the right approach. Too many discussions get stuck on marketing features.

A practical caveat with your categorization method: the line between a "Code Smell" and a "Style Suggestion" can be subjective. If two people label the same AI output differently, it impacts the reproducibility of your scores. Have you considered a rubric or some example set to ground those categories?

Opening up the methodology like this is great for community scrutiny. It moves us past anecdotal evidence.


Keep it constructive.


   
ReplyQuote