字节跳动发布的自动代码审核软件 – BitsAI-CR

AI工具3个月前发布 ainav
191 0

BitsAI-CR代表的是什么?

ByteCodeAuditor是由字节跳动团队开发的一款利用大型语言模型(LLM)进行自动化代码审核的应用工具。它采用两步流程来提升审核效率:首先由RuleChecker根据219项规定识别潜在的代码问题,随后ReviewFilter对这些问题做进一步确认以确保准确度。此外,ByteCodeAuditor还创新性地提出了“过时率”这一指标来自动衡量开发者采纳审查建议的程度,并通过数据反馈循环机制不断改进审核规则。

BitsAI-CR

BitsAI-CR的核心特性

  • 精确的代码审核意见生成BitsAI-CR 利用分两个步骤的处理方法来生成精准的代码审核反馈。
  • 软件检查准则归类根据代码规范指引及真实的审核实践经验所建立的详尽审核准则分类框架,构成了系统的基石支撑。
  • 整合与流程自动化的实现集成 BitsAI-CR 到当前的代码审核流程中非常简便,它能够自动检测潜在的问题点、指定审查类型、精确定位有问题的代码行,并给出相应的注释。当开发者依据这些反馈调整了代码后,BitsAI-CR 会再次进行评估并标注先前的意见为“不再适用”,随后给予“LGTM”(意即‘我认为可以接受’)的确认批准。

BitsAI-CR的核心技术机制

  • 双步审核流程请提供需要改写的具体内容。
    • 规则验证器依据包含 219 项审核标准的详尽分类体系,利用经过精细调整的语言模型来识别代码中存在的潜在缺陷。
    • 评论筛选器完成 RuleChecker 的步骤后,一个调整过的大型语言模型会被用来确认之前识别出的问题,以此来增强审核的准确性。
  • 数据驱动的旋转效应利用实际反馈来实现大规模工业环境的优化。
    • 陈旧率(Obsolescence Rate)指数通过自动化计算由BitsAI-CR标识并进行修改的代码行的比例,来评价开发人员是否采纳并落实了审查提出的建议。
    • 实时修改审核标准依据淘汰速度与准确性评估来灵活调节审核标准,剔除产生较少有价值反馈的规定。
  • 模型的训练及优化过程利用字节跳动研发的LLM(Doubao-Pro-32K-0828),并采用低秩适应(LoRA)技术完成微调过程,确保了在安全与性能之间的良好平衡。通过基于历史审查数据进行训练,优化模型以提升其审查准确度。

BitsAI-CR项目的网址

  • 关于arXiv的技术文章在学术论文数据库中可以找到这篇文档,其网址为:https://arxiv.org/abs/2501.15134。请注意,由于直接引用的是一个特定的文献标识符,并非传统意义上的文本内容,因此改写主要集中在提供访问该文档的方式上保持原意不变但表达不同。

BitsAI-CR的使用情境

  • 自动化的代码审核流程BitsAI-CR 利用两个审核步骤(规则检查器和评审过滤器)来自动化检测代码里的可能问题,并创建精确的问题反馈,同时指出具体有问题的代码行。
  • 不断改进和完善反馈系统BitsAI-CR 推出了名为“过时率”(Outdated Rate) 的评估标准,该标准基于自动检测开发人员采纳与修订审核提议的程度来灵活调节审核准则。
  • 多种语言兼容及规则归类BitsAI-CR 拥有一个详尽的审核准则分类系统,并且兼容包括 Go 在内的多种编程语言。它根据各种编程语言的独特属性及普遍遇到的问题,制定了一系列具体的检查标准。
  • 整合及自动处理程序BitsAI-CR 能够轻松融入既有的代码审核工作流,全自动管理从代码提交至最终审批的所有环节,包括评审与修正步骤。
© 版权声明

相关文章