Data+AI时代,如何打造下一代数智平台? 了解详情
写点什么

面向亿行 C/C++ 代码的静态分析系统设计及实践

  • 2019-08-03
  • 本文字数:842 字

    阅读完需:约 3 分钟

面向亿行 C/C++ 代码的静态分析系统设计及实践

在 QCon 北京 2019 大会上,肖枭讲师做了《面向亿行 C/C++ 代码的静态分析系统设计及实践》主题演讲,主要内容如下。


演讲简介


随着软件研发规模的急速增长,软件质量的提升已不能再全面依靠测试和运维人员填坑的方式解决。DevOps 运动的开展提出了质量左移的口号,即尽可能让程序员在开发阶段修复更多的 Bug。但让各大企业头疼的是,让程序员花更多的时间提升代码质量又会造成软件交付的压力。为解决该矛盾,我们打造了一套在代码评审(Code Review)阶段进行静态代码扫描的系统。该系统具有反馈及时,工程师上下文切换少,对现有工作流程(Work-Flow)侵入小,以及无需占用工程师额外时间的优点。上线运行一年,该系统起到了开发阶段代码质量提升,逐步减少或者消除在测试和运维方面的投入,实现 DevOps 的全流程自动化高质量交付。

听众受益

  1. 了解静态分析工具在开发生命周期不同阶段的应用及其优缺点,以及为什么我们认为代码评审阶段是较优的选择。

  2. 了解我们有数千人开发团队的大型互联网企业大规模部署静态分析工具的经验和教训。包括系统设计如何应对每天数千次代码评审请求,分析和编译亿万行代码,并在十分钟内即给出分析结果。我们的系统设计思路可以为类似团队未来技术选型提供参考。

  3. 了解我们其它增强工程师代码评审体验的设计,比如用代码交叉索引降低代码理解的困难。


讲师介绍


肖枭


源伞科技 联合创始人兼 CEO


肖枭,源伞科技联合创始人兼 CEO,2016 年获得香港科技大学博士学位。在程序语言和软件工程(PL/SE)领域的国际顶级会议(POPL, PLDI, OOPSLA, ICSE)上发表多篇文章,主要研究方向为静态代码分析技术和应用。2014 年起率队研发下一代基于定理证明技术的静态分析工具 Pinpoint。并从 2016 年起,致力于推动 Pinpoint 在企业的实践,尤其是与 DevOps 相结合的应用落地。2017 年 9 月开始源伞科技跟百度 EE 部门共建自动化评审系统,2018 年 6 月正式上线对百度内部大规模服务,目前已将百度 80% 的 C/C++ 代码库接入系统。












完整演讲 PPT 下载链接


https://qcon.infoq.cn/2019/beijing/schedule


2019-08-03 08:003285

评论

发布
暂无评论
发现更多内容

产品迭代为什么越来越慢?

Feedalyze

效率工具 产品经理 产品运营 产品迭代 用户需求

Cornerstone for Mac:代码管理神器,让协作开发更稳更快!

Rose

Mac桌面宠物鹅Desktop Goose 如何使用?

Rose

Studio One 6 Pro永久许可证-Mac/win

Rose

2025深圳高交会·第二十七届中国国际高新技术成果交易会

AIOTE智博会

高交会 人工智能展 深圳高交会

圆明园十二生肖兽首铜像终于“回国”?百度百科推出数字文物守护计划,让流失文物回家

科技大数据

Last Call丨精彩嘉宾阵容,完整日程揭秘!2025 Altair 区域技术交流会华北站

Altair RapidMiner

人工智能 AI 汽车 数字孪生 CAE

MEV 的必然性:揭秘加密货币世界的暗池经济

TechubNews

英特尔发布专业级GPU,专为AI推理和专业工作站设计

E科讯

SpringBoot3 使用 SolonMCP 开发 MCP

不在线第一只蜗牛

Spring Boot

IDEA+AI 深度融合:重构高效开发的未来模式

飞算JavaAI开发助手

IDEA #java 技巧分享

打印高质量日志的10条军规

电子尖叫食人鱼

git

数据分析与AI丨Graph+LLM 如何重塑传统 BI 的未来

Altair RapidMiner

人工智能 AI 数据分析 知识图谱 GraphStudio

朱雀二号改进型火箭成功发射!国产时序数据库 IoTDB 全程护航火箭试验、发射及北邮双星数据管理

Apache IoTDB

1688图片搜索API接口攻略

tbapi

1688图片搜索接口 1688拍立淘接口 1688图片api

YashanDB 登录提示账户被锁?快速解锁 sys 用户的方法

数据库砖家

数据库

Lightroom Classic中文基础教程分享--LR图片管理和分类

Rose

践行“科学智能”!和鲸打造 AI for Science 专属应用

ModelWhale

学啥才能接单?分享一下我目前使用的技术栈

程序员郭顺发

YashanDB|报错 YAS-00402:failed to connect socket?可能是监听地址设置问题

数据库砖家

数据库

需求频繁变更?AI 驱动的自动化解决方案实践

飞算JavaAI开发助手

依赖错误终结者:AI 项目管理中的故障排查指南

飞算JavaAI开发助手

项目管理 AI 依赖

Mac 剪辑利器 Final Cut Pro,智能升级,重塑视频创作新格局

Rose

整合安全能力:观测云进一步强化数据价值

观测云

安全

淘宝商品详情API接口解析与 Python 实战指南

tbapi

淘宝API接口 淘宝商品详情接口 淘宝数据采集 淘宝商品详情数据采集

Web前端入门:JavaScript 3 种书写位置及 script 标签的正确存放位置

不在线第一只蜗牛

Java 前端 Web

成功案例丨GEZE与Altair合作推动智能建筑系统开发

Altair RapidMiner

制造业 数字孪生 仿真 CAE 工业仿真

Java 中堆内存和栈内存上的数据分布和特点

量贩潮汐·WholesaleTide

Java JVM

YashanDB|YAS-02287:审计策略无法删除?因为还在启用中

数据库砖家

数据库

小度AI助手携手博西家电达,共筑智能家居新场景

科技大数据

同样的数据,更强的效果:如何让模型学会‘互补思维’?

量贩潮汐·WholesaleTide

人工智能 机器学习

面向亿行 C/C++ 代码的静态分析系统设计及实践_编程语言_肖枭_InfoQ精选文章