paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Identifying features in forks

识别 fork 中的功能特性
ICSE Proceedings of the 40th International Conference on Software Engineering2018匹配度 2/10 · 该论文属于软件工程中的 fork 管理与代码聚类/信息检索工具,不涉及用户核心关注的 PL 与 AI 交叉、静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析。引用 64 inbox
Shurui Zhou, Ştefan Stănciulescu, Olaf Leßenich, Yingfei Xiong, Andrzej Wąsowski, Christian Kästner
crossref: 2026-09-12

AI 速览

一句话:提出 Infox,通过代码聚类与信息检索自动识别 fork 中未合并的功能特性,并为活跃 fork 生成概览。

基于 fork 的开发在开源社区和工业界被广泛采用,但当 fork 数量众多时,开发者难以了解各 fork 的活动,现有工具帮助有限。本文提出 Infox,自动识别 fork 中尚未合并的功能特性,并生成项目活跃 fork 的概览。该方法结合代码分析与网络分析技术对内聚的代码片段进行聚类,再利用信息检索技术为聚类生成关键词标签。在已知功能特性集合上,聚类达到 90% 的准确率;用户研究进一步表明,Infox 能为 fork 开发者提供可操作的洞察。

问题
fork 数量增多时,开发者难以获取和维护各 fork 的活动概览,现有工具支持不足;尤其难以识别 fork 中尚未合并的功能特性。
方法
提出 Infox,使用代码分析与网络分析对内聚代码片段聚类,并用信息检索技术为聚类生成关键词标签,从而识别未合并特性并生成活跃 fork 概览。
评估
在已知功能特性集合上评估聚类准确率,达到 90%;并通过人类被试评估验证工具能为 fork 开发者提供可操作洞见。
原文摘要(Abstract)

Fork-based development has been widely used both in open source communities and in industry, because it gives developers flexibility to modify their own fork without affecting others. Unfortunately, this mechanism has downsides: When the number of forks becomes large, it is difficult for developers to get or maintain an overview of activities in the forks. Current tools provide little help. We introduce Infox, an approach to automatically identify non-merged features in forks and to generate an overview of active forks in a project. The approach clusters cohesive code fragments using code and network-analysis techniques and uses information-retrieval techniques to label clusters with keywords. The clustering is effective, with 90 % accuracy on a set of known features. In addition, a human-subject evaluation shows that Infox can provide actionable insight for developers of forks.

链接与引用

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

BibTeX
@inproceedings{paperbot4480,
  title = {Identifying features in forks},
  author = {Shurui Zhou and Ştefan Stănciulescu and Olaf Leßenich and Yingfei Xiong and Andrzej Wąsowski and Christian Kästner},
  booktitle = {ICSE},
  year = {2018},
  doi = {10.1145/3180155.3180205}
}