A Multi-Surface Consistency Audit of Software Citation Metadata
本文审计了跨多个机器可读元数据表面的 117 个开源研究软件项目,并发现 83.9% 的项目至少存在一个核心字段冲突,这主要是由软件描述与其关联的出版记录之间的差异所驱动的。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
在现代科学领域,软件已变得与显微镜或望远镜一样不可或缺。它是研究人员用来处理数据、模拟气候变化以及模拟原子行为的工具。由于这些软件是人类劳动和智力成果的产物,科学界已达成共识,认为它们理应像研究论文一样被引用。当科学家使用特定的程序进行发现时,应当向编写该程序的开发者、所使用的版本以及可以在哪里找到该程序的人员致敬。为了实现这一点,人们建立了一个系统,让软件项目可以留下数字“名牌”。这些标签是机器可读的文件,包含了项目的标题、作者姓名、版本号以及指向该软件在线位置的唯一标识符。其理念是,如果研究人员、图书管理员或计算机程序查看这些标签,它们都应该讲述关于同一件软件的同一个故事。
然而,最近的一项研究提出了一个简单但令人不安的问题:这些名牌是否真的能够相互一致?由伊利诺伊大学的彭寅山(Pengyin Shan)领导的研究小组决定对 117 个开源研究软件项目的数字自我描述进行审计。他们检查了项目可能描述自身的七个不同地方:一个专门用于引用的特定文件、一个用于存档的数据文件、一个软件下载公共注册表中的记录,以及项目主网页上的文本。他们将软件视为单一对象,并将这些各种文件视为该对象的不同“表面”或侧面。如果该系统完美运行,每个表面都应该表达相同的内容。如果它们不一致,就会造成关于谁做了工作、使用了哪个版本以及在哪里可以找到代码的混乱。研究发现,该系统远非完美。事实上,受检的大多数项目都在向互联网的不同部分讲述不同的故事。
研究人员构建了一个严谨的过程来检查这些项目。他们收集了一组包含 117 个软件工具的样本,其中包括用于超级计算和量子计算的高性能计算工具,以及一小组已被社区期刊接受的工具。对于每个项目,他们在同一天下载了七个不同表面的快照。然后,他们使用计算机程序对信息进行标准化处理,将不同的文件格式转换为包含六个关键事实的通用列表:标题、作者、版本、年份、许可证和唯一标识符。他们比较了每个项目存在的每一对表面,以查看事实是否匹配。为了确保其方法准确,他们手动检查了大量计算机判断的样本,确认其工具的准确率接近 99%。
结果显示出显著的缺乏一致性。在 117 个项目中,只有 62 个拥有至少两个可以进行比较的表面。在这些 62 个项目中,有 52 个(约占 84%)包含至少一个主要的冲突。这意味着,对于大多数此类项目,阅读引用文件的读者获取的信息会与阅读存档记录或下载页面的读者获取的信息不同。这种分歧最常出现在作者列表和软件标题中。虽然年份和许可证通常保持一致,但识别作品的核心细节往往并不匹配。研究发现,这个问题并不局限于某一类型的软件;它出现在高性能计算项目中,也出现在经过《开源软件期刊》(Journal of Open Source Software)评审的工具以及被 pyOpenSci 社区接受的软件包中。
这些冲突最常见的原因之一是软件与描述该软件的研究论文之间的特定混淆。在许多情况下,旨在描述软件的文件实际上是在描述关于该软件的学术论文。例如,一个文件可能会列出会议演讲的标题或期刊文章的作者,而另一个文件则列出了代码本身的名称。这种情况占已验证冲突的一半。研究人员指出,这不一定是文件编写方式的错误,而是反映了对“可引用对象”究竟是什么的深层困惑。它究竟是代码,还是关于代码的论文?当文件试图指向论文时,它们往往会停止指向软件,从而导致元数据发生漂移。
另一个分歧来源来自于软件下载的公共注册表,例如 Python 的 PyPI 或 JavaScript 的 npm。这些注册表通常使用简短的技术名称来命名包,例如 “mpi4py”,而软件自身的文件则使用描述性标题,如 “MPI for Python”。当计算机尝试匹配这两个表面时,它会看到标题不匹配。研究发现,很大一部分标题和作者的分歧是由这些注册表记录驱动的。此外,研究人员发现,在自动化工具寻找信息的场所,最新的信息往往是缺失的。打包工具读取的文件(如注册表记录)最不可能包含作者的 ORCID 等持久标识符,而这些标识符对于追踪谁完成了工作至关重要。
研究还关注了一个名为“首选引用”(preferred citation)的特定功能,该功能允许软件项目告诉用户去引用另一个对象,通常是论文,而不是软件本身。研究人员发现,在 32 个使用该功能的项目中,有 28 个项目遵循该指令后,所指向的记录与软件自身的元数据不符。这意味着,即使项目试图引导用户进行特定的引用,其引导指向的记录也往往与该项目发布的关于自身的其他信息相冲突。这造成了一种情况:即使用户遵循规则,最终引用的论文也可能与他们实际使用的软件版本不匹配。
研究人员得出结论,目前的软件引用基础设施是不完整的。虽然声明元数据的工具已经存在且被广泛使用,但目前还没有系统能够检查不同的声明是否一致。研究表明,对于大多数可以检查的项目而言,软件在至少一个关键信息上与其自身不一致。这种碎片化意味着信用分配往往是分散的,溯源不明,且自动化系统无法可靠地追踪研究软件的使用情况。研究人员发布了他们的数据、代码以及项目列表,以便他人可以重复审计、检查情况是否随时间有所改善,或利用这些数据构建能够自动修复这些不一致性的工具。这项工作强调,在我们能够完全信任软件的数字信用系统之前,我们必须首先确保软件在它发声的所有地方都能讲述一个单一且一致的故事。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。