SWE-NFI: Studying and Benchmarking Coding Agents for Non-Functional Improvements
cs.SE, cs.AI
Submitted: 2026-07-29
Updated: 2026-10-06
Code: https://github.com/openai/codex
License: http://creativecommons.org/licenses/by/4.0/
The gist: Although coding agents have achieved impressive performance on correctness-oriented benchmarks, their ability to make behavior-preserving non-functional improvements (NFIs) remains underexplored.
Terminology
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.
Sources
- Program Synthesis with Large Language Models
- Evaluating Large Language Models Trained on Code
- SWE-Bench Pro: Can AI Agents Solve Long-Horizon Software Engineering Tasks?
- NL2Repo-Bench: Towards Long-Horizon Repository Generation Evaluation of Coding Agents
- FairCoder: Probing LLM Bias in High-Stakes Decision Making via Coding Tasks
- TimeMachine-bench: A Benchmark for Evaluating Model Capabilities in Repository-Level Migration Tasks
- SWE-Perf: Can Language Models Optimize Code Performance on Real-World Repositories?
- Evaluating LLM-Based 0-to-1 Software Generation in End-to-End CLI Tool Scenarios
- SWE-bench: Can Language Models Resolve Real-World GitHub Issues?
- Evaluating Language Models for Efficient Code Generation
- SWE-fficiency: Can Language Models Optimize Real-World Repositories on Real Workloads?
- Good Vibrations? A Qualitative Study of Co-Creation, Communication, Flow, and Trust in Vibe Coding
- SWE-PolyBench: A multi-language benchmark for repository level evaluation of coding agents
- SecRepoBench: Benchmarking Code Agents for Secure Code Completion in Real-World Repositories
- LLMs Meet Library Evolution: Evaluating Deprecated API Usage in LLM-based Code Completion
- ReLog: Execution-Aware Logging with Runtime Feedback for LLM-Oriented Debugging
- VersiCode: Towards Version-controllable Code Generation
- Agentless: Demystifying LLM-based Software Engineering Agents
- ProgramBench: Can Language Models Rebuild Programs From Scratch?
- Copilot-in-the-Loop: Fixing Code Smells in Copilot-Generated Python Code using Copilot
Related papers
- Falsification-Based Verification of LLM-Generated Optimization Models: Sound Test Batteries and Their Detection Limits
- GitSkills: A Dataset of Agent Skills on GitHub
- SABER: Benchmarking Operational Safety of LLM Coding Agents in Stateful Project Workspaces
- PackMonitor: Enabling Zero Package Hallucinations Through Decoding-Time Monitoring
- IntentCoding: Amplifying User Intent in Code Generation
- Incentives and Outcomes in Bug Bounties