Sherry Shi

Sherry's research interests lie within the intersections of software engineering and artificial intelligence. She is currently focused on the evaluation of agentic software engineering systems.
Authored Publications
Sort By
  • Title
  • Title, descending
  • Year
  • Year, descending
    Towards A Human-in-the-Loop Framework for Reliable Patch Evaluation using an LLM-as-a-Judge
    Renyao Wei
    Michele Tufano
    José Cambronero
    AI-SQE '26: Proceedings of the 1st International Workshop on AI for Software Quality Evaluation - Judgment, Metrics, Benchmarks, and Beyond, ACM (Association for Computing Machinery), New York, NY, USA (2026), pp. 19 - 28
    Preview abstract Reliable evaluation is crucial for advancing Automated Program Repair (APR), but prevailing benchmarks that rely on execution-based evaluation methods (pass@k) often fail to capture the patch quality required for real-world adoption. This creates a significant gap between automated metrics and true patch validity (valid@k), a discrepancy observed across several state-of-the-art techniques. To develop a scalable solution for measuring valid@k, we first study the human evaluation process itself. While manual assessment can determine validity, we find it suffers from poor inter-rater reliability (Fleiss' Kappa k=0.307). Our foundational insight is that this inconsistency is largely resolved when evaluators use a shared, high-quality rubric, which significantly improves agreement. Building on this finding, we propose an LLM-as-a-Judge framework that operationalizes rubric-guided evaluation at scale. Our method employs a human-in-the-loop workflow where an LLM first generates a candidate rubric for a given bug, which a human expert then reviews and refines into a "golden" evaluation standard. This golden rubric is then used by an LLM judge to assess the validity of candidate patches. In an evaluation on 48 bugs and 115 patches, our LLM judge demonstrates substantial agreement with the consensus of human developers. This work contributes a scalable and reliable methodology for approximating valid@k, providing a much-needed high-fidelity signal for measuring true progress in the field of automated program repair. View details
    Abstain and Validate: A Dual-LLM Policy for Reducing Noise in Agentic Program Repair
    José Cambronero
    Michele Tufano
    Renyao Wei
    Grant Uy
    Chin-Jung Liu
    Shiying Pan
    Satish Chandra
    ICSE-SEIP '26: Proceedings of the IEEE/ACM 48th International Conference on Software Engineering: Software Engineering in Practice, ACM (Association for Computing Machinery), New York, NY, USA (2026), 118 – 129
    Preview abstract Agentic automated program repair (APR) is increasingly being used to tackle complex, repository-level bugs in both academic and industry settings. However, changes made by the agent still need to be reviewed by a human before committing them to the codebase to ensure the change correctly fixes the bug. Showing unlikely patches to developers can lead to substantial noise, wasting valuable developer time and decreasing trust in all automated code changes. We introduce two complementary LLM-based policies to reduce such noise: bug abstention and patch critic policies. Bug abstention allows us to exclude bugs that the agentic APR system is unlikely to fix and the patch critic rejects patches that are unlikely to be a good fix for the given bug. We evaluate both policies on three sets of bugs collected from Google’s codebase and agent trajectories generated by an agentic APR system in use at Google. We introduce filtered success rates, where we compute performance after removing trajectories rejected by our policies. On a set of 174 human-reported bugs, abstention and critic can raise filtered success rates up to 13 percentage points and 15 percentage points, respectively, and up to 29 percentage points in combination. For null pointer exceptions and sanitizer-reported bugs with machine-generated bug reports or known reproduction tests, we show the same critic policy can be used to improve average single-sample success rates. View details
    Towards AI as a Collaborative Partner: A Taxonomy of AI Agent Behavior in Software Engineering
    Proceedings of the 3rd ACM International Conference on AI-Powered Software (AIware '26), ACM, Montreal, QC, Canada (2026) (to appear)
    Preview abstract The ongoing transition of Large Language Models (LLMs) in software engineering from one-shot code generators into agentic partners requires a shift in how we define and measure success. While models are becoming more capable, the industry lacks a clear understanding of the behavioral norms that make an interactive software engineering (SWE) agent effective in collaborative software development in the enterprise. This work addresses this gap by presenting a taxonomy of desirable SWE agent behaviors, synthesized from 91 sets of developer-defined rules for SWE agents and validated through interviewing 15 experienced professional developers. In this taxonomy, we identify four core expectations: Adhere to Standards and Processes, Ensure Code Quality and Reliability, Solve Problems Effectively, and Collaborate with the Developer. These findings offer a concrete vocabulary for aligning SWE agent behavior with developer preferences, enabling researchers and practitioners to move beyond correctness-only benchmarks and start designing evaluations that reflect the socio-technical nature of professional software development in enterprises. View details
    From Correctness to Collaboration: A Human-Centered Taxonomy of AI Agent Behavior in Software Engineering
    Extended Abstracts of the 2026 CHI Conference on Human Factors in Computing Systems (CHI EA ’26), ACM, New York, NY, USA (2026)
    Preview abstract The ongoing transition of Large Language Models in software engineering from code generators into autonomous agents requires a shift in how we define and measure success. While models are becoming more capable, the industry lacks a clear understanding of the behavioral norms that make an agent effective in collaborative software development in the enterprise. This work addresses this gap by presenting a taxonomy of desirable agent behaviors, synthesized from 91 sets of user-defined rules for coding agents. We identify four core expectations: Adhere to Standards and Processes, Ensure Code Quality and Reliability, Solve Problems Effectively, and Collaborate with the User. These findings offer a concrete vocabulary for agent behavior, enabling researchers to move beyond correctness-only benchmarks and design evaluations that reflect the realities of professional software development in large enterprises. View details
    Preview abstract Bug Reproduction Tests (BRTs) have been used in many Automated Program Repair (APR) systems, primarily for validating fixes and aiding fix generation. In practice, when developers submit a patch, they often implement the BRT alongside the fix. Our experience deploying agentic APR reveals that developers desire a BRT within AI-generated patches to increase their confidence. However, canonical APR systems tend to generate BRTs and fixes separately, and focus on producing only the fix in the final patch. In this paper, we study agentic APR in the context of cogeneration, where the APR agent is instructed to generate both a fix and a BRT in the same patch. We evaluate the effectiveness of different cogeneration strategies on 120 human-reported bugs at Google and characterize different cogeneration strategies by their influence on APR agent behavior. We develop and evaluate patch selectors that account for test change to select patches with plausible fixes (and plausible BRTs). Finally, we analyze the root causes of failed cogeneration trajectories. We show that cogeneration allows the APR agent to generate BRTs for at least as many bugs as a dedicated BRT agent, without compromising the generation rate of plausible fixes, thereby reducing engineering effort in maintaining and coordinating separate generation pipelines for fix and BRT at scale. View details
    ×