Course Outline and Reading List
This list is a working list. The items in red are the ones required so far.
1.
Legacy Systems and Software Aging
·
Software Aging
q John C. Munson, of the University of Idaho, believes that “Software Lives too Long”, IEEE Software 15(4), 1998 1
q Nicholas Zvegintzov, of the Software Management Network, disagrees, saying that “Software Should Live Longer”, IEEE Software 15(4), 1998. 2
q
David L. Parnas describes the phenomenon of “Software Aging”,
Proceedings of the 16 Int. Conf. on SE, 1994, pp 279-287. 3
·
Legacy Systems
q
Keith Bennett, “Legacy
Systems: Coping with Success”, 12(1), pp. 19-23, 1995. 4
q
Adolph, W.S. "Cash Cow in the Tar Pit: Reengineering a Legacy
System," IEEE Software, May 1996, pp. 41-47 5
q Ian Sommerville, “Legacy Systems”, Chapter 26 of Software Engineering, 6th Edition, 2001. 6
2.
Introduction to Software Evolution and Reengineering
·
Software Evolution and Maintenance
q
Ian Sommerville, Software Change, Chapter 27 of Software
Engineering, 6th Edition, 2001. 7
q L.K. Rierson, A systematic process for changing safety-critical software, In Proceedings of Digital Avionics Systems Conferences, 2000. Volume: 1 Page(s): 1B1/1-1B1/7 vol.1, 2000. 8
·
Software Reengineering
q
Ian Sommerville, Software Reengineering, Chapter 28 of
Software Engineering, 6th Edition, 2001. 9
3.
Reverse Engineering
·
Program Analysis Methods (Control Flow and Dependency Analysis,
Data Flow and Dependency Analysis, Slicing)
q DM. J. Harrold and G. Rothermel, “Notes on Representation and Analysis of Software” 10
q T. A. Corbi, “Program Understanding: Challenges for the 1990s”. IBM Systems Journal, 28(2), 1989. 11
·
Program Analysis and Visualization
q CodeSurfer Technology Overview: Dependence Graphs and Program Slicing, GrammmaTech Inc.12
q
Software
Inspection Using CodeSurfer, GrammmaTech Inc.. 13
q CodeSurfer User Guide and Technical Reference. 14
q Imagix Corporation, Imagix 4D User Manual, 2002. 17
·
Software Complexity and Maintenance Metrics
q Chapters 1 to 4 of: Arthur H. Watson and Thomas J. McCabe, Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric, NIST Special Publication 500-235, Computer Systems Laboratory, National Institute of Standards and Technology, Gaithersburg, MD, USA, 1996. 18
q Kurt D. Welker The Software Maintainability Index Revisited 19
q Software Engineering Institute, Halstead Complexity Measures 20
4.
Reengineering
·
Refactoring
q Martin Fowler. Chapter 1 of "Refactoring: improving the design of existing code". Addison Wesley. 1999 21
q
Other
Important Refactoring Resources.
·
Code Transformation
q The TXL Programming Language, Version 10.3
q
TXL
Page
·
Web Enabling
q Mohammad El-Ramly, Web-enabling Legacy Systems , Section 2.2 of Reverse Engineering Legacy User Interfaces Using Interaction Traces, Ph.D. Thesis, Department of Computing Science, University of Alberta, Canada, 2003. 24
5.
Reengineering Strategies and Management
·
Reengineering Management
q
John Bergey, Dennis Smith and Scott Tilley, Nelson Weiderman and Steven Woods. Why Reengineering Projects Fail,
(pdf
q John Bergey, Dennis Smith and Nelson Weiderman, DoD Legacy System Migration Guidelinesl, Technical Report CMU/SEI-99-TN-01, Software Engineering Institute, Carnegie Mellon University, 1999. 26
6. Additional Interesting Topics (if time permits)
· Clone Detection
q Ira D. Baxter, Andrew Yahin, Leonardo M. De Moura, Marcelo Sant'Anna, Lorraine Bier: Clone Detection Using Abstract Syntax Trees. ICSM 1998: 368-377
· Architecture Recovery
· Clustering
--------------------------------------------------------------------------------------------------------------
1,2,3,4,5,6,7 Available in the library
8 Available at http://av-info.faa.gov/software/Other_Documents/safe-crit.rtf
9
Available in the library
10 Available at www-users.cs.umn.edu/~dliang/CSci8980/Readings/rep_and_analy.pdf
11 Available at http://www.research.ibm.com/journal/sj/282/ibmsj2802H.pdf
12 Available at http://www.grammatech.com/research/slicing/slicingWhitePaper.pdf
13 Available at http://www.grammatech.com/research/papers/AndersonTeitelbaum.pdf
14 Available at http://www.grammatech.com/csurf-doc/CodeSurfer.html#manual.html & Locally with CodeSurfer Installation in MSc Lab.
17
Available with Imagix 4D Software in the Lab.
18
Available at
19 Available at http://www.stsc.hill.af.mil/crosstalk/2001/08/welker.html
20 Available at http://www.sei.cmu.edu/str/descriptions/halstead_body.html
21 Available at http://www.cs.unc.edu/~stotts/COMP204/refactor/chap1.html & in the Library
24 Available at http://www.cs.le.ac.uk/~mer14/El-RamlyCh1-3.ps
25
Available at www.sei.cmu.edu/pub/documents/99.reports/pdf/99tr010.pdf
26
Available at www.sei.cmu.edu/pub/documents/99.reports/pdf/99tn013.pdf
27
Available online at www.tecn.upf.es/~jbisbal/publications/IEEESoftware16_5.pdf