SlideShare a Scribd company logo
1 of 16
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

What's hot

Software Engineering - Ch1
Software Engineering - Ch1Software Engineering - Ch1
Software Engineering - Ch1
Siddharth Ayer
 
User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15
koolkampus
 
Software maintenance
Software maintenance Software maintenance
Software maintenance
Rajeev Sharan
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
Ian Sommerville
 

What's hot (20)

Software Engineering by Pankaj Jalote
Software Engineering by Pankaj JaloteSoftware Engineering by Pankaj Jalote
Software Engineering by Pankaj Jalote
 
Software myths | Software Engineering Notes
Software myths | Software Engineering NotesSoftware myths | Software Engineering Notes
Software myths | Software Engineering Notes
 
Software Engineering - Ch1
Software Engineering - Ch1Software Engineering - Ch1
Software Engineering - Ch1
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
Software Maintenance
Software MaintenanceSoftware Maintenance
Software Maintenance
 
Software Process Improvement
Software Process ImprovementSoftware Process Improvement
Software Process Improvement
 
User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15
 
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costs
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
 
Real time and distributed design
Real time and distributed designReal time and distributed design
Real time and distributed design
 
Waterfall Model
Waterfall ModelWaterfall Model
Waterfall Model
 
Software maintenance
Software maintenance Software maintenance
Software maintenance
 
Chapter 2 software process models
Chapter 2   software process modelsChapter 2   software process models
Chapter 2 software process models
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
 
component based development model
component based development modelcomponent based development model
component based development model
 
System testing
System testingSystem testing
System testing
 
Formal Approaches to SQA.pptx
Formal Approaches to SQA.pptxFormal Approaches to SQA.pptx
Formal Approaches to SQA.pptx
 
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 

Viewers also liked (7)

A presentation on software crisis
A presentation on software crisisA presentation on software crisis
A presentation on software crisis
 
Tales from a radically polyglot team
Tales from a radically polyglot teamTales from a radically polyglot team
Tales from a radically polyglot team
 
Myths in Software Requirements
Myths in Software RequirementsMyths in Software Requirements
Myths in Software Requirements
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software Prototyping
 
EVOLUTION OF SYSTEM
EVOLUTION OF SYSTEM EVOLUTION OF SYSTEM
EVOLUTION OF SYSTEM
 
Software Myths
Software MythsSoftware Myths
Software Myths
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
 

Similar to Software Evolution

SUMSEM-2021-22_ITE2015_TH_VL2021220701427_Reference_Material_I_20-07-2022_2.3...
SUMSEM-2021-22_ITE2015_TH_VL2021220701427_Reference_Material_I_20-07-2022_2.3...SUMSEM-2021-22_ITE2015_TH_VL2021220701427_Reference_Material_I_20-07-2022_2.3...
SUMSEM-2021-22_ITE2015_TH_VL2021220701427_Reference_Material_I_20-07-2022_2.3...
HarshMangal20
 
system development life cycle
system development life cycle system development life cycle
system development life cycle
Sumit Yadav
 
Software Evolution_Se lect3 btech
Software Evolution_Se lect3 btechSoftware Evolution_Se lect3 btech
Software Evolution_Se lect3 btech
IIITA
 
2 approaches to system development
2 approaches to system development2 approaches to system development
2 approaches to system development
cymark09
 
Cibm workshop2 chapter ten
Cibm  workshop2 chapter tenCibm  workshop2 chapter ten
Cibm workshop2 chapter ten
Shaheen Khan
 

Similar to Software Evolution (20)

SUMSEM-2021-22_ITE2015_TH_VL2021220701427_Reference_Material_I_20-07-2022_2.3...
SUMSEM-2021-22_ITE2015_TH_VL2021220701427_Reference_Material_I_20-07-2022_2.3...SUMSEM-2021-22_ITE2015_TH_VL2021220701427_Reference_Material_I_20-07-2022_2.3...
SUMSEM-2021-22_ITE2015_TH_VL2021220701427_Reference_Material_I_20-07-2022_2.3...
 
Software evolution and maintenance basic concepts and preliminaries
Software evolution and maintenance   basic concepts and preliminariesSoftware evolution and maintenance   basic concepts and preliminaries
Software evolution and maintenance basic concepts and preliminaries
 
system development life cycle
system development life cycle system development life cycle
system development life cycle
 
Software Evolution_Se lect3 btech
Software Evolution_Se lect3 btechSoftware Evolution_Se lect3 btech
Software Evolution_Se lect3 btech
 
Lesson 9 system develpment life cycle
Lesson 9 system develpment life cycleLesson 9 system develpment life cycle
Lesson 9 system develpment life cycle
 
2 approaches to system development
2 approaches to system development2 approaches to system development
2 approaches to system development
 
When agility meets software quality
When agility meets software qualityWhen agility meets software quality
When agility meets software quality
 
Unit 1
Unit 1Unit 1
Unit 1
 
26.1a.Introduction to DEVOPS_v2.pptx
26.1a.Introduction to DEVOPS_v2.pptx26.1a.Introduction to DEVOPS_v2.pptx
26.1a.Introduction to DEVOPS_v2.pptx
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03
 
System development
System developmentSystem development
System development
 
Recent and-future-trends spm
Recent and-future-trends spmRecent and-future-trends spm
Recent and-future-trends spm
 
Information Systems For Management Strategies
Information Systems For Management StrategiesInformation Systems For Management Strategies
Information Systems For Management Strategies
 
Characterizing the Software Process: A Maturity Framework
Characterizing the Software Process:  A Maturity FrameworkCharacterizing the Software Process:  A Maturity Framework
Characterizing the Software Process: A Maturity Framework
 
Cibm workshop2 chapter ten
Cibm  workshop2 chapter tenCibm  workshop2 chapter ten
Cibm workshop2 chapter ten
 
Himanshu
HimanshuHimanshu
Himanshu
 
system development life cycle
system development life cyclesystem development life cycle
system development life cycle
 
Agile DevOps: Environment Automation
Agile DevOps: Environment AutomationAgile DevOps: Environment Automation
Agile DevOps: Environment Automation
 
Implementation of MIS and its methods
Implementation of MIS and its methodsImplementation of MIS and its methods
Implementation of MIS and its methods
 

More from Md. Shafiuzzaman Hira

More from Md. Shafiuzzaman Hira (20)

Introduction to Web development
Introduction to Web developmentIntroduction to Web development
Introduction to Web development
 
Software measurement and estimation
Software measurement and estimationSoftware measurement and estimation
Software measurement and estimation
 
Why do we test software?
Why do we test software?Why do we test software?
Why do we test software?
 
Software Requirements engineering
Software Requirements engineeringSoftware Requirements engineering
Software Requirements engineering
 
Software architectural patterns
Software architectural patternsSoftware architectural patterns
Software architectural patterns
 
Class based modeling
Class based modelingClass based modeling
Class based modeling
 
Class diagram
Class diagramClass diagram
Class diagram
 
State diagram
State diagramState diagram
State diagram
 
Use case Modeling
Use case ModelingUse case Modeling
Use case Modeling
 
User stories
User storiesUser stories
User stories
 
Dev ops
Dev opsDev ops
Dev ops
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Software Process Model
Software Process ModelSoftware Process Model
Software Process Model
 
Introduction to Software Engineering Course
Introduction to Software Engineering CourseIntroduction to Software Engineering Course
Introduction to Software Engineering Course
 
C files
C filesC files
C files
 
C pointers
C pointersC pointers
C pointers
 
C structures
C structuresC structures
C structures
 
How to Create Python scripts
How to Create Python scriptsHow to Create Python scripts
How to Create Python scripts
 
Regular expressions using Python
Regular expressions using PythonRegular expressions using Python
Regular expressions using Python
 
Password locker project
Password locker project Password locker project
Password locker project
 

Recently uploaded

Recently uploaded (20)

WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in UgandaWSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in Uganda
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 

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