A Paper About Papers, or How to Read a Paper

I haven’t read many papers, probably because they seemed complex and I wasn’t sure how to approach them. Recently, I came across a paper that explains a three-pass approach to reading them.

After each pass, decide how deep you want to go.

Decision tree of the three-pass approach. First pass, skim the structure. Go deeper? No: stop, you have the overview. Yes: second pass, read for the ideas. Go deeper? No, usually: stop, you can explain it. Yes: third pass, rebuild the argument, then implement it and compare the results.
Figure 1. The three-pass approach as a decision tree. The implementation step is my addition for software engineering papers.

The first pass

This pass gives you a high-level overview of the paper.

After this pass, decide whether you want to continue.

The second pass

This pass helps you understand the paper’s main ideas.

After this pass, you should be able to explain the paper’s main ideas and supporting arguments to someone else.

You might not understand everything, and that’s fine. If you need more background knowledge, set the paper aside and work through your notes and other prerequisites before coming back to it.

Then decide whether you want to go further. Usually you don’t. But if you want to understand the paper on a deeper level and build its argument yourself, go on to the third pass.

The third pass

This pass helps you understand the paper in depth.

After this pass, you should understand the paper in depth and be able to identify its strong and weak points. You might also see ways to improve it.

My two cents

For software engineering papers, the third pass might be a great opportunity to also implement the method in code, run experiments, and compare your results with those reported in the paper.

Source: https://dl.acm.org/doi/10.1145/1273445.1273458

Also available via RSS, YouTube, Telegram, or X (@rdiachenko)
Questions or ideas? Email me