Code Reasoning for Software Engineering Tasks: A Survey and A Call to Action
Saurabh Pujar, Ira Ceka, Irene Manotas, Gail Kaiser, Baishakhi Ray, Shyam Ramji
TL;DR
This paper addresses how code-specific reasoning techniques at inference time influence Software Engineering (SWE) tasks. It proposes a taxonomy encompassing Code Chain-of-Thought (CoT), Self-refinement, Inference Scaling, and SWE agents, and surveys their application across code generation, test generation, issue resolution, and reasoning/understanding benchmarks. The authors contribute the first dedicated survey on code-based reasoning in SWE, curate a broad set of benchmarks, and provide a cross-technique comparative analysis to identify effective design patterns. The findings suggest structure-aware and modular CoT approaches, especially when combined with inference scaling and agentic architectures, offer substantial gains and guide future research toward more realistic SWE workflows and benchmarks. This work lays a foundation for building more capable, reliable AI tools that assist with real-world software engineering tasks.
Abstract
The rise of large language models (LLMs) has led to dramatic improvements across a wide range of natural language tasks. Their performance on certain tasks can be further enhanced by incorporating test-time reasoning techniques. These inference-time advances have been adopted into the code domain, enabling complex software engineering (SWE) tasks such as code generation, test generation and issue resolution. However, the impact of different reasoning techniques on code-centric SWE tasks has not been systematically explored. In this work, we survey code reasoning techniques that underpin these capabilities, with a focus on test-time compute and inference-time reasoning paradigms. We examine a variety of code-specific reasoning methods and progressively build up to SWE agents, which combine planning, tool use, and multi-step interaction. We also compare the impact of different techniques on coding tasks, highlighting their relative importance and outlining open challenges and future research directions. Our contributions are: (1) to the best of our knowledge, the first dedicated survey of code reasoning for SWE tasks, highlighting overarching reasoning strategies, hybrid methods, and agentic approaches; (2) a taxonomy of inference-time techniques used to drive code reasoning, accompanied by a curated set of under-explored benchmarks with high potential for SWE evaluation; (3) a comparative analysis of reasoning design patterns across commonly used models and benchmarks; and (4) a synthesis of gaps in current methods and evaluation practices, identifying under-explored areas and concrete opportunities for future research.
