SlideShare une entreprise Scribd logo
1  sur  24
SPM-UNIT - V
SOFTWARE MAINTENANCE
Prof. Kanchana Devi
Software Maintenance - Introduction
Prof. Kanchana Devi
2
 Modification of a software product after delivery to:
 Correct faults
 Improve performance or other attributes.
 Adapt to a change in the environment.
 A common work of maintenance is that it involves
fixing defects.
 Software maintenance is a very broad activity that
includes
 Error corrections
 Enhancements of capabilities
 Deletion of obsolete capabilities
 Optimization.
Resource: Wikipedia
Lehman’s Law
Prof. Kanchana Devi
3
 Maintenance is really evolutionary
development and that maintenance decisions
are aided by understanding what happens to
systems (and software) over time.
Resource: Wikipedia
Software Maintenance – Issues &
Side Effects
Prof. Kanchana Devi
4
 There are two main issues:
 Management Issues
 Technical Issues
 Management issues are:
 Alignment with customer priorities
 Staffing, which organization does maintenance
 Estimating costs.
 Technical issues are:
 Limited understanding
 Impact analysis
 Testing
 Maintainability measurement.
Resource: Wikipedia
Maintenance Activities &
Characteristics
Prof. Kanchana Devi
5
 Adaptive
 Modifying the system to cope with changes in the software
environment
 Perfective
 Implementing new or changed user requirements which
concern functional enhancements to the software
 Corrective
 Diagnosing and fixing errors, possibly ones found by users
 Preventive
 Increasing software maintainability or reliability to prevent
problems in the future
Prof. Kanchana Devi
6
Software Maintenance Planning
Prof. Kanchana Devi
7
 Software Maintenance is an integral part,
which requires an accurate maintenance plan.
 It should specify how users will request
modifications or report problems.
 The budget should include resource and cost
estimates.
 It is an admitted fact that approximately 60 to
70% effort is spent on maintenance phase of
software development life cycle.
Software Maintenance Processes
Prof. Kanchana Devi
8
 Software preparation and transition activities
 Creation of the maintenance plan;
 The preparation for handling problems
 The follow-up on product configuration management.
 The modification analysis process.
 The implementation of the modification.
 The process acceptance of the modification.
 The migration process is exceptional, and is not
part of daily maintenance tasks. (Platform Change)
 Finally, the last maintenance process, is the
retirement of a piece of software.
Reengineering
Prof. Kanchana Devi
9
Metrics for Source Code
Prof. Kanchana Devi
10
 There are some measures to calculate the
metrics:
 n1 = number of distinct operators appear in the
program
 n2 = number of distinct operands appear in the
program
 N1 = Total number of operator occurrences
 N2 = Total number of operand occurrences
Prof. Kanchana Devi
11
 n1, n2, N1, N2 - These measures are used to
develop expressions for
 The overall length
 Minimum volume for an algorithm
 The actual volume
 The program level
 Language level
 Other features
 Development effort
 Development time
 Even the projected number of faults in the software.
Prof. Kanchana Devi
12
 Length N
 N = n1 log2 n1 + n2 log2 n2
 Program Volume
 V = N log2 (n1+n2)
Software Reliability
Prof. Kanchana Devi
13
 Categorising and specifying the reliability
of software systems
 Informal Definition:
 Reliability is a measure of how well system users
think it provides the services they require.
 Probability of a software component will
produce an incorrect output
 Software can continue to operate after a bad
result
………
Prof. Kanchana Devi
14
 Software Reliability is the probability of failure-
free software operation for a specified period
of time in a specified environment.
 Software Reliability is also an important factor
affecting system reliability.
 It differs from hardware reliability in that it
reflects the “design perfection”, rather than
manufacturing perfection.
 The high complexity of software is the major
contributing factor of Software Reliability
problems.
Traditional Methods For Improving
Software Reliability
Prof. Kanchana Devi
15
 Three main techniques are used in industrial and
open source projects to improve software reliability:
 Manual Testing
 Code Reviews:
 Modifications are reviewed by experienced developers
before being committed to the code base.
 Coding Standards:
 Requiring that all developers adhere to a set of rules when
writing or maintaining code.
 Coding standards can improve source code readability,
making it easier to spot defects, and
 Ban the use of programming idioms that are arguably
dangerous.
Reliability Problems
Prof. Kanchana Devi
16
 They depend fundamentally on human
reasoning and judgments
 They do not provide guarantees
Measuring Reliability
Prof. Kanchana Devi
17
 A simple measure of reliability can be given as:
 MTBF = MTTF + MTTR , where
 MTBF is mean time between failures
 MTTF is mean time to fail
 MTTR is mean time to repair
Software Reliability Models
Prof. Kanchana Devi
18
 error seeding - estimates the number of errors in a program.
 Errors are divided into indigenous errors and induced (seeded) errors. The
unknown number of indigenous errors is estimated from the number of
induced errors and the ratio of the two types of errors obtained from the
testing data.
• Reliability growth
• Measures and predicts the improvement of reliability through the
testing process using a growth function to represent the process.
• Independent variables of the growth function could be time, number of
test cases (or testing stages) and
• The dependent variables can be reliability, failure rate or cumulative
number of errors detected.
Prof. Kanchana Devi
19
 Nonhomogeneous Poisson process (NHPP)
 provide an analytical framework for describing
the software failure phenomenon during testing.
 the main issue is to estimate the mean value
function of the cumulative number of failures
experienced up to a certain point in time.
 a key example of this approach is the series of
Musa models
Prof. Kanchana Devi
20
 A typical measure (failures per unit time) is the
failure intensity (rate) given as:
 where  = program CPU time (in a time shared
computer) or wall clock time (in an embedded
system).
)
],[infailuresof#
()(





 f
Prof. Kanchana Devi
21
 SR Growth models are generally “black box” -
no easy way to account for a change in the
operational profile
 Operational profile: description of the input
events expected to occur in actual software
operation – how it will be used in practice
 consequences are that we are unable to go from
test to field
Prof. Kanchana Devi
22
 Many models have been proposed, perhaps the
most prominent are:
 Musa Basic model
 Musa/Okomoto Logarithmic model
 Some models work better than others
depending on the application area and
operating characteristics: i.e. interactive? data
intensive? control intensive? real-time?
Choice of Model
Basic Model:
Prof. Kanchana Devi
23
• For studies or predictions before execution and
failure data available
• Using study of faults to determine effects of a new
software engineering technology
• The program size is changing continually or
substantially (i.e. during integration)
Logarithmic Model
Prof. Kanchana Devi
24
• System subjected to highly non-uniform
operational profiles.
• Highly predictive validity is needed early in the
execution period. The rapidly changing slope of the
failure intensity during early stages can be better
fitted with the logarithmic Poisson than the basic
model .

Contenu connexe

Tendances

Metrics for project size estimation
Metrics for project size estimationMetrics for project size estimation
Metrics for project size estimation
Nur Islam
 
Issues in software cost estimation
Issues in software cost estimationIssues in software cost estimation
Issues in software cost estimation
Kashif Aleem
 

Tendances (20)

Chapter 6 software metrics
Chapter 6 software metricsChapter 6 software metrics
Chapter 6 software metrics
 
Software cost estimation techniques presentation
Software cost estimation techniques presentationSoftware cost estimation techniques presentation
Software cost estimation techniques presentation
 
Metrics for project size estimation
Metrics for project size estimationMetrics for project size estimation
Metrics for project size estimation
 
Software Estimation
Software EstimationSoftware Estimation
Software Estimation
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Metrics
MetricsMetrics
Metrics
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Chapter 16
Chapter 16Chapter 16
Chapter 16
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Software reliability
Software reliabilitySoftware reliability
Software reliability
 
Wideband Delphi Estimation
Wideband Delphi EstimationWideband Delphi Estimation
Wideband Delphi Estimation
 
Software Measurement: Lecture 1. Measures and Metrics
Software Measurement: Lecture 1. Measures and MetricsSoftware Measurement: Lecture 1. Measures and Metrics
Software Measurement: Lecture 1. Measures and Metrics
 
Slides chapter 15
Slides chapter 15Slides chapter 15
Slides chapter 15
 
Chap13
Chap13Chap13
Chap13
 
Issues in software cost estimation
Issues in software cost estimationIssues in software cost estimation
Issues in software cost estimation
 
Sop test planning
Sop test planningSop test planning
Sop test planning
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer Science
 
Guide to Software Estimation
Guide to Software EstimationGuide to Software Estimation
Guide to Software Estimation
 

En vedette

10 software maintenance
10 software maintenance10 software maintenance
10 software maintenance
akiara
 
Reengineering including reverse & forward Engineering
Reengineering including reverse & forward EngineeringReengineering including reverse & forward Engineering
Reengineering including reverse & forward Engineering
Muhammad Chaudhry
 

En vedette (20)

CONTACT LENS CARE & MAINTENCE
CONTACT LENS CARE & MAINTENCECONTACT LENS CARE & MAINTENCE
CONTACT LENS CARE & MAINTENCE
 
Software maintenance
Software  maintenanceSoftware  maintenance
Software maintenance
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Reverse engineering
Reverse engineeringReverse engineering
Reverse engineering
 
12 software maintenance
12 software maintenance12 software maintenance
12 software maintenance
 
10 software maintenance
10 software maintenance10 software maintenance
10 software maintenance
 
Maintenance, Re-engineering &Reverse Engineering in Software Engineering
Maintenance,Re-engineering &Reverse Engineering in Software EngineeringMaintenance,Re-engineering &Reverse Engineering in Software Engineering
Maintenance, Re-engineering &Reverse Engineering in Software Engineering
 
Software reverse engineering
Software reverse engineeringSoftware reverse engineering
Software reverse engineering
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Spm unit 3
Spm unit 3Spm unit 3
Spm unit 3
 
Spm unit 4
Spm unit 4Spm unit 4
Spm unit 4
 
Reengineering including reverse & forward Engineering
Reengineering including reverse & forward EngineeringReengineering including reverse & forward Engineering
Reengineering including reverse & forward Engineering
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Ch9 evolution
Ch9 evolutionCh9 evolution
Ch9 evolution
 
Ch2 sw processes
Ch2 sw processesCh2 sw processes
Ch2 sw processes
 
Ch8.testing
Ch8.testingCh8.testing
Ch8.testing
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing Basics
 

Similaire à Spm unit v-software maintenance-intro

Intro softwareeng
Intro softwareengIntro softwareeng
Intro softwareeng
PINKU29
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
smumbahelp
 
CP7301 Software Process and Project Management notes
CP7301 Software Process and Project Management   notesCP7301 Software Process and Project Management   notes
CP7301 Software Process and Project Management notes
AAKASH S
 
Slide set 1 (Traditional Software Development) (1).pptx
Slide set 1 (Traditional Software Development) (1).pptxSlide set 1 (Traditional Software Development) (1).pptx
Slide set 1 (Traditional Software Development) (1).pptx
UTKARSHBHARDWAJ71
 

Similaire à Spm unit v-software maintenance-intro (20)

SWE-401 - 11. Software maintenance overview
SWE-401 - 11. Software maintenance overviewSWE-401 - 11. Software maintenance overview
SWE-401 - 11. Software maintenance overview
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptx
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptx
 
Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020
 
Intro softwareeng
Intro softwareengIntro softwareeng
Intro softwareeng
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
 
Computer1
Computer1Computer1
Computer1
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering Overview
 
Software Engineering
 Software Engineering  Software Engineering
Software Engineering
 
SE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdfSE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdf
 
software process
software process software process
software process
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptx
 
Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels
 
3. ch 2-process model
3. ch 2-process model3. ch 2-process model
3. ch 2-process model
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdf
 
CP7301 Software Process and Project Management notes
CP7301 Software Process and Project Management   notesCP7301 Software Process and Project Management   notes
CP7301 Software Process and Project Management notes
 
Slide set 1 (Traditional Software Development) (1).pptx
Slide set 1 (Traditional Software Development) (1).pptxSlide set 1 (Traditional Software Development) (1).pptx
Slide set 1 (Traditional Software Development) (1).pptx
 

Plus de Kanchana Devi (12)

Spm unit iii-risk-working in teams
Spm unit iii-risk-working in teamsSpm unit iii-risk-working in teams
Spm unit iii-risk-working in teams
 
Spm unit iii-risk-resource allocation
Spm unit iii-risk-resource allocationSpm unit iii-risk-resource allocation
Spm unit iii-risk-resource allocation
 
Spm unit iii-risk-pert
Spm unit iii-risk-pertSpm unit iii-risk-pert
Spm unit iii-risk-pert
 
Spm unit iii-risk-monitoring & control1
Spm unit iii-risk-monitoring & control1Spm unit iii-risk-monitoring & control1
Spm unit iii-risk-monitoring & control1
 
Spm unit iii-risk-intro
Spm unit iii-risk-introSpm unit iii-risk-intro
Spm unit iii-risk-intro
 
Spm ap-network model-
Spm ap-network model-Spm ap-network model-
Spm ap-network model-
 
SPM Activity Planning Introduction
SPM Activity Planning IntroductionSPM Activity Planning Introduction
SPM Activity Planning Introduction
 
Spm software effort estimation
Spm software effort estimationSpm software effort estimation
Spm software effort estimation
 
Spm project planning
Spm project planning Spm project planning
Spm project planning
 
SPM Evaluation
SPM EvaluationSPM Evaluation
SPM Evaluation
 
Open source spm tools
Open source spm toolsOpen source spm tools
Open source spm tools
 
Software project management introduction
Software project management introductionSoftware project management introduction
Software project management introduction
 

Dernier

Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Christo Ananth
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Christo Ananth
 

Dernier (20)

Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 

Spm unit v-software maintenance-intro

  • 1. SPM-UNIT - V SOFTWARE MAINTENANCE Prof. Kanchana Devi
  • 2. Software Maintenance - Introduction Prof. Kanchana Devi 2  Modification of a software product after delivery to:  Correct faults  Improve performance or other attributes.  Adapt to a change in the environment.  A common work of maintenance is that it involves fixing defects.  Software maintenance is a very broad activity that includes  Error corrections  Enhancements of capabilities  Deletion of obsolete capabilities  Optimization. Resource: Wikipedia
  • 3. Lehman’s Law Prof. Kanchana Devi 3  Maintenance is really evolutionary development and that maintenance decisions are aided by understanding what happens to systems (and software) over time. Resource: Wikipedia
  • 4. Software Maintenance – Issues & Side Effects Prof. Kanchana Devi 4  There are two main issues:  Management Issues  Technical Issues  Management issues are:  Alignment with customer priorities  Staffing, which organization does maintenance  Estimating costs.  Technical issues are:  Limited understanding  Impact analysis  Testing  Maintainability measurement. Resource: Wikipedia
  • 5. Maintenance Activities & Characteristics Prof. Kanchana Devi 5  Adaptive  Modifying the system to cope with changes in the software environment  Perfective  Implementing new or changed user requirements which concern functional enhancements to the software  Corrective  Diagnosing and fixing errors, possibly ones found by users  Preventive  Increasing software maintainability or reliability to prevent problems in the future
  • 7. Software Maintenance Planning Prof. Kanchana Devi 7  Software Maintenance is an integral part, which requires an accurate maintenance plan.  It should specify how users will request modifications or report problems.  The budget should include resource and cost estimates.  It is an admitted fact that approximately 60 to 70% effort is spent on maintenance phase of software development life cycle.
  • 8. Software Maintenance Processes Prof. Kanchana Devi 8  Software preparation and transition activities  Creation of the maintenance plan;  The preparation for handling problems  The follow-up on product configuration management.  The modification analysis process.  The implementation of the modification.  The process acceptance of the modification.  The migration process is exceptional, and is not part of daily maintenance tasks. (Platform Change)  Finally, the last maintenance process, is the retirement of a piece of software.
  • 10. Metrics for Source Code Prof. Kanchana Devi 10  There are some measures to calculate the metrics:  n1 = number of distinct operators appear in the program  n2 = number of distinct operands appear in the program  N1 = Total number of operator occurrences  N2 = Total number of operand occurrences
  • 11. Prof. Kanchana Devi 11  n1, n2, N1, N2 - These measures are used to develop expressions for  The overall length  Minimum volume for an algorithm  The actual volume  The program level  Language level  Other features  Development effort  Development time  Even the projected number of faults in the software.
  • 12. Prof. Kanchana Devi 12  Length N  N = n1 log2 n1 + n2 log2 n2  Program Volume  V = N log2 (n1+n2)
  • 13. Software Reliability Prof. Kanchana Devi 13  Categorising and specifying the reliability of software systems  Informal Definition:  Reliability is a measure of how well system users think it provides the services they require.  Probability of a software component will produce an incorrect output  Software can continue to operate after a bad result
  • 14. ……… Prof. Kanchana Devi 14  Software Reliability is the probability of failure- free software operation for a specified period of time in a specified environment.  Software Reliability is also an important factor affecting system reliability.  It differs from hardware reliability in that it reflects the “design perfection”, rather than manufacturing perfection.  The high complexity of software is the major contributing factor of Software Reliability problems.
  • 15. Traditional Methods For Improving Software Reliability Prof. Kanchana Devi 15  Three main techniques are used in industrial and open source projects to improve software reliability:  Manual Testing  Code Reviews:  Modifications are reviewed by experienced developers before being committed to the code base.  Coding Standards:  Requiring that all developers adhere to a set of rules when writing or maintaining code.  Coding standards can improve source code readability, making it easier to spot defects, and  Ban the use of programming idioms that are arguably dangerous.
  • 16. Reliability Problems Prof. Kanchana Devi 16  They depend fundamentally on human reasoning and judgments  They do not provide guarantees
  • 17. Measuring Reliability Prof. Kanchana Devi 17  A simple measure of reliability can be given as:  MTBF = MTTF + MTTR , where  MTBF is mean time between failures  MTTF is mean time to fail  MTTR is mean time to repair
  • 18. Software Reliability Models Prof. Kanchana Devi 18  error seeding - estimates the number of errors in a program.  Errors are divided into indigenous errors and induced (seeded) errors. The unknown number of indigenous errors is estimated from the number of induced errors and the ratio of the two types of errors obtained from the testing data. • Reliability growth • Measures and predicts the improvement of reliability through the testing process using a growth function to represent the process. • Independent variables of the growth function could be time, number of test cases (or testing stages) and • The dependent variables can be reliability, failure rate or cumulative number of errors detected.
  • 19. Prof. Kanchana Devi 19  Nonhomogeneous Poisson process (NHPP)  provide an analytical framework for describing the software failure phenomenon during testing.  the main issue is to estimate the mean value function of the cumulative number of failures experienced up to a certain point in time.  a key example of this approach is the series of Musa models
  • 20. Prof. Kanchana Devi 20  A typical measure (failures per unit time) is the failure intensity (rate) given as:  where  = program CPU time (in a time shared computer) or wall clock time (in an embedded system). ) ],[infailuresof# ()(       f
  • 21. Prof. Kanchana Devi 21  SR Growth models are generally “black box” - no easy way to account for a change in the operational profile  Operational profile: description of the input events expected to occur in actual software operation – how it will be used in practice  consequences are that we are unable to go from test to field
  • 22. Prof. Kanchana Devi 22  Many models have been proposed, perhaps the most prominent are:  Musa Basic model  Musa/Okomoto Logarithmic model  Some models work better than others depending on the application area and operating characteristics: i.e. interactive? data intensive? control intensive? real-time?
  • 23. Choice of Model Basic Model: Prof. Kanchana Devi 23 • For studies or predictions before execution and failure data available • Using study of faults to determine effects of a new software engineering technology • The program size is changing continually or substantially (i.e. during integration)
  • 24. Logarithmic Model Prof. Kanchana Devi 24 • System subjected to highly non-uniform operational profiles. • Highly predictive validity is needed early in the execution period. The rapidly changing slope of the failure intensity during early stages can be better fitted with the logarithmic Poisson than the basic model .