swe-bench

TLDR

Big Idea: Die Hauptidee ist es, einen realistischen Benchmark für Coding-Aufgaben zu entwickeln, der real-world Software-Engineering-Probleme aus GitHub-Repositories abbildet. Anders als bisherige Coding-Benchmarks, die meist einfache, isolierte Programmieraufgaben umfassen, zielt swe darauf ab, die Fähigkeiten von LLMs in komplexeren, kontextreichen Software-Entwicklungsszenarien zu testen.

Ergebnisse:

Relevanz: Das Paper ist wichtig, weil es:

Verwandte Arbeiten: Verbesserungen gegenüber früheren Arbeiten:

Offene Fragen:

Source:

My Notes

Methodik:

  1. Datenbasis:
  1. Benchmark-Aufbau:
  1. Retrievalmethoden:

Retrievalmethoden:

Wie sollten große Codebasen gehandhabt werden?

Das grundlegende Problem:

Sparse Retrieval mit BM25:

“Oracle” Retrieval:

Vergleich der Ergebnisse:

Ergebnisse

  1. Allgemeine Performance:
  1. Performance nach Repositories:
  1. Einfluss der Bildverarbeitung:
  1. Kontextlängen-Analyse:
  1. Zeitliche Analyse:
  1. Patch-Generierung: (Patches sind die Änderungen des LLMs) Die Studie vergleicht, wie die Modelle Code ändern (“Patches”) im Vergleich zu menschlichen Lösungen: Modell-Generierte Patches:
    • Sind meist kurz und einfach
    • Lösen nur das konkrete Problem
    • Verwenden hauptsächlich grundlegende Programmierung
    • Ignorieren oft existierende Bibliotheken/Funktionen
    Menschliche Patches (Gold-Patches):
    • Sind umfangreicher
    • Berücksichtigen das größere Bild
    • Nutzen existierende Codebase-Funktionen
    • Denken an mögliche zukünftige Probleme
    • Verbessern oft auch die Code-Struktur

Wichtige Erkenntnisse:

Offene Forschungsfragen:

  1. Wie können Modelle besseres Kontextverständnis entwickeln?
  2. Welche Architekturen ermöglichen komplexere Codeänderungen?
  3. Wie lässt sich die Fähigkeit zur strukturellen Codeanalyse verbessern?