写点什么

面向亿行 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:003288

评论

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

第6模块作业

高亮

架构训练营

电商系统微服务

贯通

架构实战营

HarmonyOS学习路之开发篇——Data Ability

爱吃土豆丝的打工人

HarmonyOS Ability 鸿蒙 Ability Data Ability

自然语言处理的发展

Qien Z.

自然语言处理 6月日更

Nginx简单属性和使用总结

赵镇

【Vue2.x 源码学习】第二十篇 - 使用真实节点替换原始节点

Brave

源码 vue2 6月日更

共享存储设备,如何实现差异化IO分配策略

怀瑾握瑜

云计算 负载均衡 存储 数据中心 SSD

鸿蒙究竟是什么?

Nydia

架构实战营 模块六课后作业

iProcess

架构实战营

云图说|初识云数据库GaussDB(for Cassandra)

华为云开发者联盟

开源 Cassandra 云数据库 GaussDB(for Cassandra) 宽列数据库

顶级程序员都是如何诞生的?

Nydia

话题讨论

活久见!低访问量竟然也能导致系统问题

三石

mycat

【Flutter 专题】128 图解 ColorTween 颜色补间动画 & ButtonBar 按钮容器

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

浪潮云说 | 开源新势力—云溪数据库ZNBase

云计算

模块六 作业

夏日

架构实战营

Linux之mkdir命令

入门小站

Linux

模块六:课后作业

菲尼克斯

架构实战营

密码学系列之:blowfish对称密钥分组算法

程序那些事

加密解密 密码学 程序那些事 密码学和算法

Python——双向队列 (deque)

在即

6月日更

EasyRecovery,拯救那些遗失的文件

淋雨

文件恢复 Easyrecovery破解 数据恢复软件 免费数据恢复

架構實戰營 - 模塊 6 作業

Frank Yang

架构实战营

在线crontab表达式执行时间计算工具

入门小站

工具分享

从 Flutter 和前端角度出发,聊聊单线程模型下如何保证 UI 流畅性

魅影

大前端 事件驱动 Event iOS 知识体系

架构实战营模块 6

阿体

推荐 3 款超好用的 Docker 图形化管理工具

学神来啦

Docker Linux 程序员 分布式 运维

MySQL 页完全指南——浅入深出页的原理

leonsh

MySQL 数据库 innodb

电商平台微服务拆分(简化版)

白发青年

架构实战营

架构实战营 模块六作业

Dylan

架构实战营

不动如山,表备份硬核技术:物理细粒度备份恢复

华为云开发者联盟

集群 数仓 Roach 物理细粒度 备份恢复

Cookie常见面试题

悟空聊架构

缓存 面试 Cookie 6月日更

Flink集成hive测试及生产规划

一弦思华年

大数据 hive 实时数仓 数仓 flink 执行

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