Here is a list of possible papers for this course. This list was adapted and modified from
Reid Holmes' grad course at UWaterloo. If you would like to present a paper that is not on this list but is relevant to the course, please contact me. Please check the proceedings of the past MSR conferences: http://2015.msrconf.org/history.php.
- Historical Context
- Fredrick P. Brooks Jr.. No Silver Bullet: Essence and Accidents of Software Engineering. Computer, 1987. [DOI]
- Fredrick P. Brooks Jr.. The Mythical Man Month. Addison-Wesley, 1995. [ACM DL]
- Edsger W. Dijkstra. Go to statement considered harmful. CACM, 1968. [DOI]
- W. Wayt Gibbs. Software's Chronic Crisis. Scientific American, 1994. [Online]
- Research Methods
- B. A. Kitchenham, S. L. Pfleeger, L. M. Pickard, et al..
Preliminary guidelines for empirical research in software engineering.
Software Engineering, IEEE Transactions on, Vol. 28, No. 8. (2002), pp.
721-734.
- Jorge Aranda, Gina Venolia. The secret life of bugs: Going past
the errors and omissions in software repositories. ICSE 2009: 298-308.
- Jo E. Hannay, Dag I. K. Sjoberg, and Tore Dyba. 2007. A
Systematic Review of Theory Use in Software Engineering Experiments.
IEEE Trans. Softw. Eng. 33, 2 (February 2007), 87-107.
- Zelkowitz and Wallace. Experimental models for validating technology. Computer, 1998.
- Development teams
- Robert E. Kraut and Lynn A. Streeter. 1995. Coordination in software development. Commun. ACM 38, 3 (March 1995), 69-81.
- Teasley, S. D., Covi, L. A., Krishnan, M. S. and Olson, J. S.
Rapid Software Development through Team Collocation. IEEE Transactions
on Software Engineering, 28, 7 2002), 671-683
- Cleidson R. Souza and David F. Redmiles. 2009. On The Roles of
APIs in the Coordination of Collaborative Software Development. Comput.
Supported Coop. Work 18, 5-6 (December 2009), 445-475.
- Kivanc Muslu, Christian Bird, Nachiappan Nagappan, and Jacek
Czerwonka. Transition from Centralized to Decentralized Version Control
Systems: A Case Study on Reasons, Barriers, and Outcomes. ICSE, 2014. [PDF]
- Shaun Phillips, Thomas Zimmermann, and Christian Bird. Understanding and Improving Software Build Teams. ICSE, 2014. [PDF]
- Herbsleb, J.D., Mockus, A., Finholt, T.A., & Grinter,
R.E. (2000). Distance, dependencies, and delay in a global
collaboration. InProceedings, ACM Conference on Computer-Supported
Cooperative Work, Philadelphia, PA, Dec. 2-7, pp. 319-328.
- Bird, C., Nagappan, N., Devanbu, P.T., Gall, H., and Murphy, B.
Does distributed development affect software quality? An empirical case
study of Windows Vista. In Proceedings of the 31st International
Conference on Software Engineering (2009), 518-528.
- Yuriy Brun, Reid Holmes, Michael D. Ernst, and David Notkin. Proactive Detection of Collaboration Conflicts. FSE 2011. [DOI]
- Expertise finding
- Thomas Fritz, Jingwen Ou, Gail C. Murphy, and Emerson
Murphy-Hill. 2010. A degree-of-knowledge model to capture source code
familiarity. In Proceedings of the 32nd ACM/IEEE International
Conference on Software Engineering - Volume 1 (ICSE '10), Vol. 1. ACM,
New York, NY, USA, 385-394.
- B. Dagenais, Harold Ossher, Rachel K.E. Bellamy, Martin P.
Robillard, and Jacqueline P. de Vries. Moving into a New Software
Project Landscape. In Proceedings of the 32nd ACM/IEEE International
Conference on Software Engineering, pages 275-284, May 2010.
- Andrew Begel and Beth Simon. 2008. Struggles of new college
graduates in their first software development job. In Proceedings of the
39th SIGCSE technical symposium on Computer science education (SIGCSE
'08). ACM, New York, NY, USA, 226-230.
- Awareness
- Biehl, J. T., Czerwinski, M., Smith, G., and Robertson, G. G.
2007. Fastdash: a visual dashboard for fostering awareness in software
teams. In Proceedings of the SIGCHI conference on Human factors in
computing systems. CHI '07.
- A. Sarma, D. Redmiles, and A. van der Hoek, Empirical Evidence
of the Benefits of Workspace Awareness in Software Configuration
Management, ACM SIGSOFT International Symposium on the Foundations of
Software Engineering, (FSE 16), Atlanta, Georgia, November 2008, pages
113-123.
- Olga Baysal, Reid Holmes, and Mike Godfrey. No Issue Left Behind: Reducing Information Overload in Issue Tracking. FSE 2014. [DOI]
- Reid Holmes and Robert J. Walker. Customized Awareness:
Recommending Relevant External Change Events. In Proceedings of the
International Conference on Software Engineering (ICSE). 2010. 465-474.
- Christoph Treude and Margaret-Anne Storey. 2010. Awareness 2.0:
staying aware of projects, developers and tasks using dashboards and
feeds. In Proceedings of the 32nd ACM/IEEE International Conference on
Software Engineering - Volume 1 (ICSE '10), Vol. 1. ACM, New York, NY,
USA, 365-374.
- Y. Brun, R. Holmes, M. D. Ernst, and D. Notkin (2011),
"Proactive Detection of Collaboration Conflicts", In Proceedings of the
8th Joint Meeting of the European Software Engineering Conference and
ACM SIGSOFT Symposium on the Foundations of Software Engineering
(ESEC/FSE11).
- Leif Singer, Fernando Marques Figueira Filho, Margaret-Anne D.
Storey. Software engineering at the speed of light: how developers stay
current using twitter. ICSE 2014
- Information needs
- Ko, DeLine and Venolia. Information needs in collocated software development teams. in Proc. of ICSE 2007.
- Sillito, Murphy and De Volder. Questions programmers ask during software evolution tasks. in Proc. of FSE, 2006.
- Thomas Fritz and Gail C. Murphy. 2010. Using information
fragments to answer the questions developers ask. In Proceedings of the
32nd ACM/IEEE International Conference on Software Engineering - Volume 1
(ICSE '10), Vol. 1. ACM, New York, NY, USA, 175-184.
- Cubranic, Murphy, Singer, and Booth. Hipikat: a project memory
for software development. IEEE Transactions on Software Engineering,
vol.31, no.6, pp. 446- 465, June 2005.
- Reid Holmes and Andrew Begel. Deep Intellisense: A Tool for
Rehydrating Evaporated Information. In Proceedings of the Working
Conference on Mining Software Repositories, 2008. 23-26.
- Andrew Begel, Yit Phang Khoo, Thomas Zimmermann: Codebook:
discovering and exploiting relationships in software repositories.
ICSE2010: 125-134.
- Reuse
- Yunwen Ye and Gerhard Fischer. 2002. Supporting reuse by
delivering task-relevant and personalized information. In Proceedings of
the 24th International Conference on Software Engineering (ICSE '02).
ACM, New York, NY, USA, 513-523.
- Mary Beth Rosson and John M. Carroll. 1996. The reuse of uses
in Smalltalk programming. ACM Trans. Comput.-Hum. Interact. 3, 3
(September 1996), 219-253.
- A. Sen. The role of opportunism in the software design reuse process. IEEE TSE, vol. 23, no. 7, pp. 418--436, 1997.
- Reid Holmes and Robert J. Walker. Supporting the investigation
and planning of pragmatic reuse tasks. In Proceedings of the
International Conference on Software Engineering (Minneapolis, MN, USA.
May 25, 2007). ICSE '07.
- Steven P. Reiss: Semantics-based code search. ICSE pp. 243-253, 2009.
- Code search
- David Mandelin, Lin Xu, Rastislav Bodik, and Doug Kimelman.
2005. Jungloid mining: helping to navigate the API jungle. In
Proceedings of the 2005 ACM SIGPLAN conference on Programming language
design and implementation (PLDI '05). ACM, New York, NY, USA, 48-61.
- Holmes, R. and Murphy, G. C. 2005. Using structural context to
recommend source code examples. In Proceedings of the 27th international
Conference on Software Engineering (St. Louis, MO, USA. May 18, 2005).
ICSE '05. ACM Press, New York, NY, 117-125.
- Suresh Thummalapenta and Tao Xie. 2007. Parseweb: a programmer
assistant for reusing open source code on the web. In Proceedings of the
twenty-second IEEE/ACM international conference on Automated software
engineering (ASE '07). ACM, New York, NY, USA, 204-213.
- Erik Linstead, Sushil Bajracharya, Trung Ngo, Paul Rigor,
Cristina Lopes, and Pierre Baldi. Sourcerer: mining and searching
internet-scale software repositories. Data Minining and Knowledge
Discovery. 2009. [Springer]
- Siddharth Subramanian, Laura Inozemtseva, Reid Holmes. Live API documentation. ICSE 2014
- Understanding Code
- Martin P. Robillard, Wesley Coelho, and Gail C. Murphy. How
Effective Developers Investigate Source Code: An Exploratory Study. IEEE
Transactions on Software Engineering, 30(12):889-903, December 2004.
- Andrew J. Ko, Robert DeLine, and Gina Venolia, Information
Needs in Collocated Software Development Teams, in ICSE '07: Proceedings
of the 29th international conference on Software Engineering, IEEE
Computer Society, Washington, DC, USA, May 2007.
- Jonathan Sillito, Gail C. Murphy and Kris De Volder. Asking and
Answering Questions during a Programming Change Task. In IEEE
Transactions on Software Engineering. 2008.
- Jamie Starke, Chris Luce, Jonathan Sillito. Searching and Skimming: An Exploratory Study. In Proceedings of ICSM 2009.
- Annie T. T. Ying, Martin P. Robillard. Selection and presentation practices for code example summarization. FSE 2014.
- Traversing relationships
- de Alwis, Murphy and Robillard. A comparative study of three program exploration tools. ICPC 2007.
- de Alwis, GC Murphy (2008). Answering Conceptual Queries with
Ferret. In Proceedings of the International Conference on Software
Engineering (ICSE), Leipzig, Germany.
- D. Janzen and K. D. Volder. Navigating and querying code
without getting lost. In Proc. International Conf. Aspect-Oriented
Softw. Development, pages 178–187. ACM, 2003.
- Martin P. Robillard and Gail C. Murphy. Representing Concerns
in Source Code. ACM Transactions on Software Engineering and
Methodology, 16(1):1-38, February 2007.
- Reid Holmes and Robert J. Walker. Systematizing Pragmatic Software Reuse. TOSEM 2012. [DOI]
- Gail C. Murphy, David Notkin, and Kevin J. Sullivan. Software
Reflexion Models: Bridging the Gap between Design and Implementation.
IEEE Transactions on Software Engineering, 27
- Janice Singer, Robert Elves, Margaret-Anne D. Storey:
NavTracks: Supporting Navigation in Software Maintenance. ICSM 2005:
325-334.
- DeLine, R.; Czerwinski, M.; Robertson, G.; , "Easing program
comprehension by sharing navigation data," Visual Languages and
Human-Centric Computing, 2005 IEEE Symposium on , vol., no., pp. 241-
248, 20-24 Sept. 2005
- Program comprehension
- Soloway, Elliot; Ehrlich, Kate; , "Empirical Studies of
Programming Knowledge," Software Engineering, IEEE Transactions on ,
vol.SE-10, no.5, pp.595-609, Sept. 1984.
- Storey, Margaret-Anne (2005) Theories, Methods, and Tools in
Program Comprehension: Past, Present, and Future. Proceedings of the
13th International Workshop on Program Comprehension, pp. 181-191
- Mayrhauser, A. and Vans, A. (1993) From Program Comprehension
to Tool Requirements for an Industrial Environment. IEEE Workshop on
Program Comprehension
- Brooks, R. (1983) Towards a theory of the comprehension of computer programs. International Journal of Man-Machine Studies
- Mik Kersten and Gail C. Murphy. 2006. Using task context to
improve programmer productivity. In Proceedings of the 14th ACM SIGSOFT
international symposium on Foundations of software engineering (SIGSOFT
'06/FSE-14). ACM, New York, NY, USA, 1-11.
- Margaret-Anne D. Storey, Jody Ryall, Janice Singer, Del Myers,
Li-Te Cheng, Michael J. Muller: How Software Developers Use Tagging to
Support Reminding and Refinding. IEEE Trans. Software Eng. 35(4):
470-483 (2009).
- David Röthlisberger et. al. Exploiting Dynamic Information in
IDEs Improves Speed and Correctness of Software Maintenance Tasks. IEEE
TSE. April 2011. [DOI]
- Reid Holmes and David Notkin. Identifying Program, Test, and
Environmental Changes That Affect Behaviour. In Proceedings of the
International Conference on Software Engineering (ICSE). 2011. 371-380.
- Software visualization
- Emerson Murphy-Hill, Gail C. Murphy. Recommendation Delivery. Recommendation Systems in Software Engineering, 2013. [Book Chapter]
- B.A. Price, R.M. Baecker, and I.S. Small (1993), “A
Principled Taxonomy of Software Visualization,†J. Visual Languages
and Computing, vol. 4, no. 3, pp. 211-266, 1993.
- Baecker, R., DiGiano, C., and Marcus, A., “Software
Visualization for Debugging.†Communications of the ACM, 1997. 40(4):
pp. 44-54.
- Richard Wettel, Michele Lanza, Romain Robbes. Software Systems as Cities: A Controlled Experiment. ICSE 2011.
- Stephen G. Eick , Joseph L. Steffen , Eric E. Sumner.
Seesoft-A tool for Visualizing Line Oriented Software Statistics. TSE
1992.
- Storey, Muller. Manipulating and documenting software structures using SHriMP views. ICSM 1995.
- Andrew Bragdon, et. al.. Code Bubbles: Rethinking the User
Interface Paradigm of Integrated Development Environments. Proceedings
of the 32nd International Conference on Software Engineering (2010).
- Refactoring
- Zhenchang Xing, Eleni Stroulia. (2006). Refactoring practice:
How it is and how it should be supported: An Eclipse case study. ICSM
2006.
- Emerson Murphy-Hill and Andrew P. Black. Breaking the Barriers
to Successful Refactoring: Observations and Tools for Extract Method.
International Conference on Software Engineering. 2008.
- Emerson Murphy-Hill, Chris Parnin, Andrew P. Black. How we
refactor, and how we know it. In ICSE '09: Proceedings of the 2009 IEEE
31st International Conference on Software Engineering (2009), pp.
287-297.
- Marat Boshernitsan, Susan L. Graham, and Marti A. Hearst.
Aligning development tools with the way programmers think about code
changes. In CHI ’07: Proceedings of the SIGCHI Conference on Human
Factors in Computing Systems, pages 567–576.
- Code Review
- Alberto Bacchelli and Christian Bird. Expectations, Outcomes, and Challenges of Modern Code Review. ICSE 2013. [PDF]
- Peter Rigby and Christian Bird. Convergent Software Peer Review Practices. FSE 2013. [PDF]
- Miryung Kim and David Notkin. Discovering and Representing Systematic Code Changes. ICSE09, 309-319.
- Z. Xing and E. Stroulia, "UMLDiff: an algorithm for
object-oriented design differencing," Proceedings of the 20th IEEE/ACM
international Conference on Automated software engineering, p. 54–65,
2005.
- Andrew Sutherland, Gina Venolia. Can peer code reviews be exploited for later information needs? ICSE 2009. [IEEE]
- Tianyi Zhang; Myoungkyu Song; Joseph Pinedo; Miryung Kim. "Interactive Code Review for Systematic Changes". ICSE 2015
- Reporting and triaging bugs
- Ko, A. J. and Chilana P. (2010). How Power Users Help and
Hinder Open Bug Reporting. ACM Conference on Human Factors in Computing
Systems (CHI), Atlanta, GA, 1665-1674.
- Philip J. Guo, Thomas Zimmermann, Nachiappan Nagappan, Brendan
Murphy. Characterizing and Predicting Which Bugs Get Fixed: An Empirical
Study of Microsoft Windows. In ICSE, 2010.
- Nicolas Bettenburg, Sascha Just, Adrian Schroter, Cathrin
Weiss, Rahul Premraj, Thomas Zimmermann. What Makes a Good Bug Report?.
In FSE, 2008.
- Philip J. Guo, Thomas Zimmermann, Nachiappan Nagappan, Brendan
Murphy. "Not My Bug!" and Other Reasons for Software Bug Report
Reassignments. In CSCW, 2011.
- Dane Bertram, Amy Voida, Saul Greenberg, Robert Walker.
Communication, Collaboration, and Bugs: The Social Nature of Issue
Tracking in Small, Collocated Teams. CSCW 2010.
- Anvik, J., Hiew, L., and Murphy, G.C. (2006). Who should fix this bug? Proc. ICSE 2006, ACM Press 2006.
- Olga Baysal, Oleksii Kononenko, Reid Holmes, and Michael Godfrey. "The Influence of Non-Technical Factors on Code Review". WCRE 2013
- Debugging Tools
- Brittany Johnson, Yoonki Song, Emerson R. Murphy-Hill, Robert
W. Bowdidge. Why don't software developers use static analysis tools to
find bugs? ICSE 2013. [ACM DL]
- Kıvanç Muşlu, Yuriy Brun, Reid Holmes, Michael D. Ernst, and
David Notkin. Speculative Analysis of Integrated Development Environment
Recommendations. OOPSLA 2012. [DOI]
- Andrew J. Ko. Asking and Answering Questions about the Causes
of Software Behavior. Dissertation, Carnegie Mellon University. See only
Section 2.3. “Program understanding tools, p24-33 for a review of
debugging tools.
- Henry Lieberman and Christopher Fry. 1995. Bridging the gulf
between code and behavior in programming. In Proceedings of the SIGCHI
conference on Human factors in computing systems (CHI '95), 480-486.
- Bjoern Hartmann, Daniel MacDougall, Joel Brandt, Scott R.
Klemmer. What Would Other Programmers Do? Suggesting Solutions to Error
Messages. CHI: ACM Conference on Human Factors in Computing Systems,
Atlanta, GA, 2010.
- Shay Artzi, Sunghun Kim, and Michael D. Ernst. ReCrash: Making
software failures reproducible by preserving object states. ECOOP 2008. [PDF]
- Pull-based Software Development
- Gousios, Pinzger, Deursen. "An exploratory study of the pull-based software development model". ICSE 2014
- Bird, Christian and Rigby, Peter C. and Barr, Earl T. and Hamilton, David J. and German, Daniel M. and Devanbu, Prem "The promises and perils of mining git". MSR 2009
- Georgios Gousios; Andy Zaidman; Margaret-Anne Storey; Arie van Deursen "Work Practices and Challenges in Pull-Based Development: The Integrator's Perspective". ICSE 2015
- Kalliamvakou, Eirini and Gousios, Georgios and Blincoe, Kelly and Singer, Leif and German, Daniel M. and Damian, Daniela "The promises and perils of mining GitHub". MSR 2014
- Eirini Kalliamvakou; Daniela Damian; Kelly Blincoe; Leif Singer; Daniel German. "Open Source-Style Collaborative Development Practices in Commercial Projects Using GitHub". ICSE 2015
- J. Tsay, L. Dabbish, and J. Herbsleb "Influence of social and technical factors for evaluating contribution in GitHub". ICSE 2014
- Jason Tsay, Laura Dabbish, James Herbsleb "Let's talk about it: evaluating contributions through discussion in GitHub". FSE 2014
- Software Analytics
- Andrew Begel, Thomas Zimmermann "Analyze this! 145 questions for data scientists in software engineering" ICSE 2014.
- Emerson Murphy-Hill, Thomas Zimmermann, Nachiappan Nagappan "Cowboys, ankle sprains, and keepers of quality: how is video game development different from software development?". ICSE