
LLM์ ๋ฐ์ ์ผ๋ก ์๋ ์ฝ๋ ์์ฑ๊ณผ ํ ์คํธ ์ผ์ด์ค ์์ฑ์ด ํ๋ฐํด์ก์ต๋๋ค. ํ์ง๋ง ํ์ค์ฒ๋ผ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๊ธฐ์กด ๋ฒค์น๋งํฌ(HumanEval+, MBPP+)๋ ์ฌ์ ํ pass@k ์ค์ฌ์ functional correctness์ ์ด์ ์ ๋๊ณ ์์ด, ์์ฑ ์ฝ๋๊ฐ well-formed input์์ ์ ๋ต์ ๋ด๋์ง์ ๋ํ ์ ํธ๋ง ๊ฐํ๊ฒ ์ ๊ณตํฉ๋๋ค. ๋ฐ๋ฉด ์ค์ ์ํํธ์จ์ด์์ โ์ ํํ ํ๊ฐโ๋ ์ ๋ต ์ถ๋ ฅ๋ฟ ์๋๋ผ, ์ ๋ ฅ ์กฐ๊ฑด(input conditions)โcontracts๋ก ์ฃผ์ด์ง๋ input validity constraints๊ณผ ์์ธ ์ฒ๋ฆฌ ๊ท์นโ์ ์๋ฐํ๋ ill-formed input์ ์๋๋๋ก rejectํ๋์ง๊น์ง ํฌํจํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด ๋ฅ๋ ฅ์ ๊ธฐ์กด pass@k ํ๊ฐ์์๋ ๊ฑฐ์ ๊ด์ฐฐ๋์ง ์์, LLM์ contract-awareness๊ฐ ์ฌ์ค์ ๊ฐ๊ณผ๋ฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ด ํ๊ฐ ๊ณต๋ฐฑ์ ์ธก์ ๊ฐ๋ฅํ๊ฒ ๋ฉ์ฐ๊ธฐ ์ํด ContractEval์ ์ ์ํฉ๋๋ค. ContractEval์ ๊ธฐ์กด ๋ฒค์น๋งํฌ(HumanEval+, MBPP+)์ contract-violating tests(CVTs)๋ฅผ ์ถ๊ฐํ์ฌ, ์์ฑ ์ฝ๋๊ฐ ill-formed input์ ๋จ์ํ ์คํจํ๋ ๊ฒ์ด ์๋๋ผ ์๋ํ assertion์ผ๋ก ๋ช ์์ ์ผ๋ก rejectํ๋์ง๋ฅผ ํ์คํ๋ ๋ฐฉ์์ผ๋ก ํ๊ฐํฉ๋๋ค.

ContractEval๋ LLM ์ฝ๋ ํ๊ฐ๋ฅผ functional correctness์์ ํ ๋จ๊ณ ํ์ฅํด, Contract ์ค์๊น์ง ํจ๊ป ์ธก์ ยท๊ฐํํ๋ Contract-aware benchmark์ ๋๋ค.
๊ธฐ์กด pass@k ํ๊ฐ๊ฐ ์ฃผ๋ก well-formed input์์์ ์ ๋ต ์ฌ๋ถ์ ์ง์คํ๋ ๋ฐ๋ฉด, ContractEval์ ill-formed input์ ๋ํด ๋ชจ๋ธ์ด ๋จ์ํ ํฌ๋์ํ๋์ง ์ฌ๋ถ๊ฐ ์๋๋ผ, intended rejectiond์ ์ํํ๋์ง๊น์ง ์ธก์ ํฉ๋๋ค.
์ด๋ฌํ ํ๊ฐ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๊ธฐ ์ํด, ContractEval์ ๋ค์ 3๊ฐ์ง ํต์ฌ ์ค๊ณ ์ถ์ ๊ธฐ๋ฐํด ๊ตฌ์ฑ๋ฉ๋๋ค.