arrow
返回

Information-theoretic detection of unusual source code changes

delete2025-08-08
delete0
delete
OA
AI
A
Adriano Torres *
S
Sebastian Baltes *
C
Christoph Treude
M
Markus Wagner
DOI:10.1007/s10664-025-10644-ydelete
delete原文链接
delete分享
delete收藏
查看原文
摘要

摘要

En 中文
软件项目代码库的演变本质上是通过向源代码中插入和移除信息来实现的。我们可以通过代码各自表示形式中的信息元素——标记(tokens)、词语(words)、节点(nodes)来衡量这种演变。在本研究中,我们从信息论的角度探讨开源项目源代码信息含量的测量问题。我们的重点是代码两种基本表示形式的熵:标记(tokens)和抽象语法树节点(abstract syntax tree nodes),并由此推导出文本熵(textual entropy)和结构熵(structural entropy)的定义。我们接着进行实证评估,评估95个活跃维护的开源项目中熵的演变模式。我们计算了所推导的熵指标与测量代码复杂性的经典方法之间的统计关系,并发现熵可能捕捉到与经典指标不同的复杂性维度。最后,我们进行了基于熵的异常检测,以检测不寻常的变更,结果表明我们的方法能够有效识别不寻常的源代码变更事件,精确度超过60%,为改进源代码演化的信息论测量奠定了基础,从而为在程序开发全过程中静态评估程序复杂度开辟了新的途径。
Keyword:
Information theory
Entropy
Software engineering
Source code analysis
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

Empirical Software Engineering 封面图
Empirical Software Engineering
IF:
3.6
论文数:
2.0K
被引数:
5.3K

机构

U
University of Bayreuth
学者数:
7.4K
论文数: 6.7K
被引数: 1.2W
S
School of Computer and Mathematical Sciences
学者数:
5
论文数: 4
被引数: 0
S
School of Computing and Information Systems
学者数:
40
论文数: 28
被引数: 4
D
department of data science and ai
学者数:
8
论文数: 8
被引数: 0
学者 查看更多机构