Here is a list of possible papers for this course. This list was adapted and modified from Latoza & Meyers' HASD course at CMU. If there is some other paper you would like to present that you think is relevant but is not on this list just send me mail and we can talk about it.
This list is a work in progress.
XXX: NSB
XXX: MMM
XXX: goto considered harmful
XXX: http://www.cis.gsu.edu/~mmoore/CIS3300/handouts/SciAmSept1994.html
- 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.
- Co-located 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.
- Global Software Engineering
- 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.
- 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.
- 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).
- 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.
- XXX: Sourcer
- 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.
- 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.
- XXX: gilligan
- 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
- 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.
- XXX: code cities (ICSE)
- XXX: seesoft
- XXX: shrimpViews
- 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. In ICSM ’06: Proceedings of the 22nd IEEE International Conference on Software Maintenance.
- 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
- 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.
- XXX: venolia & sutherland?
- 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), 361–370.
- Debugging Tools
- 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.
- XXX: recrash