Lectures
Chapter: Introduction
Suggested Reading:
- S. Demeyer, S.Ducasse, O.Nierstrasz – Object-Oriented Reengineering Patterns, Chapter 1 (pg. 1-14)
- M.M Lehman – Laws of Software Evolution Revisited (Section 1 and 2)
Chapter: Reverse Engineering
Suggested Reading:
- S. Demeyer, S.Ducasse, O.Nierstrasz – Object-Oriented Reengineering Patterns, Chapter 2-5 (pg. 17-117)
- M.Lanza, R.Marinescu - Object-Oriented Metrics in Practice, Chapter 3 (pg. 23-44)
- M.Lanza - The Evolution Matrix: Recovering Software Evolution using Software Visualization Techniques
Chapter: Detection of Design Problems
Suggested Reading:
- M.Lanza, R.Marinescu - Object-Oriented Metrics in Practice, Chapter 4 (pg. 45-72)
- M. Fowler – Refactorings, Chapter 3 (pg. 75-87)
Chapter: History Analysis - 1
Suggested Reading:
- T.Girba - Modeling History to Understand Software Evolution, Chapter 3 (Section 3.5); 4 (Sect. 4.1-4.3) ; 5 (Section 5.3.1, 5.4.1, 5.5) ; 7 (Section 7.3)
- M.Balint, T.Girba, R.Marinescu – How Developers Copy
- R.Marinescu, C.Marinescu – Are the clients of flawed classes (also) defect prone?
Chapter: History Analysis - 2
Suggested Reading:
Chapter: Restructuring
Suggested Reading:
- S. Demeyer, S.Ducasse, O.Nierstrasz – Object-Oriented Reengineering Patterns, Chapter 9 & Chapter 10
- M. Fowler – Refactorings, Chapter 10 -Rename Method (pg. 273-274)
Chapter: Empirical Software Engineering
Chapter: Empirical Software Engineering (Ownership)
Chapter: Towards the art of readable code
Chapter: Genetic Programming
The old SQA lectures can be found here.