Course Readings

CS 290G - Topics in Software Engineering - Winter 2005

Software Evolution

Week 1 - Software Evolution Introduction (1)

David L. Parnas, "Software Aging," Proc. 16th Int'l Conference on Software Engineering (ICSE-16), Sorrento, Italy, 1994, pp. 279-287.

Week 2 - Software Evolution Introduction (2)

Stephen G. Eick, Todd L. Graves, Alan F. Karr, J. S. Marron, Audris Mockus, "Does Code Decay? Assessing the Evidence from Change Management Data," IEEE Trans. on Software Engineering, Vol. 27, No. 1, January 2001, pp. 1-12.

M. M. Lehman, "Rules and Tools for Software Evolution Planning and Management,"Proc. FEAST 2000 Workshop, Imperial College, London, July 10-12, 2000.

Audris Mockus, Roy T. Fielding, James D. Herbsleb, "Two Case Studies of Open Source Software Development: Apache and Mozilla," ACM Trans. on Software Engineering and Methodology, Vol. 11, No. 3, July 2002, pp. 309-346.

Week 3 - Mining Software Configuration Management Repositories

Les Gasser, Gabriel Ripoche, Robert J. Sandusky, "Research Infrastructure for Empirical Science of F/OSS," Proc. Int'l Workshop on Mining Software Repositories (MSR 2004), May, 2004, Edinburgh, Scotland.

Michael Fischer, Martin Pinzger, Harald Gall, "Populating a Release History Database from Version Control and Bug Tracking Systems," in Proc. 2003 Int'l Conference on Software Maintenance (ICSM'03), September, 2003, pp. 23-32.

Thomas Zimmermann, Peter Weißgerber, "Preprocessing CVS Data for Fine-Grained Analysis," in Proc. Int'l Workshop on Mining Software Repositories (MSR 2004), Edinburgh, Scotland, May, 2004.

Daniel M. German, "Mining CVS repositories, the softChange experience," in Proc. Int'l Workshop on Mining Software Repositories (MSR 2004), Edinburgh, Scotland, May, 2004.

Week 4 - History-Guided Understanding (1)

Michael Godfrey, Xinyi Dong, Cory Kasper, Lijie Zou, "Four Interesting Ways in Which History Can Teach Us About Software," in Proc. Int'l Workshop on Mining Software Repositories (MSR 2004), Edinburgh, Scotland, May, 2004.

Davor Cubranic, Gail C. Murphy, "Hipikat: Recommending Pertinent Software Development Artifacts," in Proc. 2003 Int'l Conference on Software Engineering (ICSE 2003), Portland, Oregon, pp. 408-418.

Thomas Zimmermann, Peter Weißgerber, Stephan Diehl, Andreas Zeller, "Mining Version Histories to Guide Software Changes," in Proc. 2004 Int'l Conference on Software Engineerng (ICSE 2004), Edinburgh, Scotland, pp. 563-572.

Week 5 - History-Guided Understanding (2)

Harald Gall, Mehdi Jazayeri, Jacek Krajewski, "CVS Release History Data for Detecting Logical Couplings," in Proc. Sixth Int'l Workshop on Principles of Software Evolution (IWPSE'03), 2003.

Qiang Tu, Michael W. Godfrey, "An Integrated Approach for Studying Architectural Evolution," in Proc. 2002 Intl. Workshop on Program Comprehension (IWPC 2002), Paris, June 2002.

Lijie Zou and Michael W. Godfrey, "Detecting Merging and Splitting Using Origin Analysis", in Proc. 2003 Working Conference on Reverse Engineering (WCRE 2003), Victoria, BC, November 2003.

Week 6 - Visualization

Stephen G. Eick, Todd L. Graves, Alan F. Karr, Audris Mockus, Paul Schuster, "Visualizing Software Changes," IEEE Trans. Software Engineering, Vol. 28, No. 4, April 2002, pp. 396-412.

Harald Gall, Mehdi Jazayeri, and Claudio Riva, "Visualizing Software Release Histories: The Use of Color and Third Dimension," in Proc. International Conference on Software Maintenance (ICSM), Oxford, England, August/September 1999, pp. 99-108.

John Froehlich, Paul Dourish, "Unifying Artifacts and Activities in a Visual Tool for Distributed Software Development Teams," in Proc. International Conference on Software Engineering (ICSE 2004), Edinburgh, Scotland, pp. 387-396.

Jingwei Wu, Richard C. Holt, Ahmed E. Hassan, "Exploring Software Evolution Using Spectrographs," in Proc. 2004 Working Conference on Reverse Engineering (WCRE 2004), Nov. 8-12, 2004, Delft, Netherlands.

Week 7 - Code Clones

Miryung Kim, Lawrence Bergman, Tessa Lau, and David Notkin, “An Ethnographic Study of Copy and Paste Programming Practices in OOPL,” in Proc. Int'l Symposium on Empirical Software Engineering, August, 2004.

Bruno Laguë, Daniel Proulx, Ettore M. Merlo, Jean Mayrand, John Hudepohl, "Assessing the Benefits of Incorporating Function Clone Detection in a Development Process," in Proc. 1997 Int'l Conference on Software Maintenance, Bari, Italy, pp. 314-231.

Andrew Wallenstein, Nitin Jyoti, Junwei Li, Yun Yang, Arun Lakhotia, "Problems Creating Task-relevant Clone Detection Reference Data," in Proc. 2003 Working Conference on Reverse Engineering (WCRE 2003), Nov. 13-16, 2003, Victoria, Canada.

Week 8 - Dependency Evolution

Andy Podgurski, Lori Clarke, "A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance," IEEE Trans. on Software Engineering, Vol. 16, No. 9, Sept. 1990, pp. 965-979.

Jennifer Bevan, E. James Whitehead, Jr., "Identification of Software Instabilities," in Proc. 2003 Working Conference on Reverse Engineering (WCRE 2003), Nov. 13-16, 2003, Victoria, Canada.

Week 9 - Analysis Techniques

C. Nentwich, L. Capra, W. Emmerich, A. Finkelstein, "xlinkit: A Consistency Checking and Smart Link Generation Service," IEEE Trans. Internet Technology, Vol. 2, No. 2, May 2002, pp. 151-185.

Mary Jean Harrold, Brian Malloy, "A Unified Interprocedural Program Representation for a Maintenance Environment," IEEE Trans. Software Engineering, Vol. 19, No. 6, June 1993, pp. 584-593.

Week 10 - Evolution Case Studies

D. M. German, "Using Software Trails to Rebuild the Evolution of Software," Proc. Int'l Workshop on Evolution of Large-Scale Industrial Software Applications (ELISA), September, 2003.

Chris. F. Kemerer, Sandra Slaughter, "An Empirical Approach to Studying Software Evolution," IEEE Trans. Software Engineering, Vol. 25, No. 4, July/August 1999, pp. 493-509.

Last modified: 12/23/2004