2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

评论

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

PyTorch 开发环境搭建

Emperor_LawD

PyTorch 5月月更

LabVIEW应用程序后台运行

不脱发的程序猿

LabVIEW

Flutter 如何快速切换生产和测试环境?

岛上码农

flutter 安卓开发 ios 开发 跨平台应用 5月月更

从开源模型、框架到自研,声网 Web 端虚拟背景算法正式发布

RTE开发者社区

AI 大前端 WebRTC webassembly Dev for Dev

查找端口占用并关闭进程(windows)

liuzhen007

端口占用 5月月更

软件测试需要学什么?测试学习大纲梳理

伤心的辣条

Python 程序员 程序人生 软件测试 自动化测试

位运算——Java语言描述

工程师日月

位运算 java 5月月更

成功转行测试,分享一下自己的经验【思维导图】初级/中级/高级测试工程师会哪些...

伤心的辣条

Python 程序人生 软件测试 自动化测试 测试开发

在线URL编码加密工具

入门小站

工具

LabVIEW十六进制和字符类型转换

不脱发的程序猿

LabVIEW 进制转换

LabVIEW串口调试助手

不脱发的程序猿

LabVIEW 串口通信 数据通信 串口调试助手 VISA

测试人生 | 00后0经验应届毕业生拿下2线城市15W offer,好励志~

伤心的辣条

Python 程序人生 软件测试 自动化测试 接口测试

技术打开感知世界:当感官数字化,会发生什么?

脑极体

LabVIEW串口通信

不脱发的程序猿

LabVIEW 串口通信 数据通信

nginx配置系列(九)nginx中的防盗链

乌龟哥哥

5月月更

Django 如何获取 Model 字段列表?

AlwaysBeta

django

时序数据库在博物馆环境检测的应用

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

[Day37]-[二叉树]- 找树左下角的值

方勇(gopher)

LeetCode 二叉树 数据结构算法

DevOps系列之 —— 持续规划与设计(二)规划与设计

若尘

DevOps 5月月更

做SaaS的程序员们,是时候关注企业架构了

AI架构师汤师爷

企业架构 SaaS 架构设计 5月月更

linux之autojump命令

入门小站

Linux

六、高可用之流控降级

穿过生命散发芬芳

5月月更 高可用设计

【愚公系列】2022年05月 二十三种设计模式(六)-适配器模式(Adapter Pattern)

愚公搬代码

5月月更

恒源云 (Gpushare)_【炼丹必备】调参心法(说人话系列)

恒源云

深度学习

HarmonyOS 2迎来大更新:10个功能升级,这些机型建议更新!

科技汇

Hexo+github搭建个人博客,并绑定域名

武师叔

5月月更

什么是IP冲突以及如何解决?

郑州埃文科技

IP地址 IP冲突

恒源云(Gpushare)_今日炼丹小疑问:如何给数据加权重?

恒源云

Python 深度学习 PyTorch

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