10 (Random) Lessons On Paper Writing: Rodolfo Pellizzoni
10 (Random) Lessons On Paper Writing: Rodolfo Pellizzoni
Rodolfo Pellizzoni
Introduction
Unfortunately, I only archive the final version of each paper, so I can not show you a step-by-step paper analysis. Luckily, I have been writing research papers for 5 years now, and I had my fair share of ups and downs. This is a collection of 10 (random?) lessons that I picked up and always keep in mind.
Take them with a grain of salt, I am more interested in starting some discussion than proving facts.
Whenever possible, try to adjust the focus of the paper based on the conference.
Even just a slight reword of abstract and introduction can make a big difference (see Lesson 3).
Be careful with special tracks: acceptance ratios are typically not higher than main track, submit only if the paper is very focused.
Example
R. Pellizzoni and M. Caccamo: Adaptive Allocation of Software and Hardware Real-Time Tasks for FPGA-based Embedded Systems. RTAS 2006. Algorithms to allocate relocatable tasks on FPGA, the paper is actually quite theoretical. Initially rejected at RTSS 06 with rather negative scores.
Major concern for most reviewers: there is no bus schedulability analysis.
If a reviewer can reject your paper without reading it all, it saves time! The introduction is the first section they read, so make sure your paper does not get killed in Section 1. 5 years ago I used to write the introduction last. Now it is always the first section I write.
Example
Every single paper of mine received comments that could have been avoided with a better introduction. Instead of individual examples, here are some general suggestions: 1. Explain why the problem you solve is relevant and important.
By far the most important point. Also the hardest to properly articulate. Sometimes examples help, sometimes not. No original contribution -> incremental paper -> autorejection. People are skeptic that you found the holy grail. This is an art that comes with experience.
You can even move all/some proofs to a technical report if you do not have the space.
There is no choice between putting the intuition and putting the detailed proof in the paper. Intuition always win.
Example
R. Pellizzoni and M. Caccamo, Impact of Peripheral-Processor Interference on WCET Analysis of Real-Time Embedded Systems, Submitted to Transactions on Computers (Major Review). Journal version of a previous RTSS conference paper. Both papers are full of proofs. Conference reviewers complained about the complexity of Theorem 4, which proves our main algorithm is correct.
A rather complex proof by induction on a non-intuitive index.
The real problem is that we did not provide a good enough intuition for the main algorithm. No journal reviewer complained about Theorem 4, even if the proof is exactly the same.
Example
Again, too many to mention. Reviewers can be picky about different details, especially regarding notation. Some general suggestions: 1. A good notation goes a long way in making a proof readable.
Try to avoid using too many subscripts, superscripts, stars, apexes, etc. Use notation that is accepted in the community (D is relative deadline, e/c computation time, p/T period, etc.). Repeat multiple times what each symbol means.
Example
3. The simpler the math, the better it is.
If you use anything more than standard algebra and calculus, be sure to provide relevant links. Do not assume that everybody knows X just because every undergrad must study X in your department. Some proof schemes tend to annoy people more than others.
Instead of saying X is black, say X is usually black, but in some cases that are not considered in this paper it is white.
Example
R. Pellizzoni and M. Caccamo: M-CASH: A Real-Time Resource Reclaiming Algorithm for Multiprocessor Platforms. Real-Time Systems Journal, 2008, Vol. 40(1): 117-147. We said that we use multiprocessor EDF because while P-fair is optimal, it leads to excessive number of preemptions. Reviewer commented: Some of the statements made about the effects of preemptions are too strong: in fact, there exist real-time systems that use cached data rather seldomly (because new data is continually being processed).
Just be sure to prove your point well enough; the keyword here is successfully challenge.
Example
R. Pellizzoni et al.: Coscheduling of CPU and I/O Transactions in COTS-based Embedded Systems. RTSS 2008. The analysis in the paper computes a pattern of arrival times for cache misses that causes max task WCET increase.
I was scared because the analysis is built on top of my RTSS 07 paper and furthermore the obtained WCET algorithm is pretty similar.
In the introduction, I made the rather strong claim that the result is very counterintuitive because the worst-case pattern is the opposite of the classic real-time critical instant (caches are spread out instead of arriving altogether). Two reviewers out of four commented that the analysis is very interesting and new.
The key: two half glasses of water are better than one full and one empty glass here.
Just one negative review is enough to kill a conference paper. Once your paper is out, if the contribution is solid people will start citing you anyway.
Example
Pellizzoni and P. Meredith and M. Caccamo and G. Rosu: Hardware Runtime Monitoring for Dependable COTS-based Real-Time Embedded Systems. RTSS 2008. Paper is composed by three sections:
Description of the main idea and monitoring theory (main part). Test case (very important to show that this new idea works). FPGA implementation (short because it is not the core of the paper, but required to show that we implemented it for real).
Submitted to RTSS to a new design & verification track. Paper just barely got in.
Example
Two main issues among reviewers. Reviewers 1 & 2 commented that the FPGA implementation details were boring, and we should have expanded the formal method part (PTLTL monitor synthesis). Reviewer 3 wrote: the paper sets out to describe a hardware solution. Yet there is very little actual hardware design details.
If you do not believe that your contribution is important, than you should not have written the paper in the first place!
Thats it people!
Lesson 0
It all boils down to the following Prime Directive: