A1--蒋思源--提升代码生成质量:代码大模型实践经验.pdf
1、提升代码生成质量:代码大模型实践经验蒋思源 aiXcoder 大模型算法专家目录C O N T E N T S1.预训练数据处理2.偏好对齐训练3.软件工程工具4.多智能体协同5.领域化训练6.代码质量评测软件工程工具增强代码质量多智能体协同增强代码质量领域化增强代码质量强化预训练数据处理偏好对齐增强代码质量基础模型质量保证工程化提升推理质量适配闭源代码质量把控生成代码质量评测评测指标监控生成质量预训练数据处理01预训练数据处理原始代码数据挑选项目级综合过滤代码文件级过滤敏感信息去除语法分析静态分析 常规预处理内容:重复性代码 自动生成的代码 无意义的代码 语法分析:不完整的代码块 非法字符
2、关键词误用 缺少必要的语法元素 无效的语法结构 静态分析:可维护性:判断语句嵌套过深 不良命名规范 可靠性:资源泄露 数组越界 类型错误 作用范围错误 未捕捉的错误 未定义或未使用的变量 安全漏洞数据预处理流预训练数据处理-语法分析预训练数据处理-语法分析预训练数据处理 静态分析可维护性:np.is_nan()判定可靠性:构造方法不能返回值安全性:浮点数对比不安全安全性:变量释放后使用安全性:越界写安全性:内存溢出预训练数据处理 静态分析偏好对齐提升代码质量02偏好对齐Magicoder:Empowering Code Generation with OSS-INSTRUCT偏好对齐https
3、:/ Test Case Generation for Detecting Tricky Bugs 给定功能描述与代码,生成测试用例 给定功能描述生成测试用例输入的生成代码 通过运行时生成一组测试用例的输入 如果被测函数生成结果不一致,投票排除错误结果偏好对齐-基于模型的数据过滤我们会从 语义逻辑、代码质量、代码性能等五个方面评估总体质量,只有所有分数都是最高,才会保留作为训练数据。工程处理提升代码质量03工程工具 RAG 缺陷检测 通过现存的 CVE实例,多维度抽取安全漏洞知识库 给定代码块,检索相应的代码缺陷背景知识 利用背景知识检测当前代码块的缺陷与漏洞Vul-RAG:Enhancing





点击查看更多