Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Paper Review
on
Towards a Better Understanding of Software Evolution:
An Empirical Study on Open Source Software
Presented By
Md. Shafiuzzaman
MSSE 0310
Introduction of the Paper
• Authors: Guowu Xie, Jianbo Chen, Iulian Neamtiu, Department of Computer
Science and Engineering, University of California, USA
• Published in: IEEE International Conference on Software Maintenance
• Publication Year: 2009
Area of Inquiry
 Software Evolution Process
Verify existing laws of software evolution
Analyse evolution patterns
Research Questions
• Verify whether existing software evolution models are sufficient enough to
characterize the software evolution process
Lehman’s Eight Laws (1970)
i. Continuing Change
ii. Increasing Complexity
iii. Self Regulation
iv. Conservation of Organizational Stability
v. Conservation of Familiarity
vi. Continuing Growth
vii. Declining Quality
viii. Feedback System
Applications
• 7 open source project and 653 official releases
I - Continuing Change
• A program must continually adapt to its environment, otherwise it becomes
progressively less useful
II - Increasing Complexity
• A program evolves, its complexity increases
III - Self Regulation
• Evolution of large software systems is a self-regulating process
 Self Regulation: The system adjusts its size throughout its lifetime
IV - Conservation of Organizational Stability
• Productive output tends to stay constant throughout a program’s life time
V - Conservation of Familiarity
• Incremental system growth tends to decline source code familiarity
VI - Continuing Growth
• Programs usually grow over time to accommodate pressure for change and
satisfy increasing set of requirements
• LOC
• Number of modules
• Number of definitions (types, global variables, and functions)
VII - Declining Quality
• Software quality appears to be declining over time
• Quality metric: defect density (defect/LOC)
VIII - Feedback System
• System growth slows down over time
Observations
• Laws I, II, III, and VI are confirmed
• Continuing Change
• Increasing Complexity
• Self Regulation
• Continuing Growth
• ‘Conservation of Organizational Stability, Conservation of Familiarity, Declining Quality,
Feedback System’ can’t be validated
Research Weaknesses and Limitations
• Lack of process data for the open source projects
• Limited to evolution aspects of Lehman’s laws

More Related Content

Software Evolution

  • 1. Paper Review on Towards a Better Understanding of Software Evolution: An Empirical Study on Open Source Software Presented By Md. Shafiuzzaman MSSE 0310
  • 2. Introduction of the Paper • Authors: Guowu Xie, Jianbo Chen, Iulian Neamtiu, Department of Computer Science and Engineering, University of California, USA • Published in: IEEE International Conference on Software Maintenance • Publication Year: 2009
  • 3. Area of Inquiry  Software Evolution Process Verify existing laws of software evolution Analyse evolution patterns
  • 4. Research Questions • Verify whether existing software evolution models are sufficient enough to characterize the software evolution process
  • 5. Lehman’s Eight Laws (1970) i. Continuing Change ii. Increasing Complexity iii. Self Regulation iv. Conservation of Organizational Stability v. Conservation of Familiarity vi. Continuing Growth vii. Declining Quality viii. Feedback System
  • 6. Applications • 7 open source project and 653 official releases
  • 7. I - Continuing Change • A program must continually adapt to its environment, otherwise it becomes progressively less useful
  • 8. II - Increasing Complexity • A program evolves, its complexity increases
  • 9. III - Self Regulation • Evolution of large software systems is a self-regulating process  Self Regulation: The system adjusts its size throughout its lifetime
  • 10. IV - Conservation of Organizational Stability • Productive output tends to stay constant throughout a program’s life time
  • 11. V - Conservation of Familiarity • Incremental system growth tends to decline source code familiarity
  • 12. VI - Continuing Growth • Programs usually grow over time to accommodate pressure for change and satisfy increasing set of requirements • LOC • Number of modules • Number of definitions (types, global variables, and functions)
  • 13. VII - Declining Quality • Software quality appears to be declining over time • Quality metric: defect density (defect/LOC)
  • 14. VIII - Feedback System • System growth slows down over time
  • 15. Observations • Laws I, II, III, and VI are confirmed • Continuing Change • Increasing Complexity • Self Regulation • Continuing Growth • ‘Conservation of Organizational Stability, Conservation of Familiarity, Declining Quality, Feedback System’ can’t be validated
  • 16. Research Weaknesses and Limitations • Lack of process data for the open source projects • Limited to evolution aspects of Lehman’s laws