一句话:介绍 GitHub 如何借助函数式编程学术研究构建工业级程序分析工具 Semantic 的经验。
工业级代码托管平台面对海量多语言仓库,需要为漏洞分析与代码导航等场景提供可靠的代码数据与洞察。GitHub 构建了 Semantic 程序分析工具,从源代码中解析并提取细粒度信息;其开发过程广泛借鉴函数式编程文献,并保持与学术研究的联系。本文作为经验报告,阐述这些学术连接如何启发并指导工业级程序分析工具包的设计与实现,展示工业界与学术界在编程语言与函数式编程研究中的互动价值。
GitHub hosts hundreds of millions of code repositories written in hundreds of different programming languages. In addition to its hosting services, GitHub provides data and insights into code, such as vulnerability analysis and code navigation, with which users can improve and understand their software development process. GitHub has built Semantic, a program analysis tool capable of parsing and extracting detailed information from source code. The development of Semantic has relied extensively on the functional programming literature; this paper describes how connections to academic research inspired and informed the development of an industrial-scale program analysis toolkit.
@article{paperbot1477,
title = {Fusing industry and academia at GitHub (experience report)},
author = {Patrick Thomson and Rob Rix and Nicolas Wu and Tom Schrijvers},
journal = {Proceedings of the ACM on Programming Languages},
volume = {6},
number = {ICFP},
year = {2022},
doi = {10.1145/3547639}
}