-
Notifications
You must be signed in to change notification settings - Fork 1
squaresLab Citation Guide
Feel free to edit if you notice any mistakes or missing information
Bibliographic references should be accurate, complete, and attractive, but not too long. Misciting prior work is a falsehood, and we try to always avoid falsehoods in papers.
Bibtex entries taken from websites like the ACM digital library or DBLP often require multiple changes. You must always look at and modify them.
Assume you want to cite "Developer Onboarding in GitHub: The Role of Prior Social Links and Language Experience."
The Bibtex from the ACM DL (http://dl.acm.org/citation.cfm?id=2786854) is:
@inproceedings{Casalnuovo:2015:DOG:2786805.2786854,
author = {Casalnuovo, Casey and Vasilescu, Bogdan and Devanbu, Premkumar and Filkov, Vladimir},
title = {Developer Onboarding in GitHub: The Role of Prior Social Links and Language Experience},
booktitle = {Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering},
series = {ESEC/FSE 2015},
year = {2015},
isbn = {978-1-4503-3675-8},
location = {Bergamo, Italy},
pages = {817--828},
numpages = {12},
url = {http://doi.acm.org/10.1145/2786805.2786854},
doi = {10.1145/2786805.2786854},
acmid = {2786854},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {GitHub, onboarding, productivity, social aspects},
}
If you use this entry directly, it produces, in ACM format:
Casey Casalnuovo, Bogdan Vasilescu, Premkumar Devanbu, and Vladimir Filkov. 2015. Developer Onboarding in GitHub: The Role of Prior Social Links and Language Experience. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering (ESEC/FSE 2015). ACM, New York, NY, USA, 817–828. DOI:http://dx.doi.org/10.1145/2786805.2786854
In IEEE format:
C. Casalnuovo, B. Vasilescu, P. Devanbu, and V. Filkov, “Developer onboarding in github: The role of prior social links and language experience,” in Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, ser. ESEC/FSE 2015. New York, NY, USA: ACM, 2015, pp. 817–828. [Online]. Available: http://doi.acm.org/10.1145/2786805.2786854
Both of these are problematic: they are too long, and also inaccurate (e.g., the conference title is wrong, and the IEEE citation fails to capitalize GitHub).
We want to make the bibtex entry correct for both formats, given that we reuse/resubmit work to conferences that switch between them arbitrarily.
In almost all cases, use only the following bibtex entry types:
- @inproceedings for anything in a conference, symposium, workshop, etc.
- @article for anything appearing in a journal. If you're not sure if it's a journal or a conference, look it up. Anything with "Transactions on" is probably a journal, as a hint.
- @book, for books (textbooks, etc)
- @thesis for, well, theses. @phdthesis is also OK.
- @misc, usually only for websites. Include "accessed" dates (month and year) for websites. Many online sources from which one might be tempted to grab bibtex use a @misc type for all entries. This results in incorrect citations for anything that's not an actual misc type. Convert to the correct citation type (@inproceedings, @article, etc.) and add missing information. If you have the option to cite a source as a hard copy (e.g., @inproceedings) or a website, always use the hard copy citation. Links change more often than hard copy citations, so the hard copy citation is more likely to be correct in the next couple of decades.
Less common types that are sometimes useful are:
- @techreport for technical reports
- @incollection for book chapters
Bib for publications in conference proceedings include: authors, title, conference name, series name, year, and page numbers.
For the conference name, do not include "Proceedings of the" and you may delete the ACM/IEEE in any conference titled "ACM/IEEE Conference on X". Also delete conference numbers. So, the "Proceedings of the 21st IEEE Conference on How to Cite Stuff" becomes, simply "Conference on How to Cite Stuff". One rule of thumb is to remove extra text associated with the conference name that isn't used in the acronym (with the exception of 'Joint meeting of' for joint meetings, like ESEC/FSE, see below for more on that).
The series name is the conference acronym, typically with the year, so ICSE '15, or ESEC/FSE '15 in our running example. The '15 instead of 2015 in the series name is a matter of arbitrary taste; let's just be consistent about it.
It is virtually never acceptable to replace the conference name with just its acronym. If this ever happens, it will be the result of major desperation wrt the page limit, but never do it without discussing it. If you copy bibtex from the internet that has done this, replace the abbreviation with the full name.
Note specifically about FSE versus ESEC/FSE: in even years, the conference name is 'Symposium on the Foundations of Software Engineering' and its acronym is 'FSE'. In odd years, its name is the 'Joint Meeting of the European Software Engineering Conference and the Symposium on the Foundations of Software Engineering' and the corresponding acronym is 'ESEC/FSE'. Sometimes it will be listed as 'Joint meeting of the IEEE ... and the ACM SIGSOFT Symposium on...' In any case, our example bib from the ACM DL above incorrectly names the actual conference.
Illustration. To return to our running example, we typically would remove the publisher, and address (they are not incorrect, but typically extraneous [Zack's side comment - I have had a reviewer complain about DOIs in a paper] [Claire's side reply: that's super weird.]). [Kush's comment - FSE now requires DOI]. Some people include keywords or even the abstract; both are optional but sometimes nice to have as you end up with long .bib files and want to search for something.
Journal article bib entries should include the authors, title, journal name, volume, number, page numbers, and year. We do not typically remove the affiliation (IEEE/ACM) on journal names. Zack asks why; Claire doesn't know. However. Some online sources will invert them weirdly, like "Software Engineering, IEEE Transactions on." Fix all such titles to "IEEE Transactions on Software Engineering" (or whatever). There's a bit more leeway on shortening these: "IEEE Trans. on Soft. Eng." is usually OK, if it's consistent, and if you insist.
- Capitalization. The IEEE format lowercases titles (note above, the proper noun GitHub). Naturally, the default citation style does not recognize proper nouns, so put them in brackets. If a title contains a question mark, similarly force-capitalize the first word after it. Same rule applies if it contains a colon and the portion after the colon is a complete sentence.
- Author names. Check author names and titles for correct spelling, capitalization, and spacing. Misspelled author names annoys those authors, especially when they're reviewers, and is disrespectful. Online bibtex often screws up special characters. If a name contains an accent, look up how to include it properly and fix it. Spaces are also problematic. Quote directly from Claire - "By default, Bibtex will butcher my last name (turning me into Goues, C.L.); I always appreciate judiciously applied brackets ({Le Goues}) or a non-breaking space (Le~Goues)." Another good practice is to use the Last Name1, First Name1 and LastName2, FirstName2 and ... style for the authors field (rather than First Name1 LastName1 and Firstname2 LastName2 and...). This ordering ensures that latex will correctly cite multi-word last names, so use it when creating citations. It is recommended but not required for downloaded citations, just make sure the author names are correctly cited.
- Special characters. Special characters looking bad applies to the entire entry, not just author names. Fix them and make sure they appear correctly.
- Page ranges. Ranges in latex are denoted with a double dash. Delete the single dash in the entry you copy from the internet and replace it with a double dash; it often copies as a malformed special character that bibtex ignores, ultimately merging the page numbers into one long number. We typically omit pages when citing books (cite a chapter if you want to cite a portion of a book; it's a different entry type [@incollection]).
- Related, "to appear" publications. Put the words "(to appear)" after the conference or journal name (and omit the page numbers). Don't put it in page numbers, lest the citation include a weird "page (to appear)".
- The auto-generated bibtex key is impossible. In general, put the last name of the first author, the first important word of the paper title, and the last two digits of the year. Although many papers can be distinguished by the author and year alone, some authors publish multiple first-author papers in the same year, so the title word disambiguates. It is also occasionally acceptable to use a single word in the bibtex key if the paper is well known for that term (e.g., MAPE-K).
- You can ignore certain Bibtex warnings. For example, Bibtex throws two warnings on the citations above for ACM format: the publisher and the address fields are missing. Don't worry about it.
- Remember to include the non-breaking space before citations '~', otherwise Latex will sometimes line-break on the space.
- Do not use citations as nouns. Citations aren't nouns; they are mechanisms that indicate references for the cited content.
The minimal bibtex entry that will work for both styles above and about which Claire won't yell looks like (reminder: keywords are optional but recommended):
@inproceedings{CasalnuovoDeveloper15,
author = {Casalnuovo, Casey and Vasilescu, Bogdan and Devanbu, Premkumar and Filkov, Vladimir},
title = {Developer Onboarding in {GitHub}: The Role of Prior Social Links and Language Experience},
booktitle = {Joint Meeting of the European Software Engineering Conference and the Symposium on the Foundations of Software Engineering},
series = {ESEC/FSE '15},
year = {2015},
pages = {817--828},
keywords = {GitHub, onboarding, productivity, social aspects},
}
The above produces the below, for ACM:
Casey Casalnuovo, Bogdan Vasilescu, Premkumar Devanbu, and Vladimir Filkov. 2015. Developer Onboarding in GitHub: The Role of Prior Social Links and Language Experience. In Joint Meeting of the European Software Engineering Conference and the Symposium on the Foundations of Software Engineering (ESEC/FSE '15). 817–828.
For IEEE:
Casey Casalnuovo, Bogdan Vasilescu, Premkumar Devanbu, and Vladimir Filkov. Developer onboarding in GitHub: The role of prior social links and language experience. In Joint Meeting of the European Software Engineering Conference and the Symposium on the Foundations of Software Engineering, ESEC/FSE '15, pp. 817–828, 2015.
Conference proceedings (@inproceedings):
J. Anvik, L. Hiew, and G. C. Murphy, "Who should fix this bug?" in International Conference on Software Engineering, ser. ICSE ’06, 2006, pp. 361–370.
Journal Article or Article (@article):
L. Erlikh. Leveraging legacy system dollars for e-business. IT Professional, 2(3):17–23, 2000.
Book (@book):
Kathy Charmaz. 2014. Constructing Grounded Theory (2nd ed.). Sage Publications.
Thesis (@phdthesis):
Jaspan Ciera. 2011. Proper Plugin Protocols. Ph.D. Dissertation. Carnegie Mellon University.
arXiv article (@article):
Yue Yu, Bogdan Vasilescu, Huaimin Wang, Vladimir Filkov, and Premkumar Devanbu. Initial and eventual software quality relating to continuous integration in GitHub. Computing Research Repository, http://arxiv.org/abs/1606.00521, 2016.
Website (@misc):
http://www.mozilla.org/security/bug-bounty.html, Accessed Feb, 2014.
Wikipedia (@misc):
Wikipedia. Python (programming language). http://en.wikipedia.org/wiki/Python_(programming_language), February 2014.
Preprint (@inproceedings):
Moritz Beller, Georgios Gousios, and Andy Zaidman. TravisTorrent: Synthesizing Travis CI and GitHub for full-stack research on continuous integration. In Mining Software Repositories (to appear), MSR ’17, 2017.
Chapter in Book or Encyclopedia Entry (@incollection)
W. Snipes, E. Murphy-Hill, T. Fritz, M. Vakilian, K. Damevski, A. Nair, and D. Shepherd, “Ch. 3: A Practical Guide to Analyzing IDE Usage Data,” in The Art and Science of Analyzing Software Data, 2015.