ChatPaper.aiChatPaper

B4: Naar een optimale beoordeling van plausibele codeoplossingen met plausibele tests

B4: Towards Optimal Assessment of Plausible Code Solutions with Plausible Tests

September 13, 2024
Auteurs: Mouxiang Chen, Zhongxin Liu, He Tao, Yusu Hong, David Lo, Xin Xia, Jianling Sun
cs.AI

Samenvatting

Het selecteren van de beste codeoplossing uit meerdere gegenereerde oplossingen is een essentiële taak bij codegeneratie, die kan worden bereikt door gebruik te maken van betrouwbare validatoren (bijv. door ontwikkelaars geschreven testcases) ter ondersteuning. Aangezien betrouwbare testcases niet altijd beschikbaar zijn en in de praktijk duur kunnen zijn om te ontwikkelen, stellen onderzoekers voor om automatisch testcases te genereren om codeoplossingen te beoordelen. Echter, wanneer zowel codeoplossingen als testcases plausibel zijn en niet betrouwbaar, wordt het selecteren van de beste oplossing uitdagend. Hoewel er enkele heuristische strategieën zijn voorgesteld om dit probleem aan te pakken, ontbreekt een sterke theoretische garantie en is het nog steeds een open vraag of er een optimale selectiestrategie bestaat. Ons werk draagt op twee manieren bij. Ten eerste tonen we aan dat binnen een Bayesiaans kader de optimale selectiestrategie kan worden gedefinieerd op basis van de a posteriori kans van de waargenomen geslaagde toestanden tussen oplossingen en tests. Het probleem van het identificeren van de beste oplossing wordt vervolgens geformuleerd als een geheel programmeringsprobleem. Ten tweede stellen we een efficiënte benadering voor om deze optimale (maar onberekenbare) strategie te benaderen, waarbij de benaderingsfout begrensd is door de juistheid van de voorkennis. Vervolgens incorporeren we effectieve voorkennis om codegeneratietaken op maat te maken. Zowel theoretische als empirische studies bevestigen dat bestaande heuristieken beperkt zijn in het selecteren van de beste oplossingen met plausibele testcases. Onze voorgestelde benaderde optimale strategie B4 overtreft aanzienlijk bestaande heuristieken bij het selecteren van codeoplossingen gegenereerd door grote taalmodellen (LLM's) met LLM-generieerde tests, met een relatieve prestatieverbetering tot 50% ten opzichte van de sterkste heuristiek en 246% ten opzichte van willekeurige selectie in de meest uitdagende scenario's. Onze code is openbaar beschikbaar op https://github.com/ZJU-CTAG/B4.
English
Selecting the best code solution from multiple generated ones is an essential task in code generation, which can be achieved by using some reliable validators (e.g., developer-written test cases) for assistance. Since reliable test cases are not always available and can be expensive to build in practice, researchers propose to automatically generate test cases to assess code solutions. However, when both code solutions and test cases are plausible and not reliable, selecting the best solution becomes challenging. Although some heuristic strategies have been proposed to tackle this problem, they lack a strong theoretical guarantee and it is still an open question whether an optimal selection strategy exists. Our work contributes in two ways. First, we show that within a Bayesian framework, the optimal selection strategy can be defined based on the posterior probability of the observed passing states between solutions and tests. The problem of identifying the best solution is then framed as an integer programming problem. Second, we propose an efficient approach for approximating this optimal (yet uncomputable) strategy, where the approximation error is bounded by the correctness of prior knowledge. We then incorporate effective prior knowledge to tailor code generation tasks. Both theoretical and empirical studies confirm that existing heuristics are limited in selecting the best solutions with plausible test cases. Our proposed approximated optimal strategy B4 significantly surpasses existing heuristics in selecting code solutions generated by large language models (LLMs) with LLM-generated tests, achieving a relative performance improvement by up to 50% over the strongest heuristic and 246% over the random selection in the most challenging scenarios. Our code is publicly available at https://github.com/ZJU-CTAG/B4.

Summary

AI-Generated Summary

PDF282November 16, 2024