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

์ €์ž: Carlos E. Jimenez, John Yang, Alexander Wettig, Shunyu Yao, Kexin Pei, Ofir Press, Karthik Narasimhan | ๋‚ ์งœ: 2024-11-11 | DOI: 10.48550/arXiv.2310.06770 📄 PDF


Essence

Figure 1

Figure 1: SWE-bench๋Š” GitHub ์ด์Šˆ๋ฅผ ์‹ค์ œ ์ฝ”๋“œ๋ฒ ์ด์Šค์™€ ํ•จ๊ป˜ ์ œ์‹œํ•˜์—ฌ ์–ธ์–ด ๋ชจ๋ธ์ด ์ƒ์„ฑํ•œ ํŒจ์น˜๋ฅผ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋กœ ๊ฒ€์ฆํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™

์‹ค์ œ GitHub ์ด์Šˆ 2,294๊ฐœ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง ๋ฒค์น˜๋งˆํฌ SWE-bench๋ฅผ ์ œ์‹œํ•˜๋ฉฐ, ์ตœ๊ณ  ์„ฑ๋Šฅ ๋ชจ๋ธ(Claude 2)๋„ 1.96%์˜ ๋‚ฎ์€ ํ•ด๊ฒฐ์œจ๋งŒ ๋‹ฌ์„ฑํ•˜์—ฌ ๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ์˜ ์‹ค์ œ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง ๋Šฅ๋ ฅ์˜ ํ•œ๊ณ„๋ฅผ ๋ช…ํ™•ํžˆ ๋“œ๋Ÿฌ๋‚ธ๋‹ค.

Motivation

Achievement

Figure 2

Figure 2: 3๋‹จ๊ณ„ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ: (1) ์ธ๊ธฐ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ 90,000๊ฐœ PR ์ˆ˜์ง‘ โ†’ (2) ์ด์Šˆ ํ•ด๊ฒฐ + ํ…Œ์ŠคํŠธ ๊ธฐ์—ฌ PR ํ•„ํ„ฐ๋ง โ†’ (3) ์‹คํ–‰ ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง์œผ๋กœ 2,294๊ฐœ ์ตœ์ข… ์ž‘์—… ๊ตฌ์„ฑ

  1. ํฌ๊ด„์  ๋ฒค์น˜๋งˆํฌ ๊ตฌ์„ฑ: 12๊ฐœ ์ธ๊ธฐ Python ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ 2,294๊ฐœ์˜ ์‹ค์ œ ์ด์Šˆ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๊ณ ํ’ˆ์งˆ ๋ฒค์น˜๋งˆํฌ ์ƒ์„ฑ. ๊ฐ ์ž‘์—…์€ ํ‰๊ท  438K ๋ผ์ธ์˜ ๋Œ€๊ทœ๋ชจ ์ฝ”๋“œ๋ฒ ์ด์Šค, 195๋‹จ์–ด์˜ ์ด์Šˆ ์„ค๋ช…, ํ‰๊ท  1.7๊ฐœ ํŒŒ์ผ๊ณผ 3.0๊ฐœ ํ•จ์ˆ˜ ์ˆ˜์ • ํ•„์š”
  2. ์ƒํƒœ ์ตœ๊ณ  ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ ํ•œ๊ณ„ ์‹ค์ฆ: Claude 2 (BM25 retriever ํฌํ•จ) 1.96%, GPT-4๋Š” ๋ฏธํฌํ•จ๋˜์—ˆ์œผ๋‚˜ ๊ณต๊ฐœ ๋ชจ๋ธ ์ค‘ SWE-Llama 13b๊ฐ€ ๊ฒฝ์Ÿ ๊ฐ€๋Šฅ ์ˆ˜์ค€์˜ ์„ฑ๋Šฅ ๋‹ฌ์„ฑ
  3. ํ•™์Šต ๋ฐ์ดํ„ฐ ๋ฐ ํŒŒ์ธํŠ ๋“œ ๋ชจ๋ธ ๊ณต๊ฐœ: 37๊ฐœ ์ถ”๊ฐ€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ 19,000๊ฐœ ๋น„ํ…Œ์ŠคํŒ… ์ธ์Šคํ„ด์Šค๋กœ ๊ตฌ์„ฑ๋œ SWE-bench-train ๋ฐ CodeLlama ๊ธฐ๋ฐ˜ SWE-Llama 7b/13b ๋ชจ๋ธ ๊ณต๊ฐœ
  4. ์ง€์†์  ํ™•์žฅ ๊ฐ€๋Šฅ์„ฑ: ์ตœ์†Œ ์ธ๊ฐ„ ๊ฐœ์ž…์œผ๋กœ ์ƒˆ๋กœ์šด Python ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋™ํ™”๋œ ํŒŒ์ดํ”„๋ผ์ธ ์„ค๊ณ„

How

Figure 3

Figure 3: 12๊ฐœ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ณ„ ์ž‘์—… ๋ถ„ํฌ (django 850๊ฐœ๊ฐ€ ๊ฐ€์žฅ ๋งŽ๊ณ , flask 11๊ฐœ๊ฐ€ ๊ฐ€์žฅ ์ ์Œ)

๋ฐ์ดํ„ฐ ๊ตฌ์„ฑ ๋ฐฉ๋ฒ•๋ก 

์ž‘์—… ํฌ๋ฎฌ๋ ˆ์ด์…˜

ํŒŒ์ธํŠ  ํ•™์Šต ์ „๋žต

Originality

Limitation & Further Study

ํ•œ๊ณ„

ํ›„์† ์—ฐ๊ตฌ ๋ฐฉํ–ฅ

Evaluation

Novelty: 4.5/5 Technical Soundness: 4.5/5 Significance: 4.8/5 Clarity: 4.7/5 Overall: 4.6/5

์ดํ‰: SWE-bench๋Š” ๊ธฐ์กด ์ฝ”๋”ฉ ๋ฒค์น˜๋งˆํฌ์˜ ์ธ๊ณต์„ฑ์„ ๋ฒ—์–ด๋‚˜ ์‹ค์ œ GitHub ์ด์Šˆ ํ•ด๊ฒฐ์„ ํ†ตํ•ด ์–ธ์–ด ๋ชจ๋ธ์˜ ์‹ค๋ฌด ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง ๋Šฅ๋ ฅ์„ ์—„๊ฒฉํ•˜๊ฒŒ ํ‰๊ฐ€ํ•˜๋Š” ์ค‘์š”ํ•œ ์ž‘์—…์ด๋ฉฐ, ๊ณต๊ฐœ ๋ฐ์ดํ„ฐ์…‹๊ณผ ์ž๋™ํ™”๋œ ํ™•์žฅ์„ฑ์œผ๋กœ ์žฅ๊ธฐ์  ํ•™์ˆ  ๊ฐ€์น˜๊ฐ€ ๋†’๋‹ค. ๋‹ค๋งŒ ๊ฒ€์ƒ‰ ๊ธฐ๋ฐ˜ ์ ‘๊ทผ๊ณผ ์ดˆ๊ธฐ ํ‰๊ฐ€ ๋ชจ๋ธ ์ œํ•œ์€ ๊ฐœ์„  ์—ฌ์ง€๊ฐ€ ์žˆ๋‹ค.

๊ฐ™์ด ๋ณด๋ฉด ์ข‹์€ ๋…ผ๋ฌธ

๊ธฐ๋ฐ˜ ์—ฐ๊ตฌ
320๋ฒˆ ๋…ผ๋ฌธ์€ LLM ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด ๋ฒค์น˜๋งˆํฌ์˜ ์„ค๊ณ„์™€ ํ‰๊ฐ€ ์›๋ฆฌ๋ฅผ ๋‹ค๋ฃจ๋ฉฐ 782๋ฒˆ SWE-bench์™€ ๋น„๊ต๋ถ„์„์— ์œ ์šฉํ•˜๋‹ค.
๊ธฐ๋ฐ˜ ์—ฐ๊ตฌ
SWE-bench ๋…ผ๋ฌธ์€ ์‹ค์„ธ๊ณ„ GitHub ์ด์Šˆ ํ•ด๊ฒฐ์—์„œ LLM์˜ ์ฝ”๋“œ ํ’ˆ์งˆ๊ณผ ํ•œ๊ณ„๋ฅผ ๋ถ„์„ํ•˜์—ฌ, AI Copilot์˜ ์ฝ”๋“œ ํ’ˆ์งˆ ์ธก์ • ์ฒด๊ณ„์— ๊ธฐ์ดˆ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
๊ธฐ๋ฐ˜ ์—ฐ๊ตฌ
SWE-bench ๋…ผ๋ฌธ์€ LLM์˜ ์‹ค์„ธ๊ณ„ GitHub ์ด์Šˆ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ์„ ํ‰๊ฐ€ํ•˜๋ฉฐ, ๋…ผ๋ฌธ์—์„œ ์‹ค์ œ ์ฝ”๋“œ ์žฌํ˜„ ์ž๋™ํ™”์˜ ์„ฑ๋Šฅ ํ‰๊ฐ€ ๋ฐฉ๋ฒ•๋ก ์— ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
782๋ฒˆ ๋…ผ๋ฌธ์€ ์‹ค์ œ GitHub ์ด์Šˆ ํ•ด๊ฒฐ ๊ธฐ๋ฐ˜ LLM ์ฝ”๋“œ ์—์ด์ „ํŠธ์˜ ํ‰๊ฐ€๋ฅผ ๋‹ค๋ฃจ์–ด, 635๋ฒˆ์˜ ์ฝ”๋“œ ์ž๋™์™„์„ฑ(AI ๋„์›€) ์‹ค์ฆ๊ณผ ํ•จ๊ป˜ ์ฝ”๋“œ ์ƒ์‚ฐ์„ฑ ์˜ํ–ฅ์„ ํญ๋„“๊ฒŒ ์กฐ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
LLM ๊ธฐ๋ฐ˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์ž๋™ํ™”๋ฅผ ์œ„ํ•œ ๋‹ค๋ฅธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ œ์•ˆํ•˜๋Š” ๊ด€๋ จ ์—ฐ๊ตฌ์ด๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
๋‹ค์ค‘ ์—์ด์ „ํŠธ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜๊ณผ ๊ฒ€์ƒ‰ ์—ฐ๊ณ„ ๊ธฐ๋ฐ˜ ์‹ค์ œ ์†Œํ”„ํŠธ์›จ์–ด ํƒœ์Šคํฌ์—์„œ์˜ LLM ์‹คํ—˜ ๊ฒฐ๊ณผ๋ฅผ ์ƒํ˜ธ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
SWE-bench ๋…ผ๋ฌธ์€ ์‹ค์ œ GitHub ์ด์Šˆ ํ•ด๊ฒฐ์— ์ฝ”๋“œ LLM์„ ์ ์šฉํ•จ์œผ๋กœ์จ StarCoder2์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ์‹ค์ „ ํ‰๊ฐ€๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
SciCode๋Š” ๊ณผํ•™ ์—ฐ๊ตฌ ์ฝ”๋”ฉ ๋Šฅ๋ ฅ์„ ํ‰๊ฐ€ํ•˜๋Š” ๋ฒค์น˜๋งˆํฌ๋กœ, SWE-bench์™€ ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์—์„œ ์ฝ”๋“œ LLM ํ‰๊ฐ€์˜ ํ•œ๊ณ„๋ฅผ ํƒ๊ตฌํ•˜๋Š” ๋Œ€์•ˆ์  ์ ‘๊ทผ์ด๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
์‹ค์ œ GitHub ์ด์Šˆ ํ•ด๊ฒฐ๋Šฅ๋ ฅ์„ ํ‰๊ฐ€ํ•˜๋Š” SWE-bench์™€ MLDebugging์€ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ์ฝ”๋“œ ๊ด€๋ จ LLM ๋Šฅ๋ ฅ์„ ๊ฒ€์ฆํ•œ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
SWE-bench๋Š” ์‹ค์ œ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌํ˜„ ๋ฐ ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ณผ์ œ์—์„œ LLM์˜ ์ฝ”๋“œ ์ƒ์„ฑ ๋ฐ ์ดํ•ด ์—ญ๋Ÿ‰์„ ํ‰๊ฐ€ํ•˜์—ฌ, SciReplicate-Bench์™€ ์ฝ”๋“œ๊ธฐ๋ฐ˜ ํ‰๊ฐ€์ถ•์„ ๊ณต์œ ํ•œ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
SWE-bench๋Š” GitHub ์ด์Šˆ ํ•ด๊ฒฐ ์ค‘์‹ฌ์œผ๋กœ ์ฝ”๋“œ LLM์˜ ์‹ค์ œ ์†Œํ”„ํŠธ์›จ์–ด์  ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ์„ ํ‰๊ฐ€ํ•˜์—ฌ, ๋…ผ๋ฌธํ˜•ํƒœ ๊ตฌํ˜„๊ณผ ๋‹ค๋ฅธ ํ˜„์‹ค์  ๋งฅ๋ฝ์„ ์ œ๊ณตํ•œ๋‹ค.
ํ›„์† ์—ฐ๊ตฌ
SWE-bench๋Š” HumanEval๋ณด๋‹ค ํ˜„์‹ค์ ์ธ ์‹ค์ œ GitHub ์ด์Šˆ ๊ธฐ๋ฐ˜ ํ‰๊ฐ€๋กœ, Codex์˜ ์ฝ”๋“œ ์ƒ์„ฑ ๋Šฅ๋ ฅ ํ‰๊ฐ€๋ฅผ ์‹ค์ œ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง์œผ๋กœ ํ™•์žฅํ•œ๋‹ค.
ํ›„์† ์—ฐ๊ตฌ
Code Llama ๋…ผ๋ฌธ์€ SWE-bench ํ‰๊ฐ€์— ์ฐธ์—ฌํ•œ ์ตœ์‹  ์˜คํ”ˆ์†Œ์Šค ์ฝ”๋“œ ์–ธ์–ด๋ชจ๋ธ๋กœ, ์‹คํ—˜ ํ•œ๊ณ„์™€ ์„ฑ๋Šฅ ๋น„๊ต๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
ํ›„์† ์—ฐ๊ตฌ
์‹ค์ œ GitHub ์ด์Šˆ ํ•ด๊ฒฐ ๋“ฑ ์‹ค์ œ ํ™˜๊ฒฝ์—์„œ LLM์˜ ์ž‘์—… ๋ถ€ํ•˜ ์ƒ์„ฑ ๋ฐ ํ‰๊ฐ€ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
์‘์šฉ ์‚ฌ๋ก€
SWE-bench๋Š” LLM์˜ ์†Œํ”„ํŠธ์›จ์–ด ์‹ค์ „ ์ด์Šˆ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ์„ ํ‰๊ฐ€ํ•˜๋Š” ์‹ค์ œ์  ๋ฒค์น˜๋งˆํฌ๋กœ, ์ฝ”๋“œ ์ƒ์„ฑ ํ‰๊ฐ€์ฒด๊ณ„์˜ ์‹ ๊ทœ ์‘์šฉ์‚ฌ๋ก€๋‹ค.
์‘์šฉ ์‚ฌ๋ก€
SWE-bench๋Š” Code Llama ๊ฐ™์€ ์˜คํ”ˆ์†Œ์Šค ์ฝ”๋“œ ์ƒ์„ฑ LLM์˜ ์‹ค์ œ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง ์ด์Šˆ ํ•ด๊ฒฐ๋Šฅ๋ ฅ ํ•œ๊ณ„๋ฅผ ์‹คํ—˜์ ์œผ๋กœ ํ‰๊ฐ€ํ•œ๋‹ค.
์‘์šฉ ์‚ฌ๋ก€
์‹ค์ œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ LLM ์—์ด์ „ํŠธ ์ž๋™ํ™”๊ฐ€ ์‹คํ˜„๋œ ๋‹ค์–‘ํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ ์‚ฌ๋ก€๋ฅผ ์ถ”๊ฐ€๋กœ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฐ˜๋ก /๋น„ํŒ
SWE-bench๋Š” StarCoder์™€ ๊ฐ™์€ ์ฝ”๋“œ LLM์ด ์‹ค์ œ GitHub ์ด์Šˆ ํ•ด๊ฒฐ์—์„œ ๋งค์šฐ ๋‚ฎ์€ ์„ฑ๋Šฅ์„ ๋ณด์ž„์„ ๋ณด์—ฌ์ฃผ์–ด, ์ฝ”๋“œ LLM์˜ ํ˜„์‹ค์  ํ•œ๊ณ„๋ฅผ ๋“œ๋Ÿฌ๋‚ธ๋‹ค.
๋ฐ˜๋ก /๋น„ํŒ
StarCoder2๊ฐ€ ๋›ฐ์–ด๋‚œ ์ฝ”๋“œ ์ƒ์„ฑ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ฃผ๋Š” ๋ฐ˜๋ฉด, SWE-bench๋Š” ์‹ค์ œ ์ด์Šˆ ํ•ด๊ฒฐ์—์„œ ์ตœ๊ณ  ๋ชจ๋ธ๋„ ๋งค์šฐ ๋‚ฎ์€ ์„ฑ๋Šฅ์„ ๋ณด์ž„์„ ๋Œ€๋น„์ ์œผ๋กœ ๋ณด์—ฌ์ค€๋‹ค.
← ๋ชฉ๋ก์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

๐ŸŽง Audio Overview

์ด ๋…ผ๋ฌธ ๋ฆฌ๋ทฐ๋ฅผ ํŒŸ์บ์ŠคํŠธํ˜• ์˜ค๋””์˜ค๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. (Gemini ยท ํ‚ค๋Š” ๋ธŒ๋ผ์šฐ์ €์—๋งŒ ์ €์žฅ ยท ์™„์„ฑ๋ณธ์€ ์ด๋ฉ”์ผ๋กœ๋„ ์ „์†ก)
โ–ธ ๊ณ ๊ธ‰: ๊ตฌ์„ฑ ๋ฐฉํ–ฅ(๋Œ€๋ณธ ์ž‘์„ฑ ์ง€์นจ) ์ง์ ‘ ์ˆ˜์ •