How to Get a Paper Accepted at OOPSLA
Kent Beck
I will not talk about a topic area, like my distinguished
fellow panelists. I will present the process I use as I am
writing my papers. You can adapt it for your writing process, or
you can use it as a check list for evaluating finished papers (if
this is starting to sound like patterns, well, fancy that). Much
of what I will say is "common sense," found in any book
about writing. Having looked at hundreds of submissions, though,
I can state with certainty that most of the authors don't follow
this advice.
- Write to the program committee. Never forget
that before you can write to the vast, eager, and
appreciative OOPSLA audience you must first get past the
program committee. Before I begin I fix in my mind a
picture of a harried PC member, desk piled with papers.
Mine comes to the top. I have maybe thirty seconds to
grab their interest.
Remember that the program committee is made up of experts
in the field. Even if your topic is of broad interest to
beginners, there must still be some spark in it to keep
an expert reading to the end. If your topic is highly
technical, it may not be in an area that they are
familiar with, so it must readably present the novel
aspects of the work.
- One startling sentence. Now that you know you
are writing to the program committee, you need to find
the one thing you want to say that will catch their
interest. If you have been working on the world's
niftiest program night and day for five years, the
temptation is to include absolutely everything about it,
"The Foo System In All Its Glory." It'll never
work. I know it's painful to ignore all those great
insights, but find the most thing you have done and write
it down, "network garbage collection is fast and
easy." You want the reader's eyes to open wide when
they realize what it is you've just said.
I think some people are reluctant to boil their message
down to one startling sentence because it opens them up
to concrete criticism. If you write about the Foo System
and someone says it isn't neat, you can just reply,
"Is so, nyah!" If you say network garbage
collection is easy, it is a statement that is objectively
true or false. You can be proven wrong. Wait! You spent
five years proving it was easy. Make you case.
- Argument: problem, solution, defense, related work.
Now that you have a startling sentence, your paper must
stand as the argument for its validity. You are
convincing the by-now-intrigued committee member of the
truth of your amazing statement.
Divide your paper into four sections. The first describes
the problem to be solved. When the PC member is done
reading it, they should understand why it is a problem,
and believe that it is important to solve. The second
section describes your problem. You are convincing the PC
member that your solution really could solve the problem.
This section is sometimes supplemented with a section
between the defense and related work which describes
imple- mentation details. The third section is your
defense of why your solution really solves the problem.
The PC member reading it should be convinced that the
problem is actually solved, and that you have thought of
all reasonable counter arguments. The final section
describes what other people have done in the area. Upon
reading this section, the PC member should be convinced
that what you have done is novel.
- Abstract. The abstract is
your four sentence summary of the conclusions of your
paper. Its primary purpose is to get your paper into the
A pile. Most PC members sort their papers in an A pile
and a B pile by reading the abstracts. The A pile papers
get smiling interest, the B pile papers are a chore to be
slogged through. By keeping your abstract short and
clear, you greatly enhance your chances of being in the A
pile.
I try to have four sentences in my abstract. The first
states the problem. The second states why the problem is
a problem. The third is my startling sentence. The fourth
states the implication of my startling sentence. An
abstract for this paper done in this style would be:
The rejection rate for OOPSLA papers in near 90%.
Most papers are rejected not because of a lack of
good ideas, but because they are poorly structured.
Following four simple steps in writing a paper will
dramatically increase your chances of acceptance. If
everyone followed these steps, the amount of
communication in the object community would increase,
improving the rate of progress.
Well, I'm not sure that's a great abstract, but you
get the idea.
I always feel funny writing an abstract this way. The
idea I thought was so wonderful when I started writing
the paper looks naked and alone sitting there with no
support. I resist the temptation to argue for my
conclusion in the abstract. I think it gives the reader
more incentive to carefully read the rest of the paper.
They want to find you how in the world you could possible
say such an outrageous thing.
There are my four steps to better papers. You can use them
sequentially to write papers, or you can use them to evaluate
papers you have already written.