当前位置:首页 > 报告详情

陈英豪-LLM 辅助翻译 C 代码到 Rust 代码.pdf

上传人: 张** 编号:159342 2024-04-05 11页 391.93KB

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文介绍了由清华大学陈英豪开发的LLM辅助的C代码到Rust代码的翻译工具。该工具包含以下模型组成部分: 1. Commenter:对原始C代码逐行给出注释。 2. Translator:进行代码翻译。 3. Enhancer:对翻译出的Rust代码进行改进,确保符合Rust语言特性。 4. Runner:编译代码并给出报错信息。 5. CompilerMessageAnalyzer:分析报错信息,若无error,则终止过程;否则,代码和报错信息交给Corrector。 6. Corrector:根据报错信息修改代码。 文章提出了评测指标pass@k,即对每个测试问题重复测试t次,每次生成k份代码,只要一份通过测试,则算通过。文中提到,在HumanEval-X数据集上测试,设置n=5,pass@1的值为40%。与其他代码翻译任务相比,该工具在Rust目标语言上表现较好。 关键数据: - pass@1值:40% - HumanEval-X数据集上的其他代码翻译任务pass@1值对比: - InCoder-6.7B:34.37% - CodeGen-Multi-16B:33.83% - CodeGeeX-13B:27.18% - CodeGeeX-13B-FT:62.79% 遇到的问题包括推理时间过长、路径错误、需要外部知识改进Rust代码理解,以及长输入效果下降。未来计划包括构建Rust语言的外部知识向量数据库、提供与用户交互的能力、改进流程、生成测试用例和增加验证代码正确性的模块。
"LLM辅助翻译C代码到Rust代码的效果如何?" "如何解决Rust代码翻译中的路径错误问题?" "Rust代码翻译模型未来计划有哪些改进?"
客服
商务合作
小程序
服务号
折叠