A paper consists of a constellation of artifacts that extend beyond the document itself: software, mechanized proofs, models, test suites, benchmarks, and so on. In some cases, the quality of these artifacts is as important as that of the document itself, yet our conferences offer no formal means to submit and evaluate anything but the paper. To address this, POPL has run an optional artifact evaluation process since POPL 2015, inspired by similar efforts in our community.


The goal of the artifact evaluation process is two-fold: to both reward and probe. Our primary goal is to reward authors who take the trouble to create useful artifacts beyond the paper. Sometimes the software tools that accompany the paper take years to build; in many such cases, authors who go to this trouble should be rewarded for setting high standards and creating systems that others in the community can build on. Conversely, authors sometimes take liberties in describing the status of their artifacts—claims they would temper if they knew the artifacts are going to be scrutinized. This leads to more accurate reporting.

Our hope is that eventually, the assessment of a paper’s accompanying artifacts will guide the decision-making about papers: that is, the AEC would inform and advise the Program Committee (PC). This would, however, represent a radical shift in our conference evaluation processes; we would rather proceed gradually. Thus, in our process, artifact evaluation is optional, and authors choose to undergo evaluation only after their paper has been conditionally accepted. Nonetheless, feedback from the Artifact Evaluation Committee can help improve the both the final version of the paper and any publicly released artifacts.


The evaluation criteria are ultimately simple. A paper sets up certain expectations of its artifacts based on its content. The AEC will read the paper and then judge how well the artifact matches these criteria. Thus the AEC’s decision will be that the artifact does or does not “conform to the expectations set by the paper”. Ultimately, we expect artifacts to be:

  • consistent with the paper,
  • as complete as possible,
  • documented well, and
  • easy to reuse, facilitating further research.


We believe the dissemination of artifacts benefits our science and engineering as a whole. Their availability improves replicability and reproducibility, and enables authors to build on top of each others’ work. It can also help more unambiguously resolve questions about cases not considered by the original authors.

Beyond helping the community as a whole, it confers several direct and indirect benefits to the authors themselves. The most direct benefit is, of course, the recognition that the authors accrue. But the very act of creating a bundle that can be used by the AEC confers several benefits:

  • The same bundle can be distributed to third-parties.

  • A bundle can be used subsequently for later experiments (e.g., on new parameters).

  • The bundle simplifies having to re-run the system subsequently when, say, having to respond to a journal reviewer’s questions.

  • The bundle is more likely to survive being put in storage between the departure of one student and the arrival of the next.

However, creating a bundle that meets all these properties can be onerous. Therefore, the process we describe below does not require an artifact to have all these properties. It offers a route to evaluation that confers fewer benefits for vastly less effort.


To maintain a wall of separation between paper review and the artifacts, authors will be asked to submit their artifacts only after their papers have been conditionally accepted. Of course, they can (and should!) prepare their artifacts well in advance, and can provide the artifacts to the PC via supplemental materials, as many authors already do.

The authors of all conditionally accepted papers will be asked whether they intend to have their artifact evaluated and, if so, to submit the artifact. They are welcome to indicate that they do not.

After artifact submission, the AEC will download and install the artifact (where relevant), and evaluate it. Since we anticipate small glitches with installation and use, reviewers may communicate with authors to help resolve glitches while preserving reviewer anonymity. With the help of Eddie Kohler, we have set up HotCRP so that reviewers can ask questions while preserving their anonymity and get immediate answers from the (non-anonymous) authors directly from the HotCRP interface. The AEC will complete its evaluation and notify authors of the outcome. There is approximately one week between feedback from the AEC and the deadline for the camera ready versions of accepted papers. This is intended to allow authors sufficient time to include the feedback from the AEC as they deem fit.

For the camera ready version the ACM will add their “Artifacts Evaluated - ReusableFunctional” badge to papers whose artifacts are evaluated to “meet expectations”. For papers that pass artifact evaluation and where the authors also make their artifacts publicly available eternally on ACM DL the ACM will additionally add their “Artifacts Available” badge. The ACM assures us that such artifacts will be available in perpetuity for free to anyone, without any paywall.

ACM's Artifacts Evaluated – Functional Badge       ACM's Artifacts Available Badge

Finally, the PC Chair’s report will include a brief discussion of the artifact evaluation process.

Artifact Details

To avoid excluding some papers, the AEC will try to accept any artifact that authors wish to submit. These can be software, mechanized proofs, test suites, data sets, and so on. Obviously, the better the artifact is packaged, the more likely the AEC can actually work with it.

Since POPL 2017 the AEC has decided to not accept paper proofs in the artifact evaluation process. The AEC lacks the time and often the expertise to carefully review paper proofs. We hope that reserving the artifact evaluated badge to mechanized proofs that are easy to check and reuse will incentivize more of the POPL authors to mechanize their metatheory in a proof assistant.

While we encourage open research, submission of an artifact does not contain tacit permission to make its content public. AEC members will be instructed that they may not publicize any part of your artifact during or after completing evaluation, nor retain any part of it after evaluation. Thus, you are free to include models, data files, proprietary binaries, etc. in your artifact.

We strongly encourage that you anonymize any data files that you submit. We recognize that some artifacts may attempt to perform malicious operations by design. These cases should be boldly and explicitly flagged in detail in the readme so AEC members can take appropriate precautions before installing and running these artifacts.

AEC Membership

The AEC will consist of about 25-30 members. We intend for members to be a combination of senior graduate students, postdocs, and researchers, identified with the help of the POPL Program Committee.

Qualified graduate students are often in a much better position than many researchers to handle the diversity of systems expectations we will encounter. In addition, these graduate students represent the future of the community, so involving them in this process early will help push this process forward. However, participation in the AEC can provide useful insight into both the value of artifacts, the process of artifact evaluation, and help establish community norms for artifacts. We therefore seek to include a broad cross-section of the POPL community on the AEC.

Naturally, the AEC chairs will devote considerable attention to both mentoring and monitoring the junior members of the AEC, helping to educate the students on their power and responsibilities.

Accepted Artifacts

A Logical Relation for Monadic Encapsulation of State: Proving contextual equivalences in the presence of runST
Artifact Evaluation
An Axiomatic Basis for Bidirectional Programming
Artifact Evaluation
A Practical Construction for Decomposing Numerical Abstract Domains
Artifact Evaluation
A Principled approach to Ornamentation in ML
Artifact Evaluation
Automated Lemma Synthesis in Symbolic-Heap Separation Logic
Artifact Evaluation
Bonsai: Synthesis-Based Reasoning for Type Systems
Artifact Evaluation
Collapsing Towers of Interpreters
Artifact Evaluation
Decidability of Conversion for Type Theory in Type Theory
Artifact Evaluation
Effective Stateless Model Checking for C/C++ Concurrency
Artifact Evaluation
Foundations for Natural Proofs and Quantifier Instantiation
Artifact Evaluation
Generating Good Generators for Inductive Relations
Artifact Evaluation
Handle with Care: Relational Interpretation of Algebraic Effects and Handlers
Artifact Evaluation
Higher-Order Constrained Horn Clauses for Verification
Artifact Evaluation
Inference of Static Semantics for Incomplete C Programs
Artifact Evaluation
Intrinsically-Typed Definitional Interpreters
Artifact Evaluation
Link to publication
JaVerT: JavaScript Verification using Separation Logic
Artifact Evaluation
Lexicographic Ranking Supermartingales: An Efficient Approach to Termination of Probabilistic Programs
Artifact Evaluation
Linear Haskell: practical linearity in a higher-order polymorphic language
Artifact Evaluation
Migrating Gradual Types
Artifact Evaluation
Non-Linear Reasoning For Invariant Synthesis
Artifact Evaluation
Online Detection of Effectively Callback Free Objects with Applications to Smart Contracts
Artifact Evaluation
Optimal Dyck Reachability for Data-dependence and Alias Analysis
Artifact Evaluation
Programming and Proving with Distributed Protocols
Artifact Evaluation
Link to publication DOI
Proving Expected Sensitivity of Probabilistic Programs
Artifact Evaluation
Recalling a Witness: Foundations and Applications of Monotonic State
Artifact Evaluation
Reducing Liveness to Safety in First-Order Logic
Artifact Evaluation
Refinement Reflection: Complete Verification with SMT
Artifact Evaluation
RustBelt: Securing the Foundations of the Rust Programming Language
Artifact Evaluation
Simplicitly: Foundations and Applications of Implicit Function Types
Artifact Evaluation
Simplifying ARM Concurrency: Multicopy-atomic Axiomatic and Operational Models for ARMv8
Artifact Evaluation
Soft Contract Verification for Higher-order Stateful Programs
Artifact Evaluation
Strategy Synthesis for Linear Arithmetic Games
Artifact Evaluation
String Constraints with Concatenation and Transducers Solved Efficiently
Artifact Evaluation
Symbolic Types for Lenient Symbolic Execution
Artifact Evaluation
Synthesizing Bijective Lenses
Artifact Evaluation
Typed and Jones Optimal Self-Applicable Partial Evaluation
Artifact Evaluation
Unifying Analytic and Statically-Typed Quasiquotes
Artifact Evaluation
Univalent Higher Categories via Complete Semi-Segal Types
Artifact Evaluation
Up-to Techniques Using Sized Types
Artifact Evaluation
WebRelate: Integrating Web Data with Spreadsheets using Examples
Artifact Evaluation

Submit an Artifact

After your paper has been conditionally accepted, please check the Artifact Submission Guidelines go to https://popl18aec.hotcrp.com to register an artifact.

  • Artifact registration deadline: Tuesday, 3 October 2017 (AoE)
  • Artifact finalization deadline: Friday, 6 October 2017 (AoE)
  • Answering AE reviewer questions: 7 October 2017 - 20 October 2017 (AoE)
  • Artifact decisions announced: Tuesday, 24 October 2017 (AoE)
  • POPL camera-ready deadline: Monday, 30 October 2017 (AoE)

For registering your artifact, please submit the abstract and PDF of your accepted POPL 2018 paper, as well as topics, conflicts, and any “bidding instructions” for the potential reviewers. For finalizing your artifact, please provide a stable URL or if that is not possible upload an archive of your artifact. You will no longer be able to change these after the artifact finalization deadline.

Step 1. Registration

By the registration deadline, please submit the abstract and PDF of your accepted POPL 2018 paper, as well as topics, conflicts, and any “optional bidding instructions” for the potential reviewers. https://popl18aec.hotcrp.com/.

Step 2. Package and Submit Artifact

By the artifact finalization, please provide a stable URL or if that is not possible upload an archive of your artifact. You will no longer be able to change these after the artifact finalization deadline. For your artifact to be considered you also need to check the “ready for review” box before the finalization deadline.

We recommend creating a single web page at a stable URL that contains the artifact and instructions for installing and using the artifact.

The committee will read your accepted paper before evaluating the artifact. But, it is quite likely that the artifact needs more documentation to use. In particular, please make concrete what claims you are making of the artifact, if these differ from the expectations set up by the paper. This is a place where you can tell us about difficulties we might encounter in using the artifact, or its maturity relative to the content of the paper. We are still going to evaluate the artifact relative to the paper, but this helps set expectations up front, especially in cases that might frustrate the reviewers without prior notice.

Artifact authors not anonymous

The artifact submissions are not anonymous. The reviewers will see the authors for each artifact from the start. So don’t waste your time trying to hide the artifact authors.

Reviewer Anonymity

We ask that, during the evaluation period, you not embed any analytics or other tracking in the Web site for the artifact or, if you cannot control this, that you not access this data. This is important for maintaining the confidentiality of reviewers. If for some reason you cannot comply with this, please notify the chairs immediately.

Packaging Artifacts

Authors should consider one of the following methods to package the software components of their artifacts (though the AEC is open to other reasonable formats as well):

  1. Source code: If your artifact has very few dependencies and can be installed easily on several operating systems, you may submit source code and build scripts. However, if your artifact has a long list of dependencies, please use one of the other formats below.
  2. Virtual Machine: A virtual machine containing software application already setup with the right tool-chain and intended runtime environment. For example:
    • For mechanized proofs, the VM would have the right version of the theorem prover used.
    • For a mobile phone application, the VM would have a phone emulator installed.
    • For raw data, the VM would contain the data and the scripts used to analyze it.
    • We recommend using VirtualBox, since it is freely available on several platforms. An Amazon EC2 instance is also possible.
  3. Binary Installer: please indicate exactly which platform and other runtime dependencies your artifact requires.
  4. Live instance on the Web: Ensure that it is available for the duration of the artifact evaluation process.
  5. Screencast: A detailed screen-cast of the tool along with the results, especially if one of the following special cases applies:
    • The application needs proprietary/commercial software that is not easily available or cannot be distributed to the committee.
    • The application requires significant computation resources (e.g., more than 24 hours of execution time to produce the results).

Remember that the AEC is attempting to determine whether the artifact meets the expectations set by the paper. (The instructions to the committee are available here.) If possible, package your artifact to help the committee easily evaluate this.

If you have any questions about how best to package your artifact, please don’t hesitate to contact the AEC chairs, at popl18aec-chairs@cs.cmu.edu.

Reviewing Website



  • Artifact bidding starts: Wednesday, 4 October 2017 00:01 (AoE)
  • Artifact bidding deadline (for AEC): Thursday, 5 October 2017 23:59 (AoE)
  • Artifact finalization deadline (for authors): Friday, 6 October 2017 23:59 (AoE)
  • Reviewing period: 7 October 2017 - 20 October 2017
  • Reviews due (for AEC): Friday, 20 October 2017 23:59 (AoE)
  • Artifact decisions announced: Tuesday, 24 October 2017 23:59 (AoE)
  • POPL camera-ready deadline: Monday, 30 October 2017 23:59 (AoE)

Please don’t leave tasks to the last minute! Please try to install the artifacts early so that you can contact the authors via HotCRP and troubleshoot if needed. Please submit your reviews early. This will give us more time to read each others’ reviews and understand the relative quality of the artifacts.

Installation and Contacting Authors in HotCRP

Immediately after authors submit the artifacts, please try to install/setup the artifacts that were assigned to you. Please do this as soon as you can, so we have time to troubleshoot any issues. With the help of Eddie Kohler, we have set up HotCRP so that reviewers can ask questions anonymously and get immediate answers from the authors directly from the HotCRP interface.

Do not publicize or retain any part of an artifact

While we encourage open research, submission of an artifact does not contain tacit permission to make its content public. AEC members may not publicize any part of an artifact during or after completing evaluation, nor retain any part of it after evaluation.

Artifact Evaluation Guidelines

Once you have installed the artifact, you can start evaluating it!

Two main things to keep in mind:

  1. Read the paper and write a review that discusses the following: Does the artifact meet the expectations set by the paper?

  2. The paper has already been accepted, so don’t review the paper. Review the artifact.

The only real rubric is what’s on the review form. Every artifact is different and a more fine-grained rubric wouldn’t make sense. This is not a completely objective process and that’s okay. We want to know if the artifact meets your expectations as a researcher. Does something in the artifact annoy you or delight you? You should say so in your review. Note that while the ideal may be replicability (i.e., obtaining the same results using the authors’ artifact), there are many reasons why we as a committee may be unable to replicate the results yet still deem the artifact as meeting expectations. For example, it may be difficult or impossible for the authors to provide a bundled artifact that allows replication.

We encourage you to try your own tests. But, don’t be a true adversary. This is research software so stuff will break. Assume the authors acted in good faith and aren’t trying to hoodwink us. Instead, suppose you had to use/modify the artifact for your own research. Do you think you could? You’ll have to imagine and extrapolate, but that’s okay.

You may find it easier to adjust scores once you’ve reviewed all 2-3 of your artifacts. Moreover, once you read others’ reviews, you’ll get a better sense of average artifact quality. Don’t hesitate to change your scores later.

Finally, if the paper says “we have software/data for X and Y”, but the artifact is only “X” that’s okay. But, it should be crystal clear from the paper that the artifact that was evaluated only did “X”. Say so in your review. Free free to say, “I wish you’d also provided Y as an artifact”, but know that it won’t affect this paper.