Bibliography

Really? Really? An entire page on formatting bibliography entries?

Perhaps no other part of the paper is more boring — and OCD — than sanity checking the bibliography. But, as with your code, your analyses, your results, and your paper, the details matter. Think of it another way: when you read a paper that cites your work, wouldn't you want the citation to be accurate and well done (giving, perhaps, the impression that the authors might have actually read your paper)?

Unfortunately, there are no short cuts to polishing your bibliography. As a general rule, you cannot just copy and paste from the Web and assume it is correct, even if it is from the ACM Digital Library (much less CiteSeer). Although a good place to start, in all likelihood you will have to manually edit every bib entry you find (sorry).

In a nutshell, here is the noble task that lies before you. For a typical conference citation, the ACM DL provides:

author = {Diwaker Gupta and Sangmin Lee and Michael Vrable and Stefan Savage and Alex C. Snoeren and George Varghese and Geoffrey M. Voelker and Amin Vahdat},
title = {Difference engine: harnessing memory redundancy in virtual machines},
booktitle = {Proceedings of the 8th USENIX conference on Operating systems design and implementation},
series = {OSDI'08},
year = {2008},
location = {San Diego, California},
pages = {309--322},
numpages = {14},
url = {http://portal.acm.org/citation.cfm?id=1855741.1855763},
acmid = {1855763},
publisher = {USENIX Association},
address = {Berkeley, CA, USA},
[8] Diwaker Gupta, Sangmin Lee, Michael Vrable, Stefan Savage, Alex C. Snoeren, Amin Vahdat, George Varghese, and Geoffrey M. Voelker. Difference engine: harnessing memory redundancy in virtual machines. In Proceedings of the 8th USENIX conference on Operating systems design and implementation, OSDI'08, pages 309–322, Berkeley, CA, USA, 2008. USENIX Association.

and your goal is to modify it to look something like this:

author = {Diwaker Gupta and Sangmin Lee and Michael Vrable and Stefan Savage and Alex C. Snoeren and George Varghese and Geoffrey M. Voelker and Amin Vahdat},
title = "{Difference Engine: Harnessing Memory Redundancy in Virtual Machines}",
booktitle = {Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI)},
month = {December},
year = {2008},
pages = {309--322},
address = {San Diego, CA, USA},
[8] Diwaker Gupta, Sangmin Lee, Michael Vrable, Stefan Savage, Alex C. Snoeren, Amin Vahdat, George Varghese, and Geoffrey M. Voelker. Difference Engine: Harnessing Memory Redundancy in Virtual Machines. In Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI), pages 309–322, San Diego, CA, USA, December 2008.

Or, in condensed form:

author = {Diwaker Gupta and Sangmin Lee and Michael Vrable and Stefan Savage and Alex C. Snoeren and George Varghese and Geoffrey M. Voelker and Amin Vahdat},
title = "{Difference Engine: Harnessing Memory Redundancy in Virtual Machines}",
booktitle = {Proc. of 8th USENIX OSDI},
month = {Dec.},
year = {2008},
[8] D. Gupta, S. Lee, M. Vrable, S. Savage, A. C. Snoeren, A. Vahdat, G. Varghese, and G. M. Voelker. Difference Engine: Harnessing Memory Redundancy in Virtual Machines. In Proc. of 8th USENIX OSDI, Dec. 2008.

Following this pattern will take care of most of the conference and workshop bibliography entries. For additional problematic corner cases (again, often arising from copy and paste from the Web), here is a systematic checklist that you can use for simultaneously polishing your bibliography and satisfying that OCD streak hidden deep inside you:

Here are detailed examples for each of these situations to guide you towards achieving a bibliography in perfect harmony.