DRAFT
Yanyan's Wiki 操作系统 (2023)

Artifact 准备指南

截止日期:2020 年 12 月 13 日 23:59:59 (以服务器时间为准); The deadline is firm.

提交方法:在命令行中 (请确保拥有 curl 命令) 执行 (将学号、姓名、路径替换为你的个人信息)

curl http://jyywiki.cn/upload -F course=ISER2020 -F module=A4 -F stuid=学号 -F stuname=中文姓名 -F file=@待提交的文件路径

你只需要为 PA1 (codesim) 和 PA2 (jmtrace) 任选一个完成 artifact。Artifact 不需要匿名。

ISER2020-A4 提交结果

Artifact

最近引起热议的张裕卿、韩春雨等因实验无法重复一事在互联网上引起热议。软件工程的研究通常都包含工具或数据集。我们作为研究者,将工具公开发布是一项非常重要的礼貌 (更好的是提供 reproduction kit,帮助他人重现实验)。为了鼓励研究者完成可重复的科研,ACM 系列的计算机会议开始组织 artifact evaluation: 组织 committee 评估研究的工具集/数据集,并为通过评估的 artifact 在论文上的打上 badge,例如以下是 “reusable” 的 badge,代表提供了充足的文档,可供其他研究者使用:

Artifact 准备

在本实验中,你需要将你实现的代码按照开源软件的规范组织、打包,并以作业形式提交。请注意不要公开发布你的代码——你的代码可能成为其他同学抄袭的对象。

关于 artifact,请参考 Github 上开源项目的标准进行准备;通常你的项目里需要:

  • 你项目的源代码。
  • README 文件,包含项目的信息 (中文/英文均可)、编译运行方法等,包括编译项目需要的 dependencies。
  • .gitignore 文件,确保任何能够生成的代码都不在项目中。

请你只提交最小的 artifact,确保你的提交中仅包含源代码,不要在你的提交中包含任何二进制文件,例如依赖的库的 binary。你不需要在这个作业中准备 reproduction kit。由于作业要求明确,你也不需要为你的项目准备详细的文档,你只需要做好代码组织即可。

一些提示

编译你的项目可能需要特定的工具,例如 LLVM 工具链、某个 Python 包等等。好的 artifact 应该尽可能地使用当前最主流的技术和主流的工具包——如果你的项目必须在 Ubuntu 12.04 上编译,这对现在的开发者来说就不太友好。因此在你开发工具的过程中,应当尽可能地使用比较稳定、积极维护的工具链。同时,我们建议你使用标准的构建工具 (CMake, Maven 等)。

每个同学都是 Artifact 的使用者

在之后的 artifact evaluation 环节,每个同学都会收到若干其他同学的 artifacts,然后在本地尝试编译、运行,并用一些简单的程序进行测试。

Creative Commons License    苏 ICP 备 2020049101 号