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 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  http://www.mccabe.com/nist/download/nist235r.zip

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

                                                and www.comp.dit.ie/bwu/IEEESoftware16_5.pdf