计算机科学 > 计算机科学中的逻辑
[提交于 2025年9月29日
]
标题: 带绑定器的变元结构的推广:一种用于结构代码比较的工具
标题: Generalization of Variadic Structures with Binders: A Tool for Structural Code Comparison
摘要: 本文介绍了一种新颖的反统一算法,用于具有绑定器的变元结构的泛化,设计为一种灵活的结构代码比较工具。 通过结合处理变量绑定的名义技术以及对变元表达式(常见于抽象语法树和编程语言)的支持,该方法解决了关键挑战,例如过度强调绑定变量名称以及在代码片段中处理插入或删除的困难。 该算法区分原子和两种类型的变量(项变量和树状变量),以计算最佳泛化,最大程度地保留结构相似性,同时抽象系统差异。 它还提供详细信息以重建原始表达式并量化结构差异。 这些信息在代码克隆检测、重构和程序分析等任务中可能很有用。 通过引入可参数化的刚性函数,该技术提供了对相似性标准的细粒度控制,并减少了非确定性,使得能够灵活适应实际场景,在这些场景中应忽略微不足道的相似性。 尽管主要在代码相似性检测的背景下进行演示,但此框架广泛适用于任何需要精确比较变元和绑定器丰富的表示的场景。
文献和引用工具
与本文相关的代码,数据和媒体
alphaXiv (什么是 alphaXiv?)
CatalyzeX 代码查找器 (什么是 CatalyzeX?)
DagsHub (什么是 DagsHub?)
Gotit.pub (什么是 GotitPub?)
Hugging Face (什么是 Huggingface?)
带有代码的论文 (什么是带有代码的论文?)
ScienceCast (什么是 ScienceCast?)
演示
推荐器和搜索工具
arXivLabs:与社区合作伙伴的实验项目
arXivLabs 是一个框架,允许合作伙伴直接在我们的网站上开发和分享新的 arXiv 特性。
与 arXivLabs 合作的个人和组织都接受了我们的价值观,即开放、社区、卓越和用户数据隐私。arXiv 承诺这些价值观,并且只与遵守这些价值观的合作伙伴合作。
有一个为 arXiv 社区增加价值的项目想法吗? 了解更多关于 arXivLabs 的信息.