阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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

评论

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

RabbitMQ基础知识

龙空白白

RabbitMQ

openGauss Developer Day 2022正式开启,与开发者共建开源数据库根社区

openGauss

微信视频号如何用 PC 电脑做直播?

boshi

直播 视频号

Java Core 「16」J.U.C Executor 框架之 ScheduledThreadPoolExecutor

Samson

学习笔记 Java core 6月月更

直播回顾 | 云原生混部系统 Koordinator 架构详解(附完整PPT)

阿里巴巴云原生

阿里云 架构 云原生 混部 Koordinator

如何通过7个步骤编写出色的在线用户手册

小炮

如何使用物联网低代码平台进行流程管理?

AIRIOT

低代码 物联网,

应用实践 | Apache Doris 整合 Iceberg + Flink CDC 构建实时湖仓一体的联邦查询分析架构

SelectDB

数据库 flink Doris iceberg

华为云低时延技术的九大绝招

坚果

6月月更

如何轻松快速构建区块链应用?技术大牛带来一线技术实践分享

腾源会

SLSA: 成功SBOM的促进剂

安势信息

开源 开源软件供应链 软件物料清单 SBOM SLSA

C/C++函数的调用约定详解

dvlinker

c++ 函数调用约定 __cdecl __stdcall __fastcall

学C++还是学Java?做软件研发还需掌握哪些知识和技能?

dvlinker

Java c++ 数据库 网络知识 汇编代码

游戏资产复用:更快找到所需游戏资产的新方法

龙智—DevSecOps解决方案

游戏开发 游戏资产 艾尔登法环 游戏资产复用

RabbitMQ访问Web端口报错User can only log in via localhost

龙空白白

区块哈希竞猜游戏系统开发(dapp)

薇電13242772558

哈希值

远程办公之:如何成为时间管理大师?| 社区征文

甜甜的白桃

初夏征文

Flutter中的GetX状态管理用起来真的那么香吗?

岛上码农

flutter ios 移动端开发 安卓开发 6月月更

国内外最好的12款项目管理系统优劣势分析

PingCode

如何低成本构建一个APP

Geek_99967b

小程序

Helix QAC更新至2022.1版本,将持续提供高标准合规覆盖率

龙智—DevSecOps解决方案

C语言 静态代码分析 Helix QAC 代码合规率 代码合规

八大误区,逐个击破(终篇):云难以扩展、定制性差,还会让管理员失去控制权?

龙智—DevSecOps解决方案

Atlassian 云版 版本选择 迁移上云

小程序容器到底是什么

Geek_99967b

Python 设计模式:适配器模式

宇宙之一粟

设计模式 适配器模式 6月月更

准备好迁移上云了?请收下这份迁移步骤清单

龙智—DevSecOps解决方案

迁移计划 迁移上云计划 迁移上云步骤 上云步骤清单 云迁移策略

在宇宙的眼眸下,如何正确地关心东数西算?

脑极体

脚本之美│VBS 入门交互实战

Windows Server 6月月更 VBS 脚本之美

Fabric.js 手动加粗文本iText

德育处主任

canvas FabricJS 6月月更

开发协同,高效管理 | 社区征文

武师叔

初夏征文

好用的人事管理软件有哪些?人事管理系统软件排名!

优秀

企业管理软件 OA管理系统

C++软件异常分析概述

dvlinker

windbg 软件异常 排查方法 Crashreport

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