对许多学术学科来说,复制和再现科学成果的能力已经成为一个越来越重要的话题。在计算机科学,特别是编程语言(PL)和软件工程(SE)研究中,科学工作的贡献依赖于开发的算法、工具和原型、定量评估和其他计算分析。发布的代码和数据带有许多未记录的假设、依赖性和配置,这些都是内部知识,使得再现性难以实现。本教程介绍了Docker容器如何克服这些问题,帮助PL和SE中研究工件的再现性,并讨论了它们在该领域的应用。它讨论了再现性的挑战,并提供了如何使用例研究工件在Docker容器中可用的演练。本教程以一般再现性的挑战和容器技术的局限性结束。
苏黎世大学博士生、IBM T.J.Watson研究中心研究实习生对我们如何通过为运行时数据提供结构并为开发人员提供如何使用它的指导,使软件开发过程更加数据驱动感兴趣