paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Classifying edits to variability in source code

对源代码中可变性编辑的分类
FSE Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering2022匹配度 1/10 · 该论文研究高度可配置软件系统中源代码可变性编辑的分类与自动验证,属于软件产品线和软件演化方向,与用户关注的静态分析、Agentic/LLM、浮点程序分析和贝叶斯程序分析均无直接关联。引用 8 inbox
Paul Maximilian Bittner, Christof Tinnes, Alexander Schultheiß, Sören Viegener, Timo Kehrer, Thomas Thüm
crossref: 2026-09-12

AI 速览

一句话:提出首个完整无歧义的源代码可变性编辑分类目录,并自动验证大规模提交历史。

针对 Linux 内核等高可配置系统,源代码变更常伴随 feature-to-code 映射的引入、删除或修改,但这些可变性编辑往往缺乏文档,难以理解其对可变性的影响。论文提出首个完整且无歧义的源代码可变性编辑分类,建立可构造完整无歧义分类的 scheme,并给出编辑可变性的完备且可靠模型。为验证,作者自动分类 44 个开源系统变更历史中 170 万次提交的每个编辑,平均每提交约 21.5ms;所有具有语法正确 feature-to-code 映射的编辑均可分类,且所有编辑类在实践中均有出现。

问题
高可配置软件中,源代码编辑常伴随 feature-to-code 映射的增删改,但其对可变性的影响缺乏系统理解和文档,维护演化困难。
方法
提出编辑类目录及构造完整无歧义分类的 scheme,并建立编辑可变性的完备可靠模型,用于自动判定每次编辑的类型。
评估
在 44 个开源系统的 170 万次提交上自动分类,平均 21.5ms/commit;所有语法正确的 feature-to-code 映射编辑均被分类,且所有编辑类均在实践中出现。
原文摘要(Abstract)

For highly configurable software systems, such as the Linux kernel, maintaining and evolving variability information along changes to source code poses a major challenge. While source code itself may be edited, also feature-to-code mappings may be introduced, removed, or changed. In practice, such edits are often conducted ad-hoc and without proper documentation. To support the maintenance and evolution of variability, it is desirable to understand the impact of each edit on the variability. We propose the first complete and unambiguous classification of edits to variability in source code by means of a catalog of edit classes. This catalog is based on a scheme that can be used to build classifications that are complete and unambiguous by construction. To this end, we introduce a complete and sound model for edits to variability. In about 21.5ms per commit, we validate the correctness and suitability of our classification by classifying each edit in 1.7 million commits in the change histories of 44 open-source software systems automatically. We are able to classify all edits with syntactically correct feature-to-code mappings and find that all our edit classes occur in practice.

链接与引用

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

BibTeX
@inproceedings{paperbot6965,
  title = {Classifying edits to variability in source code},
  author = {Paul Maximilian Bittner and Christof Tinnes and Alexander Schultheiß and Sören Viegener and Timo Kehrer and Thomas Thüm},
  booktitle = {FSE},
  year = {2022},
  doi = {10.1145/3540250.3549108}
}