Backend
SWE-NFI: Studying and Benchmarking Coding Agents for Non-Functional Improvements
arXiv cs.SE0 views
arXiv:2607.27409v2 Announce Type: replace Abstract: Although coding agents have achieved impressive performance on correctness-oriented benchmarks, their ability to make behavior-preserving non-functional improvements (NFIs) remains underexplored. In real-world software development, developers continuously improve software quality without changing observable behavior, yet existing benchmarks primarily evaluate functional correctness and provide limited support for assessing these non-functional improvements. In this paper, we present SWE-NFI, a benchmark for evaluating coding agents on NFIs beyond functional correctness. SWE-NFI contains 188 tasks constructed from real merged pull requests in open-source Python projects. We operationalize five developer-oriented NFI aspects into 92 executable rules and develop an evaluation suite that first applies task-specific functional preservation checks to assess whether key properties of the original code are preserved and then performs rule-based NFI evaluation. For outputs that pass these checks, we measure NFI improvement as the change in the normalized rule score for the task's target aspect relative to the original code. We evaluate eight commercial and open-source agent configurations and run each configuration five times on every task. At most 70.0% of valid agent outputs satisfy all task-specific functional preservation checks. Among outputs that pass these checks, NFI performance varies substantially across aspects. In particular, all evaluated configurations achieve mean Logic Patterns improvements between 0.0 and 1.3, below the Human Reference mean of 1.5. Our benchmark and findings provide a reproducible foundation for evaluating coding agents on non-functional improvements and identifying the NFI aspects where further advances are needed.
Source:https://arxiv.org/abs/2607.27409PreviousSEER: Self-Enhancing Chain-of-Thought Compression for Reasoning ModelsNextFrom Verification Failures to Reusable Guidance for Coding Agents
Related posts

Myers, Patience, Histogram: Why Git Can Make an Agent's Moved Method Look Rewritten
0dev.to Git

Kinewright Wheels: a map, a route, an honest no
0dev.to TypeScript
Two-Way CRM Sync Without Echo Loops: Fingerprints, Phone Matching and Three-Way Merges
0dev.to TypeScript

Build a deterministic network simulator in TypeScript
0dev.to TypeScript
Web Scrape API Empty Content: 3 Steps for JavaScript Pages
0dev.to JavaScript
How I built a free JPEG-to-SVG converter that runs 100% in the browser
0dev.to JavaScript