PLDI Artifact Evaluation Session
(Shriram Krishnamurthi) We wanted to explain this process, since it's new to PLDI and it has started to happen at other conference. (Insert description of process here: only after paper acceptance, AE does not change status of paper)
What is the criteria? Is it good? Does it build? Actually: evaluate against expectation set by the paper. About the reviewers: "They're young and naive and actually wrote long reviews." One paper had 29 comments. "People on the PC actually responded and stuff, which is amazing."
52 accepted, 20 artifacts. It's a bit questionable that only 12 passed. That's low--maybe a little disturbing.
What are quotes about good artifacts? (Sometimes reviewers thanked the submitter, etc.) Some people were positive. High praise for some artifacts: "I'd be happy to use it in a production web site today"
Distinguished in artifact evaluation: Doppio: Breaking the Browser Language Barrier (Vilk, Berger). Java bytecodes to JavaScript, and virtualize filesystem and everything else. "Worst of both worlds!" (chuckles)
Questionable reviews: "slightly crashy, undocumented format, but it works". "The virtual image didn't work, but it was easy to build the source archive." (AEC did their job!) "Once it runs, it runs, but getting to that point wasn't easy." That is shady. "Artifact is easy to use but insufficient to reproduce the experiment." "I couldn't reproduce quantitative results because there were no parsing for output files." "Couldn't reproduce what happened in the screencast." (There is an innocent explanation: the paper was based on original data, but the artifact was after the paper was accepted.) "The configure script exited and just printed 'Sorry'." "Too many dependencies!"
There was one paper where the AE might have affected the actual acceptance. "Comparing to related work without faithfully implementing the other optimization." We wrote to the authors, but we weren't setup to have a detailed discussion, but it was very questionable.
(Emma Tosch) This is for my own benefit, since the OOPSLA AE is due today. I've been making lots of changes to things: I have data, I was wondering, for the system and the analysis I do, these are going to be different, so I need to give an explanation about what's different. How much documentation should I give and how much explanation? Nothing in my paper depends on it; I'm just reporting. What do you recommend w.r.t. the goodness of science and reproduceability?
(Jan Vitek) I think you should think about the most important criterion: expectations set by the paper. It would be nice if they can doublecheck the things in the paper. If some small things change, that's fair. You're constructing a closure: here is everything from the point of the submission, to reproduce the submission. As long as you keep data sets around, if you change format, well you should have also changed your scripts.
(SK) Explaining what happened is fine too. But if something mysteriously disappeared, you don't have a replayable artifact. It doesn't invalidate the research, but it's an asterisk. You might be able to explain why we couldn't get the stamp, e.g. "here's the tool that disappeared."
(ET) One problem is there are many different types of artifacts. The trouble with a dataset, the analyses are often very sensitive to the implementation. So if you're using one library to do a simulation, your RNG changes. Reproduceability and understanding bounds can be difficult.
(SK) Yes, so some papers mention version numbers.
(JV) And some people do VMs so that you can have true reproduceability
(SK) But if it's that sensitive, why do you trust the result?
(JV) If there's a range, and you're in the tolerance, that's OK. If you get varying numbers, which are not discussed in the paper, well, that's questionable.
(SK) One quote from a reviewer, which I didn't put on the slides: "I got something roughly similar, but I got so many different answers, it was patently clear the paper should have error bars." Well, of course you should have error bars, but it's possible that the authors were picking desirable data.
(Adrian Sampson) This came up when I was doing reviews: some people place more weight on reproduceability and some placed weight on general expectations. I think it's worth teasing this out. The paper expectation is different. Do we want to reproduce the evaluation? The paper is not just the evaluation. I was willing to be more lenient; the evaluation might be logistically complicated; the overall description of the tool, that seemed more important. But that's not necessarily to argue, but I think it's an argument for being clear about the role of reproduceability.
(Eric Eide) This was pretty tricky. I had to explain multiple times the criterion was not perfect repeatability. There are lots of reasons why perfect repeatability is not attainable. There are a lot of performance numbers! General trends? Whatever. That said, I think there is expectation the tool should plausibly support the conclusions made in the paper. If there are questions about variability, maybe the paper should note that. In general, part of the idea is to improve repeatability and move towards an understanding that we should have a scientific process.
(JV) Another benefit is we have to be much more precise about what we did. In the paper, we might say, "I've implemented a C++ compiler." Then a reviewer might throw any C++ program at it. But more likely, they've implemented a compiler for a subset of C++ for parallel loops. (SK: you actually implemented a compiler for Pascal). Is the description in the paper matching what was actually implemented?
(EE) The point is to put the D back in PLDI. Someone made a dialect of Python, it's easy to use? They have a bunch of language constructs, semantics part, and then a big user study, whatever. Then they give you the compiler. What would you expect to be able to do with the compiler, to evaluate it? The example programs should go through, maybe the semantics is formal, but the user study is not reproduceable.
(SK) Well, be careful: this is the question of repeatability versus reproduceability. The user study is not repeatable, but we might still evaluate the raw data. To get back to the high level point, reviewers often have an obsession with exactly reproducing what the paper said. For some papers, it is obvious that you can't. Embedded hardware you don't have? Well! But for things that look similar enough, you might think you can. I think we shouldn't be too obsessed, but I've published papers, we generated some number of states (e.g. two), get some speedup, there was a lot of writing. If someone else gets five, did I really understand what was going on? Maybe there's a problem.
(AS) Maybe in addition to this, maybe as an overall goal, say, "Give us all the tools to reproduce the evaluation, or tell us what the gaps are, which are infeasible"
(SK) It wasn't good enough?
(AS) It felt people weren't totally sure... often people said here are the things that are reasonable to reproduce, but didn't explain other things. This left reviewers at a loss. It would be good if things said: "Here's why there's variability."
(ET) I like the idea about responses: maybe having a conversation for making the paper better. For AE, that seems necessary, in that, for error bars, maybe people weren't thinking about it, making typos, especially for last minute.
(SK) Part of the problem is this: every time we've run this process, there was not enough time. There are four weeks to do it: it has to be before the camera ready. There's not enough time, but we did make up an ad hoc response period this year. We sat on the reviewers so they did the reviews ahead of time. We told authors, this is ad hoc, we gave authors the full reviews, and told them you're welcome to respond. We got some responses, some were not prepared. It's just really constrained.
(Carl Bolz) Did it make a difference?
(SK) I can't think of a case.
(Paolo Giarrusso) Was there a phase for all papers?
(EE) We only solicited ones where there was a question.
(George Kastrinis) Given the code which cast doubts, do you think the process should change in the future and take artifacts into consideration?
(PG) Yeah, didn't we just lose this data (from the AEC)?
(SK) All reviews are like that. At ESOP, people were very concerned: how is this going to affect the process? The community was fairly conservative. The idea was, if we do AEC after decisions, then nobody will be hurt by this.
(Ben Liblit) Even the bad papers!
(JV) Overall the number of bad papers is not overwhelming, and the whole point is to encourage people to do the right thing. If it's punitive, then it will change the tenor. People know that the paper is accepted, so they are trying to be encouraging and helpful. So it was an artifact of the genesis of the paper, but it's a feature we should keep.
(SK) Here are the things people were concerned about http://www.artifact-eval.org/motivation.html (Design Criteria). (Singled out the exposing artifacts to the general public is unfair to the group)
(ET) About exposing artifacts and people poaching your research. Do we really want to a community that has this fear?
(JV) Well, in Biology, you explain how you did it, but you will not share the data. It cost you millions, it's precious, you will not share it.
(EE) Well, in computer science, things tend to be very open.
(SK) What kind of community do we want to be?
(ET) Think about informal publications, I have a research blog where I write lots of details. Maybe two people read it.
(SK) I didn't know you had a blog!
(ET) My understanding is, today, that's considered a formal document--if there was bad faith behavior, it functions as lab notebook. But if you're in the public, it seems to foster a sense of scientific community and shared goals and published, rather than the economic system of biology, which is setup to divide people.
(SK) My view is if someone builds on it, I get citations without doing any work. That's great!
(JV) The reward system is not quite right...
(SK) Can people write papers based on your work? Then you will get your next NSF grant for free. "This is something people will use!"
(ET) Do people ever contact original authors?
(Jean Yang) How much work is evaluated on how easy it was to setup environment? Should we build environments to improve that?
(SK) That was not the goal. Even if painful and undocumented, if we can push it through, we accepted it. Here is the social problem. If we reject most things, then the AEC process would die. 20 grad students rejecting papers; we'd have 50 professors would have pitchforks saying what a terrible process this is. We want to encourage people: they did a lot more work than they needed to! The primary thing was not the artifact, it's the paper: you are NOT EVEN REQUIRED to publish the artifact. The paper is key.
(JV) It's a process. People don't know how to package these things. Every year we'll know better.
(Gregor Richards) I have a response. The dependencies comment was my comment. I wanted to say how excruciating it was, but it wasn't part of my conclusions about the quality the artifact. It was, "In the future...", but to actually judge it, here are the other flaws.
(SK) And in the future you might get rejected; you won't get an easy pass.
(JY) If we make it easier to submit artifacts, will more people do it?
(SK) Well, we provided links to many tools for doing this. See the section "Code Artifacts Packaging." This year we saw aa lot more Docker instances.
(Ross Tate) I have some relevant experience, in the context of whether this should be required or not. This year I have a bunch of students work on established GitHub projects, but the biggest headache is setting things up. These things are just part of the process. It can be intimidating, training people on these things. As an untrained user, it's very intimidating. But if it's not required, then maybe it doesn't work out.
(GR) That's why one suggestion is to provide a VM image.
(RT) To have someone compile my code, that is not easy!
(SK) That's why I really like the example where the VM did not work, but the compiler image did.
(Swarpenedu Biswas) I submitted an artifact and benefited from it; one reviewer told about documentation. Do you plan on making the response period a mandatory part? Or keep it ad hoc? It's very possible to misunderstand the documentation.
(SK) We would like to make it a standard part, but there's just not enough time.
(JV) We tried a "kick the tire" thing. First three days, try to get proof of life (build it.) If you get stuck...
(SK) Well, you don't notice subtle things... the VM runs, that's nice, but that's often not the tricky thing. It's all the other stuff; the weird output format, numbers don't match up. We're squeezed on time. Here's why I think we had time here: because we only got 20 submissions. If 40 submitted (we expected 30), there's no way we would have gotten it done.
(GK) Are there valid reasons for not submitting an artifact?
(SK) Absolutely. We should not turn this into a litmus test for every paper. I write theory papers sometimes. These should not be pounded out of the system. There's enough ... going on from SIGPLAN. That's why expectations are important. There's a running joke, since POPL has done AEC; is there anything besides Coq that should be done? Maybe you have a 30 page technical report, and that's the artifact. It's all a function of claims, and justification of claims.
(JV) Don't knock proofs as artifacts. I have seen papers which have claimed to have proven something, but authors haven't typed it up.
(SK) It turns out dogs eat everything: codes, proofs, manuscripts...
(JV) I don't think this is about fraud.
(SK) But I've been there.
(AS) What about super-complicated artifacts? I know someone anecdotally, because he has a big cluster system, you need Infiniband between 102 nodes. I was trying to argue, take your analysis part, and do it, but he couldn't find guidelines about how to extract the useful part.
(JV) Do they have any data? How did they compute that data? There is some output of simulation, a complicated set of scripts which made the graph, that is very valuable.
(AS) I agree, but I wish the guidelines for the AECs had ideas for how to deal with this. You don't need the whole thing.
(SK) We also have to accept at some point we're not going to be able to do it. Let's just continue to keep this after the paper is accepted, because to reject it would be crazy. That's too bad, maybe you depend on very specialized hardware, that was the point... what are you going to do. There's two copies... etc. One author offered to ship us hardware. we were like, well, we have three reviewers, we can't clone it, it just isn't going to work. Also, I think this is a case where the common case is not problematic, so I don't want the uncommon case to hold up the common case. One of the things we do is we give the decision back to =the authors. They can choose to print it however they want. "This paper was not submitted AEC because could ship Amazon things." What I want: I read a paper two years later, I want to know if anyone evaluated this. If I see AEC, someone evaluated it!
(CB) Here's a thought: there's a tension between making artifacts easy to evaluate for AEC, and making it actually useful for consumers of research. Shipping VMs is sensible for AEC, but not useful for sticking it in a pipeline. This is something to figure out over time.
(SK) We got some feedback: it was helpful to have someone outside the group run the damn thing. Multiple people! This automatically helps.
(CB) It also helps you find holes in arguments.
(SK) Some people had hardcoded usernames... but if the only thing I have is my machines, well, maybe you forgot. It's hard to think of everything.
(RT) The topic, is to verify claims? Then could another way to do it is have the AEC work with the authors, rather than independent.
(SK) That's painful. I've not known many cases where the authors vigorously disagreed, but some authors were mad. Imagine your paper is rejected... you write back and refuse to accept the rejection...
(BL) If evaluators are grad students, you don't want them getting into a fight with a tenured professor.
(EE) The chairs acted as intermediaries between committee members and authors.
(SK) Commercial software is tricky. We want people to be anonymous, there was commercial software freely available for people who sign the document. So Jan signed the document, and told the reviewers, "Don't fuck up!" It's not clear what to do in that situation.
(BL) Many people have contacted authors of papers...
(SK) People started to nod...
(BL) ...asking for copy of tool. What happens, your email address for the first two-three authors bounces, their emails are invalid; finally you get a response from the professor, they don't even remember the project existed, because they never ran it. I'm cautiously optimistic to see what effect AECs will have in the long run, when five years from now I want to cite/build on an AEC paper. I hope it's better.
(EE) There are two papers that have attached artifacts going into digital library. I think this is the very first time you can do that. Positive effect!
(BL) Trying to get and use artifacts has failed so often. I just hope... maybe it will be better.
(SK) I don't want to give oxygen to a terrible piece of work, but I'm going to do it. Here is Christian Collberg's buildability of artifacts. They did a dreadful job when they found things... they did not make Arizona graduate students look very smart. One bottom line. Workshop TRUST, Collberg is going to be there, and I'm trying to figure out the most measured way to tell him what I did. A bunch of us setup a crowdsourced effort, to reproduce their reproduceability subject. But they were unresponsive, finally, they talked to a coauthor, got responses, sure, and now, here's what we have. Here's the classification: disputed, etc... http://cs.brown.edu/~sk/Memos/Examining-Reproducibility We did this, there was a bunch of response, then interest died out (as usual), but if you read the emails, the conversations, it is truly scary.
(GR) I have a thought: if we're thinking so much about how authors are going to communicate to the AEC what claims their artifact correspond to, and in the end, the stamp, there's a disconnect, communicating to the reader what claims it corresponds to.
(SK) Yeah... computer science, more complicated mechanisms don't work. If the evaluators have decided overall the paper is credible, it gets a stamp, otherwise, it just is like... when a paper is accepted, it doesn't mean the PC agrees to everything. All it means they signed onto something in the original paper. So there is some amount of trust.
(JV) In the long run, maybe they will submit the code for external review...
(PG) It's good style... to update the paper to say what things. I want to see how many papers were altered as a result of the feedback. Did you add error bars? The optimization paper? They would have had to withdraw the paper...
(EE) It would be nice to figure out how to work it into the process... here is feedback. Getting that to authors for them to modify things... I don't know how to do that in the current schedule unless... if you participate in AEC, you get an extra week? Two weeks? That's one way to get artifacts.
(SK) We have this problem camera ready three months before.
(PG) What about loop stuff?
(JV) Second stage. But we could do it at the end of first stage, because most papers.
(ET) This goes back to Adrian's comment, for things which are difficult to reproduce. Simulators: it's nice to have, but you don't want to talk about simulator in paper. in terms of reproduceability, it's nice to have alternatives. Clearly... it's very selfish, but my work requires Mechanical Turk, but I also have a local host to walk through. This is feasible, but in terms of encouraging understanding, the pipeline works, do we emphasize simulators? It's nice to be able to model a system
(SK) In any case, you had one for testing.
(EE) I think having a version of your system which works in a simulator, to validate the parts you can validate, is an excellent idea. I have one foot in PL, systems, many of my colleagues in SDN and datacenters... unless I have a datacenter, I can reproduce, but there's ton of SDN simulators.
(ET) So should we ask people to submit this?
(JV) It's not appropriate for all papers. Requesting something... extra work? We don't want it. It's god to have independent evaluation...
(SK) How are you going to make your case? They have to believe it. you take your best shot. There were all sorts of questions about how to write a paper, because a whacko reviewer didn't... the advisor now can tell you what to do. I think with a little practice, we'll figure it out.
(ET) Well, the thing about simulator, is the conflict for users and AEC. Users have no use for simulator. For cases where people who didn't need it... proper system. I think we should try to encourage people to have these kinds of tools, but in terms of what we're asking people, maybe clear guidelines on it, so you don't have people saying it's not appropriate at all.
(SK) that's the really troubling thing. "Why didn't you ask?"
(JV) The reason you have to say it often is because people don't ask.
(RT) There are two things you're trying to do, they need to be separate. Verifying claims, and verifying there is a useful tool (helping others.) There are different things.
(JV) Our hope is pushing on one push the other.
(SK) I think that's true. It makes it all a little better.
(CB) The virtual machine makes it possible.
(SK) As an example, I'm trying to build on something ....
(JV) We're looking for the least work. You did something, you did experiments to convince people.
(EE) Artifact is message to research peers, not users. If you can address both, that's great. We like pretty webpages, but users won't care about some things. Research colleagues do care about. users don't care about source code, researchers do.
(SK) We hope it's similar enough, so having a third processor is unlikely to be helpful.
(RT) Well, making my tool useful... if I'm not going to use it...
(SK) The tool paper on the tool is different from the result of using it.
(AS) Here's a funny idea: have a list of stories of successful artifacts. Because everyone's case is so unique. Once there was a person who submitted [X], or made a cluster thing, they didn't give us anything... they don't have to be real stories.
(?) If I can't reproduce your story...
(ET) We all hope we're doing work we think is valid, I don't want to shame my advisor by not earning a sticker.
(SK) Now we require a webpage. I think this is really important.
(JY) Is there a public announcements?
(EE) You have to look at the frontmatter.