Haau-Sing Li, Patrick Fernandes, Iryna Gurevych, André F. T. Martins
{"title":"DOCE:寻找基于执行的代码生成的最佳点","authors":"Haau-Sing Li, Patrick Fernandes, Iryna Gurevych, André F. T. Martins","doi":"arxiv-2408.13745","DOIUrl":null,"url":null,"abstract":"Recently, a diverse set of decoding and reranking procedures have been shown\neffective for LLM-based code generation. However, a comprehensive framework\nthat links and experimentally compares these methods is missing. We address\nthis by proposing Decoding Objectives for Code Execution, a comprehensive\nframework that includes candidate generation, $n$-best reranking, minimum Bayes\nrisk (MBR) decoding, and self-debugging as the core components. We then study\nthe contributions of these components through execution-based evaluation\nmetrics. Our findings highlight the importance of execution-based methods and\nthe difference gap between execution-based and execution-free methods.\nFurthermore, we assess the impact of filtering based on trial unit tests, a\nsimple and effective strategy that has been often overlooked in prior works. We\nalso propose self-debugging on multiple candidates, obtaining state-of-the-art\nperformance on reranking for code generation. We expect our framework to\nprovide a solid guideline for future research on code generation.","PeriodicalId":501197,"journal":{"name":"arXiv - CS - Programming Languages","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2024-08-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"DOCE: Finding the Sweet Spot for Execution-Based Code Generation\",\"authors\":\"Haau-Sing Li, Patrick Fernandes, Iryna Gurevych, André F. T. Martins\",\"doi\":\"arxiv-2408.13745\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Recently, a diverse set of decoding and reranking procedures have been shown\\neffective for LLM-based code generation. However, a comprehensive framework\\nthat links and experimentally compares these methods is missing. We address\\nthis by proposing Decoding Objectives for Code Execution, a comprehensive\\nframework that includes candidate generation, $n$-best reranking, minimum Bayes\\nrisk (MBR) decoding, and self-debugging as the core components. We then study\\nthe contributions of these components through execution-based evaluation\\nmetrics. Our findings highlight the importance of execution-based methods and\\nthe difference gap between execution-based and execution-free methods.\\nFurthermore, we assess the impact of filtering based on trial unit tests, a\\nsimple and effective strategy that has been often overlooked in prior works. We\\nalso propose self-debugging on multiple candidates, obtaining state-of-the-art\\nperformance on reranking for code generation. We expect our framework to\\nprovide a solid guideline for future research on code generation.\",\"PeriodicalId\":501197,\"journal\":{\"name\":\"arXiv - CS - Programming Languages\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-08-25\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"arXiv - CS - Programming Languages\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/arxiv-2408.13745\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Programming Languages","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2408.13745","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
摘要
最近,有多种解码和重排程序被证明对基于 LLM 的代码生成有效。然而,目前还缺少一个将这些方法联系起来并进行实验比较的综合框架。为了解决这个问题,我们提出了 "代码执行的解码目标"(Decoding Objectives for Code Execution),这是一个综合框架,包括候选生成、$n$最优重排、最小贝叶斯风险(MBR)解码和自调试等核心组件。然后,我们通过基于执行的评估指标来研究这些组件的贡献。我们的研究结果强调了基于执行的方法的重要性,以及基于执行的方法与免执行方法之间的差距。此外,我们还评估了基于试验单元测试的过滤的影响,这种简单有效的策略在之前的研究中经常被忽视。我们还提出了对多个候选代码进行自调试的方法,在代码生成的重新排序方面取得了最先进的性能。我们希望我们的框架能为未来的代码生成研究提供坚实的指导。
DOCE: Finding the Sweet Spot for Execution-Based Code Generation
Recently, a diverse set of decoding and reranking procedures have been shown
effective for LLM-based code generation. However, a comprehensive framework
that links and experimentally compares these methods is missing. We address
this by proposing Decoding Objectives for Code Execution, a comprehensive
framework that includes candidate generation, $n$-best reranking, minimum Bayes
risk (MBR) decoding, and self-debugging as the core components. We then study
the contributions of these components through execution-based evaluation
metrics. Our findings highlight the importance of execution-based methods and
the difference gap between execution-based and execution-free methods.
Furthermore, we assess the impact of filtering based on trial unit tests, a
simple and effective strategy that has been often overlooked in prior works. We
also propose self-debugging on multiple candidates, obtaining state-of-the-art
performance on reranking for code generation. We expect our framework to
provide a solid guideline for future research on code generation.