CO7206 System Re-engineering

Credits: 20

Convenor: Dr Mohammad El-Ramly

Semester: 1


Lectures:

36

Private Study:

90

Tutorials& Labs:

10 & 10 (as needed)

Total:

150

Assessment:

Coursework: 50%

3 hrs exam in Jan. 50%


Study Guide: click here              Course Outline and Reading List: click here  

Acknowledgement: The instructor is very grateful to GrammaTech, Inc. and Imagix Corporation for their contribution to the course by an academic license for their tools CodeSurfer and Imagix 4D, respectively.

Week 12 (8 Dec.):

Assignment 4 (8%) due on 18 Jan, 2004 at 11:59 pm   NEW

Quiz 3: Friday 12 Dec. / 2003  Sample Answer  NEW

Week 11 (1 Dec.):

Lab. 9: Source Code Transformation Using TXL 3  

Lecture notes - Clone Detection (Ira Baxter)  

Tutorial #6: Writing a TXL Program  

Lecture notes - Software Reengineering Management 2   Case Studies  

Week 10 (24 Nov.):

Lecture notes - Software Reengineering Management 1   Case Studies  

Lab 8: Source Code Transformation Using TXL 2  

Lecture notes - TXL 3   

Week 9 (17 Nov.):

Lab 7: Source Code Transformation Using TXL 1  

Lecture notes - TXL 2   

Lecture notes - TXL 1 (By Filippo Ricca) 

Lecture notes - Introduction to TXL (Jim Cordy) 

Lecture notes - Source Code Transformation 1 (By Filippo Ricca) 

Week 8 (10 Nov.):

Quiz 2: Friday 14 Nov. / 2003  Sample Answer  

Assignment 3 due on 28 Nov./2003 

Lab 6: Refactoring  

Lecture notes - Refactoring 3 (Bad Smells in Code M. Godfrey)  

Lecture notes - Refactoring 2 (An Example by M. Fowler)  pdf

Lecture notes - Refactoring 1 

Week 7 (3 Nov.):

Assignment 2 due (paper and presentation) on Friday, Nov 7th./2003 

Lab 5: Free lab for the students to try the tools presented earlier and finish their assignment 2. 

Tutorial #5: Software Complexity and Maintainability Metrics  

Lecture notes - Web-enabling Legacy Systems 2  

Lecture notes - Web-enabling Legacy Systems 1   

Week 6 (27 Oct.):

Mini-project  

Lab 4: Using Imagix 4D  

Tutorial #4 (Exercises on Slicing and PDG): This paper will be discussed in the class: "Using slicing to identify duplication in source code" by Komondoor and Horwitz.

Lecture notes - Complexity and Maintainability Metrics 2  

Lecture notes - Complexity and Maintainability Metrics 1  

Week 5 (20 Oct.):

Lab 3 & Assignment 2: Using Code Surfer  

Tutorial #3 (Data Flow Analysis, Dependence Graph, Program Dependence Graph)

Quiz 1: Thursday 23 Oct. / 2003  -   Sample Answer  NEW    

Lecture notes - Program Analysis 4  

Lecture notes - Program Analysis 3  

Week 4 (13 Oct.):

Lab 2: System Comprehension / Coding Style Exercise  

Tutorial #2 (Control Flow Graphs, Control Dependence Graphs, Dominance)

Lecture notes - Software Re-engineering (Ian Sommerville notes of chapter 28)  

Week 3 (6 Oct.):

Assignment 1

Lab 1: Code Reading Exercise

Tutorial #1 (Maintenance Case Study): A printed handout with the problem and solution will be given in the class 

Lecture notes - Program Analysis 2

Lecture notes - Program Analysis 1

Week 2 (29 Sep.):

Lecture notes - Software Change (Ian Sommerville notes of chapter 27)

Lecture notes - Legacy Systems (Ian Sommerville notes of chapter 26)

Lecture notes - Software Aging 

Week 1 (22 Sep.):

Lecture notes - Introduction

New Schedule: 

 

Lecture  

Tues

10:30

2:30

MSc Lab. 

 

Tutorial

Tues

2:30

3:30

MSc Lab.           - 3:30 to 4:30 Office Hour

 

Lecture

Wed

11:30

12:30

MSc Lab.           - 12:30 to 1:30 Office Hour

 

Lab  

Thu

2:30

3:30

MSc Lab.

 

Lecture

Fri

10:30

11:30

MSc Lab.