I'm involved in a couple of 400-level courses that involve writing some form of a survey paper so I thought I would put up some notes that might help someone get started.
Sources for this include Paul Dourish's notes
(his suggestion of a good survey paper having 80 and 120 references really only applies to PhD projects), Rich Wolski's notes for his course
, Ladislau Bölöni' [http://www.cs.ucf.edu/~lboloni/Teaching/EEL6788_2008/slides/SurveyTutorial.pdf][short paper on survey papers]] and George Mason Writing Centre
What is the purpose of a survey paper
A survey paper is intended to review the literature in some particular research area. You are trying to give the reader of the paper some insight into the domain. Another view is that is not only an overview of the research in an area but some insight into it. Similarly, it normally points the way towards some area of future work.
In terms of organisation, a perfectly reasonable organisation might be something like the following.
Keep this to (ideally) a paragraph. What' the problem. Why do I care about it? What solutions have been proposed? What's wrong with them? What is proposed to fix these outstanding problems?
What is the area of being studied (eHealth, home automation etc.)? What's the motivation for developing systems in this area (don't be afraid to give real-world reasons here, in fact I would encourage it!)? What is the structure of the paper (provide an overview of the contents of each section, most people are lazy so this is to let them decide whether its worth reading your paper or not)?
- Provide the research context for the problem/question being addressed
- State and explain the problem/issue in specific terms; how this part will fill in the missing brick in the wall of research already done
- Give some sense of the paper’s overall organization
- How and why this research is important
Overview of the Area
Provide a general introduction to the area. For example, in a security course you might give a brief explanation of the problems of phishing or in a distributed systems course you might explain about the type and purpose of sensor network you are analysing.
A key thing to do in this section is introduce the terminology of the area. In particular, describe what the various terms mean. Especially important when different authors might use different terms for the same thing! For example, in the sensor network domain, mobile sink, mobile agent, mobile data collectors usually means the same thing.
Think of this as a set of criteria that is used to analyse the research papers. Coming up with good criteria is hard work
. In an ideal world, all the criteria would be applicable for each of the systems or techniques you review but this is not always going to be the case. For example, you might be analysing the research papers in terms of security or fault tolerance. These are pretty general though, you might also have more specific criteria related to the area being studies, for example "Support for Sight Impaired Users" because this is a distinguishing feature of some systems or "Energy harvesting efficiency" for sustainable sensor networks.
When building the criteria, I find it useful to think of it as "reverse engineering" or feature analysis. You read a lot of papers, find the commonalities and differences related to the area of interest to you or the problem that you want to solve. You come up with criteria, where the criteria has relationships with other criteria you might build a taxonomy (more likely for a masters or PhD though).
Research Papers/State of the Art
Review the papers/systems/algorithms/techniques. You might also (in a more extensive survey) decide to group papers together organised by theme and categories them (for example, decentralised synchronisation protocols).
Explain what the key ideas of the paper/system/algorithm/technique. To help you with this you could consider the following questions.
- What would you tell someone is the key insight that led to its development or simply makes it work?
- What assumptions about its context does it make? For example, what types of failures is it designed to cope with or who is expected to be the users for the system?
- What other components/algorithms/mathematical techniques does it rely upon? For example, assumes the use of CORBA middleware.
- Has it been evaluated through building it/testing it/modelling it?
- Who/what do they compare themselves with and how do they distinguish themselves from other approaches?
- Do they claim to be better, cheaper, smarter than other approaches? Is there a better, more improved version?
- Who developed it (it's polite to include the names of the authors when doing the citation, for example Welch and Welch  developed ...)?
Compare each paper to the criteria and evaluate/identify how each meets the criteria (the applicable ones that is, if not applicable just point out that the criteria is not applicable so the reader doesn't think that you forgot to do it).
Consider ending the section with a table. People love tables because it allows easy comparison of the different papers etc. using the criteria.
Some people call this a conclusion but its useful to separate it out into a separate section.
One view (from the George Mason Writing centre):
- Interpret results, supporting conclusions with evidence.
- Recognize the importance of “negative” results.
- Move from the general to the specific.
- Restrict or expand results, including warning the reader how and why they should not generalize conclusions or suggesting ways to safely generalize.
- Point out implications and/or draw inferences (if appropriate to the type of paper).
- Mention practical applications, if any.
- Define unanswered questions.
- Give recommendations for further research.
All but probably the first suggestion are appropriate for a survey paper.
Some other ideas for the discussion section. Do all the papers solve all the challenges? Do you think that combining some ideas from different papers might be a way to solve all the challenges? Are the challenges currently solved but do you think that the ideas could be applied to a new area? Are there changes in the domain of study that create new challenges? Are you convinced that the challenges are really solved, for example are all the approaches evaluated or even well evaluated?
This can be quite short given that you have given the reader your opinion/analysis in the previous section. Give the reader an overview of what was covered in the paper and what you found out. Quite often readers will read only the introduction and conclusions so together they should be a self-contained summary of the entire work.