斯普拉什2024
2024年10月25日星期日至星期五美国加利福尼亚州帕萨迪纳

发布支持您研究的软件!

已接受或有条件接受的PACMPL(OOPSLA)论文的作者(有或没有小的修订)被邀请提交支持其论文中声明的软件工件。按照ACM指南人工制品审查和徽章从2024年开始,OOPSLA现在为论文第一页上出现的徽章形式的工件提供了三种类型的验证:

  1. 可用工件:此徽章用于在永久位置发布的工件(带有DOI)。无需评估工件即可获得此徽章。

  2. 评估的工件:此徽章适用于OOPSLA工件评估委员会(AEC)批准的工件。徽章有两个级别;论文最多可以接收其中一个:

    1. 功能对于发现有文档记录的工件,一致、完整、可执行,并包括适当的验证和确认证据

    2. 可重复使用的用于功能性工件,并通过仔细的文档和清晰的组织促进重用。

  3. 验证结果:再现结果用于复制论文主要科学主张的人工制品。

提交是自愿的。人工制品评估是由社区提供的一项服务,旨在帮助已被接受论文的作者扩大其工作范围,并鼓励未来的研究人员在此基础上进行研究。

有关更多信息,请参阅“调用工件”选项卡。

常见问题解答

问:我的工件需要数百GB的RAM/数百个CPU小时/一个专门的GPU等,AEC成员可能无法访问。我们如何提交工件?
如果该工具可以在普通的现代机器上运行,但与用于论文评估的硬件相比,运行速度可能非常慢,请记录预期的运行时间,并举出AEC可以在更短的时间内复制的示例。如果您的系统在没有数百GB或RAM或其他典型机器无法满足的硬件要求的情况下根本无法工作,请提前联系AEC主席进行安排一种选择是从云提供商处获取合适的硬件(例如,云实验室),并提供审阅者匿名的访问。(AEC主席将与审查人员协调,以决定何时需要激活云保留。)使用云实例或类似实例的提交,如果没有事先得到AEC主席的批准,将被立即拒绝
问:如果论文中的一些主张没有得到工件的支持,例如,如果省略了一些基准,或者工件不包括我们在论文中进行实验比较的工具,那么我的工件可以被接受吗?
一般来说是的(如果提供了良好的解释,如上所述),但如果这些声明对论文的总体结果至关重要,则工件将被拒绝。作为一个极端的例子,一个带有工作工具但没有基准的工件(因为它们是封闭源代码的)将被拒绝。在这种情况下,应提供替代基准。
问:为什么我们需要一个可用徽章的DOI?为什么不是Github或机构URL?
DOI是工件无限期可用的有力保证。相比之下,Github URL并不是永久的:可以在公共存储库中重写git提交历史(使用重新设置基址--力例如),用户可以删除公共存储库,Github本身可能会像GoogleCode一样消失(2015)。机构URL也可能随着时间推移而移动和更改。
问题:审查人员确定了要在我们工件的文档或脚本中修复的问题,我们希望发布固定版本。我们可以提交Available徽章的改进版本吗?
对。
问:我可以在不提交神器的情况下获得可用徽章吗?我仍在做这件事!
对。
问:我可以为未被判定为功能性的工件获得可用徽章吗?我仍在做这件事!
对。
问:为什么AEC不接受纸质校样?
AEC过程是为软件而设计的,而不是为纸样提供严格的评估。它的主要优点是检查工件是否成功运行,以及是否与纸张有明确的关系,这两者都不是纸张校样的严重问题。作者应将此类证明作为补充材料提交,而不是作为人工制品提交。

联系人

请联系AEC主席纪尧姆·鲍达特(Guillaume Baudart)和桑卡·纳拉扬·古里亚(Sankha Narayan Guria)如果你有任何问题。

要求人工制品

发布支持您研究的软件!

被接受或有条件接受的PACMPL(OOPSLA)论文(有或没有小的修订)的作者被邀请提交一个支持他们论文中声明的软件工件。按照ACM指南人工制品审查和徽章从2024年开始,OOPSLA现在为论文第一页上出现的徽章形式的工件提供了三种类型的验证:

  1. 可用工件:此徽章用于在永久位置发布的工件(带有DOI)。无需评估工件即可获得此徽章。

  2. 评估的工件:此徽章适用于OOPSLA工件评估委员会(AEC)批准的工件。徽章有两个级别;论文最多只能收到其中一个:

    1. 功能对于发现有文档记录的工件,一致、完整、可执行,并包括适当的验证和确认证据

    2. 可重复使用的用于功能性工件,并通过仔细的文档和清晰的组织促进重用。

  3. 验证结果:再现结果,用于复制论文主要科学主张的人工制品。

提交是自愿的。人工制品评估是社区提供的一项服务,旨在帮助被接受论文的作者扩大他们的工作范围,并鼓励未来的研究人员在此基础上再接再厉。

工件评估提交站点:https://oopsla24aec.hotcrp.com/

工件可用提交通过出版商。他们应为OOPSLA论文提供摄像就绪的材料。每个通过评估(功能或可重用)的工件都是强烈鼓励可用,除非存在共享许可或隐私问题。

今年

  • OOPSLA AEC将授予再现的结果徽章以及功能性/可重复使用徽章。
  • 作者应添加硬件相关性部分描述评估工件所需的硬件。
  • 作者应添加可重用性指南在工件的描述中。
  • 我们很高兴将软件遗产作为宿主和引用源代码的一种方式进行推广。
  • 作者和AEC成员之间的交流将在整个的通过提交网站上的评论来打发时间。鼓励AEC成员尽早报告问题,以便作者有足够的时间进行调试。
  • 不接受纸质校样进行评估。

可用工件

在存档位置公开可用的工件可以获得可用出版商的徽章。这个徽章是不受AEC控制具有一些重要后果:

  • 未提交评估的工件可以可用,
  • 未通过评估的工件可以可用,以及
  • 通过评估的工件不需要可以适应作者必须将工件保密的罕见情况。

该徽章的要求由出版商制定,并将提供OOPSLA论文的相机就绪说明。过去,获得可用徽章有两种主要选择:

  • 选项1:作者将工件的快照上传到泽诺多接收DOI。上传可以手动完成,或者通过GitHub.
  • 选项2:作者与Conference Publishing合作,将他们的工件发送到ACM,以便在ACM DL上托管。

数据可用性声明

为了帮助读者查找数据和软件,OOPSLA建议在标题为数据可用性声明如果这张纸上有人工制品,请在此处引用。如果没有工件,本节可以解释如何获取相关代码。声明不算数达到OOPSLA 2024页面限制。它可以包含在提交的论文中;事实上,我们鼓励这样做,即使内政部还没有准备好。

例子:

\章节{结论}....\第*节{数据可用性声明}支持~\cref{s:design,s:evaluation}的软件在Software Heritage ~\cite{artifact-swh}上提供和Zenodo~\cite{artifact-doi}。\开始{acks}....

软件遗产

软件遗产(SH)是一个非营利组织,其使命是收集、保存和共享所有公共代码。对于OOPSLA论文的作者,SH提供三大服务:

  • 指向目录、文件和代码片段的永久链接
  • BibLaTeX样式用于引用软件
  • 自动爬网源代码存储库以获取更新

有关更多信息,请阅读Software HeritageHOWTO(世界旅游组织)常见问题解答指南。另请参见浏览器扩展GitHub操作用于存档代码。

两个警告:(1)ACM还不接受可用徽章的SH永久链接,只有DOI;(2)我们建议使用Docker(或类似的构建工具)打包源代码工件,以避免依赖性问题。

评估的工件

Artifact Evaluated徽章有两个级别:Functional和Reusable。

功能:这是工件的基本“可接受”结果。如果工件是:

  • 已记录:至少应包括工件清单,并提供足够的描述,以便执行工件。

  • 一致:工件与相关论文相关,并以某种固有的方式生成其主要结果。

  • 完成:在可能的范围内,包括与所讨论论文相关的所有组件。

  • 可行使的:可以成功执行用于在相关文件中生成结果的包含脚本和/或软件,并且可以访问和适当操作包含的数据。

可重复使用的:可重用徽章的目标是识别高质量的工件,这些工件支持其他人理解、应用和扩展工件。与功能性徽章相比,可重复使用徽章的标准不那么刻板。可重用性取决于工件的类型和社区对研究代码的质量标准。除了功能徽章要求外,可重用工件最好应:

  • 清楚地解释工件的功能(例如,通过示例),
  • 包含高质量的文档化代码(例如,README、注释、测试),
  • 记录如何使工件适应新输入,以及
  • 打包以使其能够作为另一个项目中的组件重用。

并非工件的所有部分都必须进行可重用性评估。例如,为论文生成图形的shell脚本可能不是为了重用,而是为了重现结果。在工件概述中可重用性指南应该解释工件的哪些部分是可重用的,以及如何重用(见下文)。

结果已验证

“结果验证”徽章有两个级别:“结果再现”和“结果复制”,但OOPSLA AEC只授予“结果再现”徽章(要获得“结果复制”徽章,必须在不使用作者提供的人工制品的情况下获得论文结果)。

再现的结果:如果AEC可以使用人工制品复制论文中的所有声明,则会授予“结果再现”徽章,如果有很好的理由无法支持,则可能会排除一些次要声明。

在理想情况下,具有此名称的工件包括所有相关代码、依赖项、输入数据(例如基准),并且工件的文档足以让审阅者重现本文中描述的准确结果。如果工件声称在某些方面(在时间、准确性等方面)优于相关系统,而另一个系统用于为论文生成新的数字(例如,现有工具是在相应出版物未考虑的新基准上运行的),则工件应包括该相关系统的一个版本,以及复制用于比较的数字的说明。如果替代工具在输入的子集上崩溃,只需将其记为预期行为。

偏离理想必须有充分的理由。合理偏差的非决定性列表如下:

  • 一些基准代码受到许可或知识产权限制,无法合法地与审查人员共享(例如,SPEC等许可的基准套件,或当工具应用于私有代码时)。在这种情况下,应包括公共基准。如果主要索赔的所有基准数据都是私有的,则应提供替代数据。提供没有有意义的输入来评估的工具不足以证明工件有效。

  • 一些结果是性能数据,因此确切的数字取决于特定的硬件。在这种情况下,工件应该解释如何识别其他硬件上的实验何时再现高级结果。例如,某些优化可能会表现出特定的趋势,或者一个工具可能在某类输入中优于另一个工具。

  • 重复评估需要很长时间。如果是这样的话,提供小的和有代表性的输入来演示行为。在这种情况下,评审员可能会也可能不会复制完整的结果。

  • 评估需要专用硬件(例如,具有特定新功能的CPU、特定类别的GPU或GPU集群)。作者应提供有关如何访问硬件或尽快联系椅子的说明,以确定如何进行评估。在过去几年中,一个结果是,一个需要专用硬件的工件用硬件支付了云实例的费用,审查人员可以匿名访问。

选择标准

根据论文设定的期望对工件进行评估。要使工件被接受,它必须支持论文中提出的主要主张。因此,除了运行工件外,评估人员还将阅读论文,并可能尝试调整提供的输入,或以其他方式稍微概括论文中工件的使用,以测试工件的限制。一般来说,工件应该是:

  • 一致的用纸,
  • 作为完成尽可能,
  • 另外其文档也很齐全,以及
  • 易于重复使用,促进进一步研究。

AEC努力设身处地为这些未来的研究人员着想,然后问:这个人工制品将如何帮助我复制结果并在此基础上再接再厉?

提交过程

所有有条件接受的OOPSLA论文都有资格提交工件。

提交文件需要三个部分:

  1. 工件概述,
  2. 指向以下任一项的非机构URL:
    • 包含工件的单个文件(推荐),或
    • 公共源代码管理存储库的地址
  3. 在提交时验证工件版本的散列:或者
    • 单个文件的md5散列(使用md5或md5sum命令行工具生成散列),或
    • 这个满的提交存储库的散列(例如,来自git重新登录--无bbrev)

URL必须是非机构性的,以保护审阅者的匿名性。可以从GoogleDrive、Dropbox、Gitlab、Zenodo和许多其他提供商获得可接受的URL。如果单个文件小于15MB,则可以直接上传工件。

工件不需要匿名。审阅者将了解作者身份。

工件概述

概述应包括五个部分:

  • 简介,
  • 硬件依赖项部分,
  • 入门指南,以及
  • 关于如何评估工件功能的分步说明(与论文的相关部分有适当的联系)。
  • 一份可重用性指南,介绍如何评估工件的可重用性。

介绍,简要解释工件的用途以及它如何支持本文。我们建议列出所有索赔并说明是否支持每一项。对于支持的声明,请说明工件如何提供支持。对于不支持的索赔,请解释为什么省略了这些索赔。

硬件相关性第节,描述评估工件所需的硬件。如果工件需要特定硬件(例如,多核、磁盘空间、GPU、特定处理器),请提供如何访问硬件的说明。请记住,审阅者必须保持匿名。

入门指南,给出设置和基本测试的说明。列出访问工件所需的任何软件要求和/或密码。完成这些说明大约需要30分钟。审查人员将在初始启动阶段遵循指南,并在出现问题时进行报告。

入门指南应该尽可能简单,但它应该强调工件的关键元素。遵循《入门指南》的任何人都应该对您的工件的其余部分没有技术困难。

分步说明,解释如何重现支持论文结论的任何实验或其他活动。为那些对你的工作有浓厚兴趣并正在研究它以改进它或与之比较的读者写下这篇文章。如果你的工件运行了几分钟以上,请指出这一点,注意它预计运行多长时间(大致),并解释如何在较小的输入上运行它。评审员可以根据可用资源选择使用较小的输入或较大的输入。

务必解释分步说明产生的预期输出。说明在哪里可以找到输出,以及如何相对于论文对其进行解释。如果有任何预期的警告或错误消息,也要进行解释。理想情况下,工件应该包括用于比较的样本输出和日志。

可重用性指南,解释工件的哪些部分构成了核心部分,应该对其进行重用性评估。解释如何使工件适应新输入或新用例。提供如何查找/生成/阅读有关核心工件的文档的说明。清楚地表达对工件可重用性的任何限制。

如果Artifact Overview是用Markdown或TeX等语言编写的,则鼓励作者将渲染的输出上传到HotCRP,并将源文件包含在工件中。

包装工件

在包装您的工件时,请记住:a)您如何让其他研究人员了解您的工件,以及b)AEC成员对每个工件进行评估的时间有限。

  • 将工件打包的一个好方法是作为虚拟机(VM)。虚拟机提供了一个易于复制的环境,对比特腐烂有一定的抵抗力。它们还使审查人员相信错误或其他问题不会对他们的机器造成损害。我们建议您提供为x86和ARM构建的虚拟机,以便审查人员可以在与其个人计算机匹配的任何体系结构上运行虚拟机。

  • 源代码工件应该使用Docker或其他构建工具来管理所有编译和依赖项。这提高了审核人员能够快速、轻松地安装工件的几率,而不会因环境问题而迷失方向(例如,我需要什么Python?!).

  • 机械化防伪制品应遵循本页上的指南:验证工件(访问日期:2023-10-02)。一定要解释机械化是如何对论文中的概念和定理进行编码的。根据我们的经验,机械化工件很难在不可重用的情况下满足Functional单独的需求,因为文档对于理解工件是否忠实地支持论文至关重要。

将工件作为单个归档文件提交,并使用命名约定<论文#><后缀>,其中适当的后缀用于给定的存档格式。请使用广泛可用的压缩存档格式,如ZIP(.ZIP)、tar和gzip(.tgz)或tar和bzip2(.tbz2)。请使用文档的开放格式(如.txt、.html和.pdf)。

基于之前版本的结果(2019年AEC,2020年AEC,2021年澳大利亚大学城,2023年澳大利亚大学城),为确保包装质量,我们可以给出的最强烈建议是在一台新机器(或VM)上测试您自己的指示,严格遵循您准备的指示。

虽然公开可用的工件通常更容易审查,并且被认为符合开放科学的最佳利益,但工件不需要是公开的和/或开源的。提交站点将询问工件是否是私有的。工件评审员将被指示,此类工件仅用于工件评估,提交的工件版本可能不会被评审员公开,工件的副本不得保存在评审期之后。

审查流程概述

踢腿时间

提交工件后,评审人员将在很短的时间内完成工作只有并上传初步评论,指出他们是否能够让这些30分钟或几分钟的指令发挥作用。初步审查将立即与作者共享,作者可以进行适当的更新和更正,以解决审查人员遇到的任何问题。

允许通过评论进行更多轮交互自始至终最初的踢球时间段。我们的目标是双重的:我们希望给作者一个尽早解决问题的机会(在其他审阅者重新发现问题之前),我们希望作者有尽可能多的时间进行调试(比典型的3天响应窗口更长)。

全面审查

在整个审查期间,默认情况下会关闭评论,但可以根据审阅者的判断重新打开评论以调试小问题。重新开放沟通的目的是最大限度地增加职能部门提交的数量。

COI公司

AEC成员的利益冲突由主席处理。涉及两个AEC主席之一的利益冲突由另一位AEC主席处理,如果两个主席冲突,则由会议的PC处理。涉及AEC椅子的工件必须被明确接受(它们可能没有边界),并且可能不会被考虑授予杰出工件奖。

常见问题

在kick-the-tires阶段

  • 翻转平台支架。一些声称只需要类UNIX系统的工件在macOS下严重失败,尤其是那些需要32位编译器的工件,这些编译器在较新的macOS版本中不再存在。我们建议未来的工件将其声称的支持范围缩小。
  • 缺少依赖项,或依赖项文档不完善。提前避免这类问题的最有效方法是在新的机器、VM或Docker容器上独立运行指令。

在全面审查阶段

  • 在新基准上与现有工具进行比较,但不包括复制其他工具执行的方法。
  • 没有解释如何解释结果。几个工件成功运行,并生成了作为论文基础的输出,但没有任何方法供审阅者比较这些输出与论文的一致性。示例包括生成一个警告列表,但不记录哪些是真的,哪些是假阳性,以及生成大量数字表,这些数字表在论文中以图形方式呈现,但没有提供生成类似可视化的方法。我们建议使用脚本生成数据和实验图形。这种完全自动化的方法的设置成本可能要高一些,但您的纸张不会有任何复制/粘贴问题,而且重新生成数据也大大简化了。

联系人

请联系AEC主席纪尧姆·鲍达特(Guillaume Baudart)和桑卡·纳拉扬·古里亚(Sankha Narayan Guria)如果你有任何问题。