Adair品科技 阿里云云效智能化代码平台的探索与实践( 二 )
文章图片
我们可以将云效智能研发助手''云豆''提供的智能化评审过程抽象为上面这张图 , 当一个开发者新建了一个代码评审 , 云豆可以结合智能化及传统自动化检测手段对这段代码进行全方位的检测 , 并给出一个非常综合的评审意见 。 此时评审者只需要在云豆提供的评审意见之上 , 结合自己的工作经验及对业务逻辑的理解给出补充的评审意见即可 。
智能研发助手云豆背后的能力:代码缺陷检测与补丁推荐-PRECFIX
在云效智能研发助手云豆提供的智能评审过程中 , 究竟涉及哪些智能化的能力呢?首先 , 我们来看代码缺陷检测与补丁推荐技术-PRECFIX 。
文章图片
在日常研发工作中 , 我们经常会用到P3C、PMD、FindBugs等传统自动化检测工具 , 但这些工具并不能完全解决阿里巴巴面临的代码质量问题 。 因为传统工具多是基于规则匹配 , 泛化能力不强 , 基于业务场景的缺陷很难识别出来 。 因此我们希望有一种对缺陷类型泛化能力比较强的缺陷检测方法或者工具 , 于是提出PRECFIX方法(PatchRecommendationbyEmpiricallyClustering) 。 PRECFIX的目标是通过智能化手段 , 可以实现毫秒级检测 , 能够修复部分偏业务缺陷 , 并给出对应的补丁推荐方案 。
PRECFIX代码检测过程主要分为三个阶段:风险识别、缺陷定位、补丁推荐 。 这个过程会涉及行为数据、代码数据、日志数据的处理 , 以及聚类算法、推荐算法、代码建模、特征提取、深度学习等算法技术 。
PRECFIX的技术实现思路其实并不复杂 , 首先我们从阿里巴巴集团内部海量的公开代码数据中提取代码提交(Commit)信息 , 基于一定规则挖掘出''缺陷修复对''(缺陷代码片段和补丁代码片段的组合) , 然后通过聚类算法将相似的''缺陷修复对''聚类 , 提取出对应的代码模板 。 在用户发起评审时 , 系统会自动扫描变更代码 , 若与缺陷模板库匹配 , 则会推荐给用户补丁模板用于修复 。
文章图片
PRECFIX方法已经在阿里巴巴集团内部落地 , 其误报率在5%以下 , 在内部公开代码库中扫描出了800多种缺陷类型 , 3万多个缺陷 , 提取出了3000多个补丁模板 。
智能研发助手云豆背后的能力:评审耗时预估
文章图片
当存在多个待处理评审的情况时 , ''评审耗时预估''可以帮助评审人预知评审的工作量 , 合理安排评审时间 , 利用碎片化时间进行充分的评审 , 提升评审效率 。
''评审耗时预估''的技术实现思路是怎样的呢?首先从几百万次的代码评审历史浏览数据中抽取特征 , 包括评审总行数、编程语言、历史评审时长、历史逐行时长等几十个维度的特征 , 从而去训练机器学习模型 。 当一个开发者提交了代码评审时 , ''云豆''会从他提交的diff文件中提取这些特征 , 从而估算这次评审需要的耗时 。
智能研发助手云豆背后的能力:敏感信息检测SecretRadar
文章图片
近年来 , 业内发生多起敏感信息(APIKey、Databasecredential、Privatetoken)通过某些站点被无意识地泄露出去的事件 , 给企业带来了安全风险 。 开发者和企业管理者亟需一款稳定健全的敏感信息检测方法和系统 。 通过调研我们了解到 , 目前已有的敏感信息检工具要么单纯考虑规则匹配 , 要么采用信息熵技术实现 , 其召回率或准确率均无法满足预期 。 因此我们在规则匹配和信息熵技术的基础上 , 结合了多层检测模型和上下文语义检测 , 打造了一款敏感信息检测工具——SecretRadar 。
- 科技犬君上半年用户喜爱手机盘点;小米电视大师65英寸OLED vs 索尼A9G 谁强?
- 科技生活快报TB5000mAh大电池还有65W超级快充!这些手机让你摆脱充电焦虑
- 精选泛科技一加8续航遭质疑:上半年最全机型横评出炉,结果如何?
- 阿拉图图科技说三星新机口碑虽好,但中国市场销量翻车,用户几乎跑光!
- 华为Mate30美科技界:华为再强大也只是一家民企,我们究竟在怕什么?
- 行业|高增长+高回撤!请收好这份“补票”名单,11只核心资产股入围,百亿科技股已跌出“深坑”
- 阿拉图图科技说 给做了!,雷军服不服?苹果要把雷军敢说不敢做的事情
- 网罗说科技 5G和iQOO Z1谁更强,简直不敢相信,同样是5G中端机,真我X50
- 黑叔科技 4K全面屏+独创性屏下透镜技术,你粉了吗,索尼顶级5G概念机曝光
- 快科技|阿里辟谣:不会高薪聘请黑阿里网站的人 直接交给警方