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.