SWE-bench: Can Language Models Resolve Real-World GitHub Issues?

AI-generated keywords: Language models SWE-bench software engineering evaluation framework advancements

AI-generated Key Points

  • Language models have advanced rapidly, surpassing our ability to evaluate them effectively.
  • Real-world software engineering has become a valuable testbed for assessing the next generation of language models.
  • SWE-bench is an evaluation framework with 2,294 software engineering problems sourced from GitHub issues and pull requests across 12 Python repositories.
  • Models tasked with editing codebases to address specific issues described in problem statements require understanding and coordinating changes across multiple functions, classes, and files simultaneously.
  • Cutting-edge proprietary models and fine-tuned models struggle to resolve even simple issues, with the most successful model achieving a mere 1.96% success rate.
  • Progress on this benchmark signifies advancements towards more practical, intelligent, and autonomous language models.
  • The source code has been anonymized and organized into separate directories for reproducibility purposes.
  • Plans are in place to release SWE-bench as an open-source repository with comprehensive documentation outlining its structure and usage.
  • The dataset's continually updatable nature allows for ongoing evaluation on new task instances created after model training dates.
  • Evaluation measures ensure proposed solutions not only address the stated issue but also maintain prior functionality through numerous tests.
Also access our AI generated: Comprehensive summary, Lay summary, Blog-like article; or ask questions about this paper to our AI assistant.

Authors: Carlos E. Jimenez, John Yang, Alexander Wettig, Shunyu Yao, Kexin Pei, Ofir Press, Karthik Narasimhan

Data, code, and leaderboard are available at https://www.swebench.com ICLR 2024, https://openreview.net/forum?id=VTF8yNQM66
License: CC BY 4.0

Abstract: Language models have outpaced our ability to evaluate them effectively, but for their future development it is essential to study the frontier of their capabilities. We find real-world software engineering to be a rich, sustainable, and challenging testbed for evaluating the next generation of language models. To this end, we introduce SWE-bench, an evaluation framework consisting of $2,294$ software engineering problems drawn from real GitHub issues and corresponding pull requests across $12$ popular Python repositories. Given a codebase along with a description of an issue to be resolved, a language model is tasked with editing the codebase to address the issue. Resolving issues in SWE-bench frequently requires understanding and coordinating changes across multiple functions, classes, and even files simultaneously, calling for models to interact with execution environments, process extremely long contexts and perform complex reasoning that goes far beyond traditional code generation tasks. Our evaluations show that both state-of-the-art proprietary models and our fine-tuned model SWE-Llama can resolve only the simplest issues. The best-performing model, Claude 2, is able to solve a mere $1.96$% of the issues. Advances on SWE-bench represent steps towards LMs that are more practical, intelligent, and autonomous.

Submitted to arXiv on 10 Oct. 2023

Ask questions about this paper to our AI assistant

You can also chat with multiple papers at once here.

AI assistant instructions?

Results of the summarizing process for the arXiv paper: 2310.06770v3

Language models have advanced at a rapid pace, surpassing our ability to effectively evaluate them. To further their development, it is crucial to explore the frontier of their capabilities. Real-world software engineering has emerged as a valuable testbed for assessing the next generation of language models. Introducing SWE-bench, an evaluation framework comprising 2,294 software engineering problems sourced from actual GitHub issues and pull requests across 12 prominent Python repositories. In , language models are tasked with editing codebases to address specific issues described in problem statements. These tasks often require understanding and coordinating changes across multiple functions, classes, and even files simultaneously. Models must interact with execution environments, process extensive contexts, and engage in complex reasoning beyond traditional code generation tasks. Evaluation results reveal that both cutting-edge proprietary models and our fine-tuned model struggle to resolve even the simplest issues. The most successful model, , achieves a mere 1.96% success rate in solving problems on . Progress on this benchmark signifies advancements towards more practical, intelligent, and autonomous language models. For reproducibility purposes, the entirety of the source code has been anonymized and organized into separate directories corresponding to different sections of the paper. Inline documentation explains the purpose and usage of various components within the codebase. Additionally, all 2,294 task instances are included alongside technical details on dataset collection and evaluation procedures. Moving forward, there are plans to release as an open-source repository with comprehensive documentation outlining the benchmark's structure and usage. The collection framework will be part of this open-sourced codebase for easy maintenance and reproducibility. The unique features of set it apart from traditional NLP benchmarks by offering realistic software engineering tasks that demand sophisticated skills akin to those possessed by experienced engineers. The dataset's continually updatable nature allows for ongoing evaluation on new task instances created after model training dates. Issue descriptions are detailed while codebases are vast, requiring models to identify specific lines for edits amidst extensive context. Robust evaluation measures ensure that proposed solutions not only address the stated issue but also maintain prior functionality through numerous tests. Cross-context code editing challenges traditional constraints by necessitating edits across various parts of a codebase rather than limiting modifications to individual functions or files. Overall, advancements on represent significant strides towards enhancing language models' practical applicability in real-world software engineering scenarios through improved intelligence and autonomy capabilities.
Created on 30 Jan. 2025

Assess the quality of the AI-generated content by voting

Score: 0

Why do we need votes?

Votes are used to determine whether we need to re-run our summarizing tools. If the count reaches -10, our tools can be restarted.

Similar papers summarized with our AI tools

Navigate through even more similar papers through a

tree representation

Look for similar papers (in beta version)

By clicking on the button above, our algorithm will scan all papers in our database to find the closest based on the contents of the full papers and not just on metadata. Please note that it only works for papers that we have generated summaries for and you can rerun it from time to time to get a more accurate result while our database grows.

Disclaimer: The AI-based summarization tool and virtual assistant provided on this website may not always provide accurate and complete summaries or responses. We encourage you to carefully review and evaluate the generated content to ensure its quality and relevance to your needs.