CO77206 System Re-engineering

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 Tools

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 ) Tech. Rep. CMU/SEI-99-TR-010, Software Engineering Institute, Carnegie Mellon University, April 1999. 25

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

                                            Available at

9                                              Available in the library

10                                            Available at

11                                            Available at

12                                            Available at

13                                            Available at

14                                            Available at & Locally with CodeSurfer Installation in  MSc Lab.

17                                            Available with Imagix 4D Software in the Lab.

18                                            Available at

19                                            Available at

20                                            Available at

21                                            Available at & in the Library

24                                 Available at

25                                            Available at

26                                            Available at

27                                            Available online at