Productivity assessment of neural code completion

์ €์ž: Albert Ziegler, Eirini Kalliamvakou, X. Alice Li, Andrew Rice, Devon Rifkin, Shawn Simister, Ganesh Sittampalam, Edward Aftandilian | ๋‚ ์งœ: 6์›” 13, 2022 | DOI: 10.1145/3520312.3534864 📄 PDF


Essence

Figure 1

GitHub Copilot์˜ ์ฝ”๋“œ ์™„์„ฑ ๋‹จ๊ณ„๋ณ„ ํ๋ฆ„

์‹ ๊ฒฝ๋ง ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ์™„์„ฑ ๋„๊ตฌ์˜ ๊ฐœ๋ฐœ์ž ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ ํšจ๊ณผ๋ฅผ ์ธก์ •ํ•˜๊ธฐ ์œ„ํ•ด, GitHub Copilot ์‚ฌ์šฉ์ž 2,631๋ช…์˜ ์„ค๋ฌธ ์‘๋‹ต๊ณผ ์‹ค์ œ ์‚ฌ์šฉ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ๊ณ„ ๋ถ„์„ํ•˜์—ฌ ์ œ์•ˆ ์ˆ˜๋ฝ๋ฅ (acceptance rate)์ด ๊ฐœ๋ฐœ์ž์˜ ์ƒ์‚ฐ์„ฑ ์ธ์‹์„ ๊ฐ€์žฅ ์ž˜ ์˜ˆ์ธกํ•˜๋Š” ์ง€ํ‘œ์ž„์„ ์ž…์ฆํ•œ ์‹ค์ฆ ์—ฐ๊ตฌ์ด๋‹ค.

Motivation

Achievement

Figure 2

์„ค๋ฌธ ์‘๋‹ต์ž ์ธ๊ตฌํ†ต๊ณ„(์ „๋ฌธ ํ”„๋กœ๊ทธ๋ž˜๋จธ ์ƒ๋‹น์ˆ˜ ํฌํ•จ)

  1. ์ˆ˜๋ฝ๋ฅ  ์šฐ์ˆ˜์„ฑ: ์ œ์•ˆ๋œ ํ•ญ๋ชฉ ์ค‘ ์ˆ˜๋ฝ๋œ ํ•ญ๋ชฉ์˜ ๋น„์œจ(์ˆ˜๋ฝ๋ฅ , acceptance rate)์ด ์ˆ˜๋ฝ๋œ ์ฝ”๋“œ์˜ ์–‘(accepted_char), ์ง€์†์„ฑ(persistence) ๋“ฑ ๋” ์„ธ๋ถ€์ ์ธ ๋ฉ”ํŠธ๋ฆญ๋ณด๋‹ค ๊ฐœ๋ฐœ์ž์˜ ์ƒ์‚ฐ์„ฑ ์ธ์‹์„ ๋” ์ž˜ ์˜ˆ์ธกํ•จ์„ ํ†ต๊ณ„์ ์œผ๋กœ ์ž…์ฆ
  2. ๋‹ค์ธต์  ๋ถ„์„: ๊ฐœ๋ฐœ์ž ์ธ๊ตฌ(2,047๋ช… ๋งค์นญ), ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด, ์‹œ๊ฐ„๋Œ€ ๋“ฑ์— ๋”ฐ๋ฅธ ์ˆ˜๋ฝ๋ฅ ์˜ ์ƒ๋‹นํ•œ ๋ณ€๋™์„ฑ์„ ํ™•์ธํ•˜๊ณ , GitHub Copilot์˜ ์ „์ฒด ์ˆ˜๋ฝ๋ฅ ์ด 27%, ์ผ์ผ ํ‰๊ท  ์ˆ˜๋ฝ ๊ฑด์ˆ˜(DCPU)๊ฐ€ 31๊ฑด์ž„์„ ํŒŒ์•…
  3. ๋ฐฉ๋ฒ•๋ก  ๊ธฐ์—ฌ: ์˜คํ”„๋ผ์ธ-์˜จ๋ผ์ธ ํ‰๊ฐ€ ๊ฐ„ ๊ฐ„๊ทน์„ ํ•ด์†Œํ•˜๊ธฐ ์œ„ํ•ด ์‹ค์ œ ๊ฐœ๋ฐœ์ž๋ฅผ ์ƒ์‚ฐ์„ฑ์˜ ์ „๋ฌธ๊ฐ€ ํ‰๊ฐ€์ž๋กœ ํ™œ์šฉํ•˜๋Š” ์„ค๋ฌธ-ํ…”๋ ˆ๋ฉ”ํŠธ๋ฆฌ ์—ฐ๊ณ„ ๋ฐฉ์‹์„ ํ™•๋ฆฝ

How

Figure 3

์‚ฌ์šฉ ๋ฉ”ํŠธ๋ฆญ ๊ฐ„ ์ƒ๊ด€๊ด€๊ณ„: ๋ชจ๋“  ์ฐจ์›์ด ์ƒ์‚ฐ์„ฑ ์ง€ํ‘œ์™€ ์œ ์‚ฌํ•˜๊ฒŒ ๋Œ€์‘

Originality

Limitation & Further Study

Evaluation

Novelty: 4/5 Technical Soundness: 4/5 Significance: 4/5 Clarity: 5/5 Overall: 4/5

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

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

๊ธฐ๋ฐ˜ ์—ฐ๊ตฌ
์ฝ”๋“œ ์ž๋™์™„์„ฑ ๋ฐ ์ฝ”๋“œ ์ƒ์‚ฐ์„ฑ ํ‰๊ฐ€ ๋ฒค์น˜๋งˆํฌ๋กœ, LLM ๋„์ž… ์‹œ ์ฝ”๋“œ ํ’ˆ์งˆ๊ณผ ๋ณต์ œ ๋ฌธ์ œ๋ฅผ ์ˆ˜์น˜์ ์œผ๋กœ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
์‹ ๊ฒฝ๋ง ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ์ž๋™์™„์„ฑ๊ณผ AI ์ฝ”๋”ฉ ๋„๊ตฌ์˜ ์„ฑ๋Šฅ๊ณผ ์˜ํ–ฅ์— ๋Œ€ํ•œ ํฌ๊ด„์  ํ‰๊ฐ€ ๋…ผ๋ฌธ์œผ๋กœ, ์ฝ”๋”ฉ ์ƒ์‚ฐ์„ฑ ์ž๋™ํ™”์˜ ๋‹ค์–‘ํ•œ ๊ด€์ ์„ ๋ณด์—ฌ์ค€๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
Productivity assessment of neural code completion ๋…ผ๋ฌธ์€ AI ๋ณด์กฐ ์ฝ”๋”ฉ ๋„๊ตฌ์˜ ์ƒ์‚ฐ์„ฑ๊ณผ ์•ˆ์ „์„ฑ ์˜ํ–ฅ์„ ๋‹ค๋ฃจ์–ด, Do Users Write More Insecure Code ๋…ผ๋ฌธ๊ณผ ๋™์ผํ•œ ์‚ฌํšŒ์  ์ด์Šˆ๋ฅผ ๋‹ค๋ฅด๊ฒŒ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
590๋ฒˆ์˜ ์˜คํ”ˆ ํ”Œ๋žซํผ ๊ธฐ๋ฐ˜ AI ์†Œํ”„ํŠธ์›จ์–ด ์—์ด์ „ํŠธ ์—ฐ๊ตฌ๋Š” 635๋ฒˆ์˜ ์‹ค์ œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ์˜ ์‚ฌ์šฉ์ž ์ƒ์‚ฐ์„ฑ ์˜ํ–ฅ ๋ถ„์„ ์‹ค์ฆ์—ฐ๊ตฌ์™€ ๋น„๊ต๋  ์ˆ˜ ์žˆ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
์ฝ”๋“œ ์ž๋™ ์™„์„ฑ์—์„œ ์ธ์ง€๋œ ์ƒ์‚ฐ์„ฑ ํ‰๊ฐ€์™€ ์œ ์‚ฌํ•˜๊ฒŒ, ์–ธ์–ด ํ•™์Šตยท์—์„ธ์ด ํ‰๊ฐ€์—์„œ ์ž๋™ํ™” ์‹œ์Šคํ…œ์˜ ์‹ค์ œ ํšจ์šฉ์„ ๋น„๊ตํ•˜๋Š” ๊ทผ๊ฑฐ์ž๋ฃŒ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์ ‘๊ทผ
782๋ฒˆ ๋…ผ๋ฌธ์€ ์‹ค์ œ GitHub ์ด์Šˆ ํ•ด๊ฒฐ ๊ธฐ๋ฐ˜ LLM ์ฝ”๋“œ ์—์ด์ „ํŠธ์˜ ํ‰๊ฐ€๋ฅผ ๋‹ค๋ฃจ์–ด, 635๋ฒˆ์˜ ์ฝ”๋“œ ์ž๋™์™„์„ฑ(AI ๋„์›€) ์‹ค์ฆ๊ณผ ํ•จ๊ป˜ ์ฝ”๋“œ ์ƒ์‚ฐ์„ฑ ์˜ํ–ฅ์„ ํญ๋„“๊ฒŒ ์กฐ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.
ํ›„์† ์—ฐ๊ตฌ
AI ์ฝ”ํŒŒ์ผ๋Ÿฟ์˜ ์ฝ”๋“œ ํ’ˆ์งˆ ๊ธฐ์—ฌ ํšจ๊ณผ๋ฅผ ์ตœ์‹  ๋ฐ์ดํ„ฐ๋กœ ๋ถ„์„ํ•˜์—ฌ, ๊ฐœ๋ฐœ์ž ์ƒ์‚ฐ์„ฑ ์ธ์‹๊ณผ ์‹ค์ œ ์ฝ”๋“œ ๊ฐœ์„ ์˜ ์—ฐ๊ฒฐ๊ณ ๋ฆฌ๋ฅผ ํ˜„๋Œ€์ ์œผ๋กœ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค.
์‘์šฉ ์‚ฌ๋ก€
544๋ฒˆ ๋…ผ๋ฌธ์—์„œ ์ œ์‹œํ•œ ์ฝ”๋“œ ๋””๋ฒ„๊น… ๋ฒค์น˜๋งˆํฌ๋Š” 635๋ฒˆ์˜ ์‹ ๊ฒฝ๋ง ์ฝ”๋“œ ์ œ์•ˆ ๋„๊ตฌ์˜ ์‹ค์ œ ๊ฐœ๋ฐœ์ž ์ƒ์‚ฐ์„ฑ ํšจ๊ณผ ์—ฐ๊ตฌ์— ํ‰๊ฐ€๊ทผ๊ฑฐ๊ฐ€ ๋œ๋‹ค.
์‘์šฉ ์‚ฌ๋ก€
AIRS-Bench์™€ ๊ฐ™์ด ์‹ค์ œ ๊ณผํ•™ ํƒœ์Šคํฌ์—์„œ AI ์ง€์› ๋„๊ตฌ์˜ ์„ฑ๋Šฅ๊ณผ ์ƒ์‚ฐ์„ฑ ํšจ๊ณผ๋ฅผ ํ‰๊ฐ€ํ•  ๋•Œ ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ๋Š” ์‹ค์ œ ๋ฒค์น˜๋งˆํ‚น ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค.
๋ฐ˜๋ก /๋น„ํŒ
283๋ฒˆ์€ AI ์ง€์› ์ฝ”๋“œ๊ฐ€ ์˜คํžˆ๋ ค ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ์•ผ๊ธฐํ•˜๋Š” ์‹ค์ฆ ์‚ฌ๋ก€๋ฅผ ๋ณด์—ฌ์ฃผ์–ด, 635๋ฒˆ์˜ ์ƒ์‚ฐ์„ฑ ํƒ๊ตฌ์™€ ๊ท ํ˜• ์žกํžŒ ์‹œ๊ฐ์„ ์ œ๊ณตํ•œ๋‹ค.
← ๋ชฉ๋ก์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

๐ŸŽง Audio Overview

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