《A3--高安凝哲--基于LLM的业务缺陷检测系统.pdf》由会员分享,可在线阅读,更多相关《A3--高安凝哲--基于LLM的业务缺陷检测系统.pdf(34页珍藏版)》请在三个皮匠报告上搜索。
1、 进群可咨询基于业务理解的缺陷检测安凝哲字节跳动质量技术团队,模型算法专家全局视缺陷检测通过直接理解项级代码的逻辑和业务功能逻辑,直接判别代码中可能缺陷录CONTENTS传统质量保障的范式0102LLM驱动的技术新算法设计与评测03缺陷检测效果以及总结04PART01传统质量保障的范式现有质量保障模式的三个特点被动性依赖于开发员通过编写测试例测试为过于被动需要量沟通后置性盒性缺陷会在测、回归、集成、灰度、线上等多个阶段被召回Case的覆盖不可能俱到通过或者动化case、或者流量回放来模拟使过程通过外部的动作发现内在的代码缺陷。模型驱动之下的质量与效能质量的产品交付更依赖于质量的产品、技术案,也
2、更加依赖于质量的编码。前有批从各个阶段介代码质量保障的能,如编码阶段-ByteCheck,评审阶段-AIReviewer等。这些作通过对编码数据的理解和检测,向开发员和评审员透出可采纳的修复和修改建议。尽管如此,仍有量的编码问题直到QA测试阶段,甚发布到线上后才发现,这些缺陷呈现的特点有:较强的业务语义属性、跨端或者跨服务、功能实现不完整、功能实现错误等等。这些问题区别于传统的代码问题,呈现较的业务语义属性和跨服务、跨端的关联关系。2024.112024.12期间某业务的数据情况显,在测、cr、静态检测等保障下,仍有量包含业务属性的缺陷被后置到测试甚线上发布后才被发现在11到12期间,需求空间
3、统计的缺陷数量过千,其中功能缺陷占超过60%该业务业务针对功能和代码逻辑实现错误,缺陷会被研发同学标记为研发设计考虑不周全及需求实现错误,其中被标记为上述类别占总缺陷的30%+业务标构建基于LLM的业务理解容器,基于数据中实现可主演进的知识闭环机制,持续吸收、消化业务知识,实现从宏观产品到微观代码的完整、精准理解。业务理解基于业务理解能、险识别能、流程实时感知能,构建基于LLM的流程调度中,实现对险/中断/故障的归因决策,对/资源的精准调度,能够托管90%以上的交付流程。缺陷归因基于业务理解能和LLM构建覆盖全流程的险引擎,在交付流程中对险进实时召回,特别是解决绝部分只能QA测出来的问题,识别
4、90%以上的线下缺陷。险识别基于当前的LLM能,模拟套具备上述技能的系统,对缺陷进检测、定位、修复,实现以下能:PART02LLM驱动的技术新LLM驱动的缺陷检测技术特点主动性前置性盒性LLM可以通过代码理解,主动进逻辑校验,和例测试有互补性当开发员提交MR之后,就可以直接进代码逻辑验证,在测试员介前进代码校验LLM可以给出代码缺陷的解释说明,让开发员了解其中的缺陷逻辑解决问题基于业务档和代码实现,分析当前代码是否正确,完整的实现了业务需求PART03算法设计能矩阵能矩阵产品理解产品理解从、业务和市场需求的度出发,去深了解个软件的功能、价值和预期为理解业务需求、故事(User Story)、功
5、能规格和体验(UX/UI)设计基于产品理解,可以判断个现象是“缺陷(Bug)”还是“设计如此(As Designed)”代码理解代码理解是从技术实现的度出发,深软件的架构、代码逻辑、数据结构和算法通过代码审查(CodeReview)、静态代码分析(Static Analysis)等式,在代码被测试之前就找出潜在的逻辑错误、性能瓶颈、安全漏洞产品理解藉由对于业务历史需求,历史技术档等知识的理解,构建业务理解能,理解底层逻辑和业务背景,帮助缺陷检测系统更好的识别代码中的业务链路产品理解-功能树分析前端的层级信息,辅助进产品理解代码理解(codegraph)通过Codegraph建代码的全局调链路,
6、通过模型分析代码的层级结构和语义。通过索引和模型能进召回代码理解(codegraph)仓库级别的业务理解:分析不同仓库负责的业务功能模块件和函数级别的理解:拆解代码段的能代码链路的理解能:通过对于功能点前端,后端的跨端,跨仓实现链路,分析链路上每个代码段负责实现的功能模块变量、结构体的业务语义:通过历史代码变更和对应的需求,分析每个变量和结构体在整个功能链路上表达的业务语义代码理解(codegraph)从语法基础理解,到领域语义对,再到项级理解实现整体项的代码链路,边界处理,项规则等关键信息的理解,并通过prompt调优,模型训练提升模型的推理能,更好的