Solve Issues in Large Code Repositories

Team

Supervisors

Table of content

  1. Abstract
  2. Related works
  3. Methodology
  4. Experiment Setup and Implementation
  5. Conclusion
  6. Publications
  7. Links

Abstract

The Software Engineering (SWE) Bench is a crucial benchmark for evaluating methods in software engineering problem-solving. Current open-source approaches, such as agentless solutions, SWE agents, AutoCoderOver, SWE Search, and OpenHands, have limitations in efficiency, cost, and accuracy. This research proposes a novel methodology that balances cost-effectiveness with high SWE Bench scores. Our approach integrates an iterative reasoning process, mimicking the learning process of software engineers, and employs a retrieval-augmented generation (RAG) framework leveraging Stack Overflow datasets. We introduce a graph-based repository representation to reduce the search space and improve retrieval accuracy by establishing structured connections between files. Additionally, we incorporate deep Large Language Model (LLM) thinking strategies, inspired by Google’s Mind Evolution research, to learn from the wrong patches through iterative recombination and refinement. Our proposed method aims to achieve higher SWE Bench scores while maintaining a cost-effective and practical approach for real-world software development.

Several current approaches to SWE Bench optimization have informed this research:

Methodology

The proposed methodology includes the following key steps:

1. Analysis of the Dataset

2. Graph-Based Repository Representation

3. Retrieval-Based Suspicious File Identification

4. Artificial Stack Trace Generation

5. RAG with Stack Overflow Data

6. Patch Generation with Multiple LLMs and Iterative Learning

Architecture


Experiment Setup and Implementation

Conclusion

Publications