paperbot · PL 论文追踪

全部论文 待读 收藏

P1 Floating-Point Usage on GitHub: A Large-Scale Study of Statically Typed Languages

GitHub 上的浮点使用:静态类型语言的大规模研究
OOPSLA 10(OOPSLA1)2026匹配度 7/10 · 论文直接针对真实世界浮点代码的大规模实证研究与数据集构建,属于浮点程序分析方向的重要基础工作;它评估现有浮点基准的代表性并发布千万级函数数据集,对后续浮点分析与基准设计有直接参考价值。但论文本身不涉及静态分析技术、LLM/Agent 或贝叶斯程序分析,因此不是该研究画像的核心方法论文,匹配度适中。引用 1 inbox
Andrea Gilot, Tobias Wrigstad, Eva Darulova
crossref: 2026-09-10

AI 速览

一句话:首个跨 GitHub 静态类型语言的大规模浮点使用实证研究,并发布千万级真实浮点函数数据集。

浮点算术的推理素来困难,现有静态/动态分析与程序修复技术虽进展显著,却仍需贴近真实代码;其前提是弄清真实世界的浮点代码长什么样。本文填补这一知识空白,对公开 GitHub 仓库中的浮点算术使用开展首个大规模实证研究。为扩展到数百万仓库,研究聚焦静态类型语言,并遵循先进的数据挖掘实践:随机采样、仅依据内在属性过滤以避免偏差,通过源码关键词识别浮点使用、通过解析代码识别循环等语言构造。评估结果支持了文献中常提的“浮点算术被广泛使用”这一论断;通过比较代码规模、特定构造与函数使用等统计量,发现文献中用于评测浮点自动推理技术的基准在某些方面能代表“真实世界”代码,但并非全部方面。作者发布了从研究中提取的一千万个真实浮点函数数据集,并以案例研究展示其可用于发现新基准,帮助未来浮点算术技术按真实用户预期进行设计与评估。

问题
浮点算术的自动推理技术虽已取得进展,但缺乏对真实世界中浮点代码形态的了解,导致技术与真实代码需求脱节。
方法
对公开 GitHub 仓库开展大规模实证挖掘:聚焦静态类型语言,采用随机采样与基于内在属性的过滤避免偏差,用关键词匹配识别浮点使用、用解析识别语言构造。
评估
统计并比较代码规模、构造与函数使用等指标,分析文献基准是否能代表真实代码;发布一千万个真实浮点函数数据集,并通过案例研究展示其发现新基准的用途。
原文摘要(Abstract)

Reasoning about floating-point arithmetic is notoriously hard. While static and dynamic analysis techniques or program repair have made significant progress, more work is still needed to make them relevant to real-world code. On the critical path to that goal is understanding what real-world floating-point code looks like. To close that knowledge gap, this paper presents the first large-scale empirical study of floating-point arithmetic usage across public GitHub repositories. We focus on statically typed languages to allow our study to scale to millions of repositories. We follow state-of the art mining practices including random sampling and filtering based on only intrinsic properties to avoid bias, and identify floating-point usage by searching for keywords in the source code, and programming language constructs ( e.g ., loops) by parsing the code. Our evaluation supports the claim often made in papers that floating-point arithmetic is widely used. Comparing statistics such as size and usage of certain constructs and functions, we find that benchmarks used in literature to evaluate automated reasoning techniques for floating-point arithmetic are in certain aspects representative of ‘real-world’ code, but not in all. We publish a dataset of 10 million real-world floating-point functions extracted from our study. We demonstrate in a case study how it may be used to identify new floating-point benchmarks and help future techniques for floating-point arithmetic to be designed and evaluated to match actual users’ expectations.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot3846,
  title = {Floating-Point Usage on GitHub: A Large-Scale Study of Statically Typed Languages},
  author = {Andrea Gilot and Tobias Wrigstad and Eva Darulova},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {10},
  number = {OOPSLA1},
  year = {2026},
  doi = {10.1145/3798203}
}