人工制品评估、现状和未来

科学应该是透明和可复制的。在计算机科学中,这意味着代码和数据应该公开,任何人都应该能够在合理的硬件条件下验证论文的主张。

几十年来,专注的科学家已经公开了他们的代码和数据,但直到最近,这还是以分散的方式进行的。小组有自己的网站,上面有他们论文的代码和数据。对于打包依赖项、许可其软件、自动化实验和其他此类需求,各个组也有不同的策略。

工件评估是为了协调研究工件的良好实践并实施这些实践而创建的。与任何新流程一样,它也有一些粗糙的边缘,实践也没有达到应有的水平或协调一致。在这篇博客文章中,我描述了工件评估的当前状态,总结了它的历史,解释了它目前在系统环境中的工作方式,并强调了当前的一些问题。然后,我提出了场馆可以采取的可操作更改,以提高再现性,并使工件成为计算机科学研究领域的一流公民。

工件评估过程

工件评估是一个受论文审查启发的过程,在此过程中评估人员决定被接受论文的作者提交的代码和数据是否符合良好的研究实践,例如可用性和再现性。这些实践由不同的徽章,将其授予论文并添加到第一页。例如,“Artifact Available”徽章通常要求纸张的工件具有链接回纸张的公开可用快照。徽章列表及其确切定义目前因社区而异。场馆,如ICSE公司还允许复制过去结果的特殊“复制”论文,并向复制的论文授予复制徽章。

评估者以与评估者评估论文类似的方式对工件进行评级,共同决定给定工件是否符合徽章标准。作者可以选择他们的目标徽章,例如,可以决定不公开工件,但私下将其提供给评估者。与论文评审不同,工件评估是与作者合作完成的,评估人员可以向作者发送信息,询问澄清问题并指出需要解决的问题。目的是验证论文的主要观点,而不是复制其确切结果。因此,与同行评审相比,这是一个较少对抗的过程。

工件评估增加了论文的影响,因为通过评估的工件更容易重用。任何人都可以使用可复制的工件来改进技术,作为比较的基准。即使在一个团队中,对项目的工件进行评估也意味着让未来的学生、实习生和其他合作者加入进来更容易,因为工件已经被其他人测试过了。

工件评估简史

软件工程社区率先在ESEC/FSE 2011年。其他社区也纷纷效仿,如SIGPLANECOOP 2013年SIGOPS在2019年SOSP,现在有一个所有系统工件评估的列表,位于系统工件.github.io。安全社区创建了一个兄弟网站,secartifacts.github.io公司.

人工制品评估是当今大多数计算机科学会议的标准部分。一些会议,例如ESEC/FSE,甚至鼓励作者提交他们的代码和数据的早期版本以及论文。

工件评估过程示例

我以EuroSys 2022工件评估为例,因为我是该评估的联合主席随着三位出色的联合主席和一个令人惊叹的早年研究人员委员会。委员会的每个成员都有一个或两个工件需要评估。 

被接受论文的作者收到了提交工件的邀请,以及他们的论文接受通知。与抽象注册类似,作者有6天时间注册他们的工件,还有6天时间提交完整工件。除了工件,作者还提交了论文的公认版本和描述工件的“工件附录”。

然后,评估人员和作者在为期10天的早期评估期间交换消息,目的是使所有评估人员能够设置和运行他们分配的工件。这为作者提供了一个明确的时间框架,在此期间他们必须能够修复错误,例如安装工件或忘记数据文件的问题。这个过程是单盲的:评论家知道作者的身份,但不知道副作者。

然后,评估人员有一个多月的时间来评估他们分配的工件。大多数(但不是全部)作者申请了所有三个可用的徽章:“可用的人工制品”、“功能性人工制品”和“再现的结果”。为了明确期望并简化审查,我们提供了检查表我们还提供了一个评估员指南,包括如何使用云实验室变色龙慷慨提供资源来复制需要多台机器或特定硬件的实验的学术云。

然后,评估人员通过在线评论讨论了应该授予哪些徽章,我们及时通知作者将徽章添加到相机可读论文中。由于工件评估发现了错误,一些论文还需要对结果进行小的更改,尽管没有任何声明是无效的。

工件评估中的当前问题

虽然工件评估是向前迈出的一步,但它目前并没有像它可能的那样有效,主要是因为它通常是作为现有过程之上的事后思考来实现的。

项目委员会的评审员通常无法访问工件,除非作者在提交的论文中链接到他们代码的匿名版本。这使得审核员无法看到算法的实现、实验运行的细节或图形背后的原始数据。这在软件工程界得到了部分解决,他们的会议鼓励作者在提交论文时披露数据。

作者没有动机在写论文的同时设计一个可复制的工件,因此一旦论文被接受,他们几乎没有时间准备工件。如果作者在准备工件时发现基本错误,这也有可能导致论文结果无效,这可能很简单,就像作者在手动执行评估关键部分的场景时忘记了一个步骤一样。

论文并不总是具有事后再现性,因为并非所有实验都能被评估者或好奇的读者合理地复制。例如,一篇论文可能会在商业云服务中使用几十台强大的虚拟机来提供系统可扩展性的证据。在整个工件评估过程中为这样的虚拟机付费是不合理的,这使得评估人员无法验证系统的可伸缩性声明。

工件评估被“固定在”现有流程上也意味着它与这些流程在不同社区中的差异一样多,包括不同的标准和不同的时间线。如果在不同的场所提交,同一张纸上的相同工件可能会收到不同的徽章,即使这些徽章具有相同的名称,例如ACM徽章.

建议

这篇文章的目的是提高研究的可重复性和透明度,而不仅仅是批评。因此,我根据上述问题和我的工件评估经验提出以下建议。

虽然有一天工件评估可能会成为提交论文的强制性部分JSys公司这些建议在短期内是可行的,没有重大的政策转变。

  1. 鼓励同时提交论文。网站应要求作者随论文一起提交代码和数据,或解释为什么不能提交。应该鼓励作者将可复制的人工制品视为研究过程的一部分,而不是事后创造的东西。软件工程场所已经做到了这一点。
  2. 鼓励复制纸张。对于重复或虽经合理努力仍未能复制以前论文的论文,场馆应单独设置跟踪。成功复制的论文可以被授予徽章。这也是向学生介绍研究的好方法。软件工程场所已经做到了这一点。
  3. 鼓励小型可重复实验鼓励使用无法合理复制的大型实验的论文也提供可以复制的小型实验。例如,多节点系统的评估既可以包含使用许多云机器的实验,也可以包含为每个CPU核心创建一个容器并注入人工网络延迟的单机实验。
  4. 确定通用徽章清单USENIX、ACM和IEEE等出版商应讨论并正式确定每个徽章的清单。这个EuroSys 2022清单我们取得了成功,可以作为基地。关键决策包括定义何时可以在作者提供的硬件上运行、实验预期的自动化水平以及可接受的工件打包形式。
  5. 建立公共知识库。与其每个社区甚至每个场馆都为评估员和主席维护自己的良好做法和指示,不如在一个公共网站上共享。系统工件可以用作基,并且已经包含指导用于椅子。

向审查人员提供代码和数据,鼓励复制和可复制实验,确定通用定义和指南,将使人工制品成为研究界一流的公民,使计算机科学界离完全可复制研究更近了一大步。

关于作者:Solal Pirelli是EPFL的博士生,致力于系统软件的自动验证。他在四次会议工件评估中评估了系统工件,并共同主持了EuroSys 2022工件评估。