在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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

评论

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

我和TiDB的故事 | 遇上你是我的缘

TiDB 社区干货传送门

人物访谈 社区活动

我和 TiDB 的故事 | 横看成岭侧成峰

TiDB 社区干货传送门

人物访谈

行云管家荣获第十一届中国财经峰会“2022杰出品牌形象奖”

行云管家

云计算 多云管理 财经峰会

数据结构与算法完整版 | 超详细图解,看这一篇就够了

冉然学Java

字节跳动 java; 技术分享 编程、 算法与数据结构

中移链EOSJS实战使用

BSN研习社

一次多表关联顺序的慢查询——TiDB 关联特性

TiDB 社区干货传送门

性能调优

【Spring Boot 四】启动之准备系统环境environmentPrepared

石臻臻的杂货铺

Spring Boot 8月月更

酷炫一款动态背景+鼠标点击效果(HTML +js canvas)

Five

Hexo js 动效 canvas 8月月更

荆棘与玫瑰:基础服务架构师的成⻓之路

九叔(高翔龙)

架构师 全球架构师峰会

NFT卡牌游戏系统Dapp开发(NFT链游)

薇電13242772558

dapp NFT

后台权限系统的设计以及主流的五种权限模型详解

Java全栈架构师

Java 程序员 架构 面试 后端

centOS7.3 安装启用 iptables 记录

JavaPub

Linux centos7 iptables

不是吧?还有人不会定位线上MySQL慢查询问题?

Java永远的神

Java MySQL 数据库 程序员 面试

自己动手制作elasticsearch-head的Docker镜像

程序员欣宸

Java Docker elasticsearch 8月月更

国密是什么意思?属于商密还是普密?

行云管家

信息安全 国密

vue-router 如何实现支持外部链接

Five

vue-router 路由 8月月更

字节跳动 Flink 状态查询实践与优化

Apache Flink

大数据 flink

2022年6月互联网医疗领域月度观察

易观分析

医疗 市场

COSCon'22城市/学校/机构出品人征集令

开源社

#开源 COSCon'22

RT-Thread记录(二、RT-Thread内核启动流程 — 启动文件和源码分析)

矜辰所致

RTT RT-Thread 8月月更

踩坑了!mysql明明加了唯一索引,还是产生了重复数据

程序员小毕

Java MySQL 数据库 程序员 后端

自从用了 Kiali 以后才知道,配置 Istio 的 流量管理 是如此容易

万猫学社

云原生 istio envoy kiali

shell脚本,帮你提升摸鱼时间!

工程师日月

签约计划第三季 8月月更

文盘Rust -- 配置文件解析

TiDB 社区干货传送门

开发语言

对话庄表伟:开源第一课

开源社

#开源

leetcode 240. Search a 2D Matrix II 搜索二维矩阵 II(中等)

okokabcd

数组 LeetCode 数据结构与算法

【Spring Boot 三】SpringBoot中事件与通知

石臻臻的杂货铺

Spring Boot 8月月更

我和 TiDB 的故事 | 学tidb半年,社区治好了我的精神内耗

TiDB 社区干货传送门

人物访谈 社区活动

CVE-2021-37580 Apache ShenYu 身份验证绕过漏洞复现

美创科技

漏洞

NLP 论文领读|无参数机器翻译遇上对比学习:效率和性能我全都要!

澜舟孟子开源社区

人工智能 自然语言处理 机器学习 深度学习 机器翻译

sync-diff-inspector 使用实践

TiDB 社区干货传送门

6.x 实践

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