Sign In

PBT-Bench: Benchmarking AI Agents on Property-Based Testing

์ž‘์„ฑ์ž
  • Haebom
์นดํ…Œ๊ณ ๋ฆฌ
Empty

์ €์ž

Lucas Jing, Xinqi Wang, Liao Zhang, Simon S. Du

๐Ÿ’ก ๊ฐœ์š”

์ด ์—ฐ๊ตฌ๋Š” ๊ธฐ์กด ์ฝ”๋“œ ๋ฒค์น˜๋งˆํฌ๊ฐ€ ์žฌํ˜„ ๊ฐ€๋Šฅํ•œ ๋ฒ„๊ทธ๋‚˜ ๋ฒ„๊ทธ ์ˆ˜์ •์— ์ดˆ์ ์„ ๋งž์ถ”๋Š” ๋ฐ˜๋ฉด, ๋ฌธ์„œ์—์„œ ์˜๋ฏธ๋ก ์  ๋ถˆ๋ณ€๋Ÿ‰์„ ๋„์ถœํ•˜๊ณ  ์ด๋ฅผ ์œ„๋ฐ˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ž…๋ ฅ ์ƒ์„ฑ ์ „๋žต์„ ๊ฐœ๋ฐœํ•˜๋Š” ์†์„ฑ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŒ…(Property-Based Testing, PBT)์˜ ๊ณ ์œ ํ•œ ๋Šฅ๋ ฅ์„ ์ œ๋Œ€๋กœ ํ‰๊ฐ€ํ•˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ์ ์„ ์ง€์ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด, ์—ฐ๊ตฌ์ง„์€ 40๊ฐœ์˜ ์‹ค์ œ Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๊ฑธ์ณ 100๊ฐœ์˜ PBT ๋ฌธ์ œ๋กœ ๊ตฌ์„ฑ๋œ PBT-Bench๋ฅผ ์ œ์•ˆํ•˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด AI ์—์ด์ „ํŠธ์˜ ๋ฌธ์„œ ๊ธฐ๋ฐ˜ ์˜๋ฏธ๋ก ์  ์ถ”๋ก  ๋Šฅ๋ ฅ์„ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”‘ ์‹œ์‚ฌ์  ๋ฐ ํ•œ๊ณ„

โ€ข
PBT-Bench์˜ ๊ธฐ์—ฌ: ๊ธฐ์กด ์ฝ”๋“œ ๋ฒค์น˜๋งˆํฌ์˜ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ณ  AI ์—์ด์ „ํŠธ์˜ ์†์„ฑ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŒ… ๋Šฅ๋ ฅ์„ ์ธก์ •ํ•˜๋Š” ์ƒˆ๋กœ์šด ๋ฒค์น˜๋งˆํฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
โ€ข
LLM ์„ฑ๋Šฅ ํ–ฅ์ƒ ๊ฐ€๋Šฅ์„ฑ: ๋ช…์‹œ์ ์ธ Hypothesis ์Šค์บํด๋”ฉ(scaffolding) ํ”„๋กฌํ”„ํŠธ๋Š” ์ค‘๊ฐ„ ์„ฑ๋Šฅ์˜ LLM์—์„œ 20% ์ด์ƒ์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๋ณด์—ฌ์ฃผ์ง€๋งŒ, ์ตœ์‹  ๋ชจ๋ธ์—์„œ๋Š” ๊ทธ ํšจ๊ณผ๊ฐ€ ์ œํ•œ์ ์ด๊ฑฐ๋‚˜ ์˜คํžˆ๋ ค ์„ฑ๋Šฅ์„ ์ €ํ•˜์‹œํ‚ฌ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข
์ตœ์ฒจ๋‹จ ๋ชจ๋ธ์˜ ํ•œ๊ณ„: ๊ฐ€์žฅ ์–ด๋ ค์šด ๋ฌธ์ œ๋Š” ๋ชจ๋ธ ์•„ํ‚คํ…์ฒ˜์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์•ฝ์ ์„ ๋“œ๋Ÿฌ๋‚ด๋ฉฐ, ์–ด๋–ค ๋‹จ์ผ ๋ชจ๋ธ๋„ ๋ชจ๋“  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•˜๋Š” ์ง€์†์ ์ธ ๊ฒฉ์ฐจ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
โ€ข
ํ–ฅํ›„ ์—ฐ๊ตฌ ๋ฐฉํ–ฅ: ๋ฌธ์„œ ๊ธฐ๋ฐ˜ ์˜๋ฏธ๋ก ์  ์ถ”๋ก  ๋Šฅ๋ ฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•œ LLM์˜ ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง ๋ฐ ์•„ํ‚คํ…์ฒ˜ ๊ฐœ์„  ์—ฐ๊ตฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
๐Ÿ‘