SlideShare una empresa de Scribd logo
1 de 25
A CONTROLLED EXPERIMENT IN
ASSESSING AND ESTIMATING
SOFTWARE MAINTENANCE TASKS
Pondicherry University
By:
SADIQUE
NAYEEM
Outline
Motivation and Background
Experiment Design
Results and Explanatory Models
Conclusions
2
MOTIVATION AND
BACKGROUND
3
Software Maintenance
 Software Maintenance
 “Modification of a software product after
delivery to correct faults, to improve
performance or other attributes, or to adapt the
product to a modified environment” [IEEE ‘98]
 “Changes are made in response to change
requirement but the fundamental software
structure is stable.
4
Maintenance is crucial in software
engineering
 Systems are tightly coupled with their environment
 Environment changes require changing its software systems
 Technologies and requirements are continuously changing
 Software systems are outdated quickly
 Software systems must be updated and upgraded to maintain their
values
 Maintenance is important in market competition
 New software has more advantages than the existing one
 Software system must be upgraded to keep its market share
5
 Maintenance cost is usually 2x to 100x as much as new
development cost (Sommerville, 2006)
K$100 200 300
System 1
System 2
(Summerville, 2006)New Development
Maintenance
400
Development and Maintenance
cost6
For software maintenance, the modeling process
is even
more challenging
 The maintenance effort is affected by a large number of
factors such as:
 Size and types of maintenance work
 Team stability
 Personnel capabilities
 The level of programmer’s familiarity with the system
being maintained
 Processes and standards in use
 Complexity
 Technologies
 The quality of existing source code and its supporting
documentation
7
Software estimation community has paid
little attention to software maintenance
 Most estimation models regard maintenance estimation
as secondary
 Models were built using mainly data of new development projects
 Use of SLOC metrics for models is inconsistent
 Some models use SLOC added, modified, deleted
 Others use only SLOC added and modified
8
Types of Software Maintenance
 Types of Maintenance
Different author proposed different classification of Software
Maintenance
 Swanson ’76 : Adaptive, Corrective, Perfective
 IEEE ’98: all Swanson’s plus Preventive
 Chapin et al, 2001: 12 types, 4 clusters: support interface,
documentation, software properties, and business rules. The last
cluster, includes all activities that alter the business rules of the
software :
 Enhancive : ‘Did the activities replace, add to, or extend the
customer-experienced functionality?’
 Corrective : ‘Did the activities fix the customer-experienced
functionality or make it more correct?’
 Reductive : ‘Did the activities restrict or reduce the customer-
9
Impact of the types of software
evolution and maintenance.
Ned Chapin, et al., “Types of software evolution and software maintenance,” Jan. 2001
10
Figure 1. Impact of the types of software evolution and maintenance.
The purpose of the study
 To assess the size and effort implications
 Effort distribution of three different maintenance types
 To describe estimation models to predict the
programmer’s effort on maintenance tasks.
 The focus of study is on enhancive, corrective, and
reductive maintenance types according to a
maintenance topology proposed by Chapin et al.
because they are the ones that change the business
rules of the system by adding, modifying, and deleting
the source code.
11
Research Questions and Hypotheses
 RQ1: Are there any differences in the
productivity of enhancive, corrective, and
deductive maintenance?
 Hypothesis 1 (H1): no difference
 RQ2: Are there any differences in the effort
distribution among the maintenance types?
 Hypothesis 2 (H2): no difference
12
EXPERIMENTAL
DESIGN
13
Experiment Description
 23 students and 1 senior, computer science major
 Participants worked on tasks individually in the lab
 Time limit of 7 hour.
 Participants were given the original source code, a list of maintenance
activities, and a timesheet form.
 Participants were required to record time on paper for every activity
performed to complete maintenance tasks. Time information includes start
clock time, stop clock time, and interruption time measured in minute.
 Participants used Visual Studio 2005 for maintenance on Windows XP
 UCC as a target program
 5188 source statements (logical SLOC) in 20 C++ classes
 The program was well-structured and well-commented
14
Matrices
Independent variable -- type of maintenance (enhancive,
corrective, and reductive)
Dependent variables -- programmer’s effort and size of
change.
The programmer’s effort = total time the programmer spent
to work on the maintenance task excluding interruption time.
The size of change is measured by three LOC metrics, LOC
added, modified, and deleted.
Calculating Maintenance SLOC
Equivalent SLOC = TRCF x AAM




>+
≤−−+
=
=
1,
100
1,])1(1[1( 2
AAFfor
UNFMxSU
AAF
AAFforUNFMxSUxAAFAAF
AAM
TRCF
S
AAF
TRCF = the total SLOC of task-relevant code fragments
S = the size in SLOC (added, modified, or deleted)
SU = the software understandability(10% to 50%)
UNFM = the level of programmer unfamiliarity with the program(0.0 to 1.0)
AAF= adaptation adjustment factor
AAM= adaptation adjustment multiplier
Task-relevant
code fragment
(TRCF)
16
In this experiment, COCOMO II reuse model is used to determine the equivalent
LOC of the maintenance tasks.
RESULTS AND MODELS
17
Resulted Data
 Each task requires four maintenance activities
 Task comprehension (reading, understanding task requirements,
and asking for further clarification)
 Code isolation(locating and understanding code segments to be
adapted)
 Editing code(programming and debugging the affected code)
 Unit test(performing tests on the affected code)
 Timesheet has 490 activity records, totaling 4621 min.
 Total of 909 SLOC added, modified, and deleted
402 added
216 modified
291 deleted
18
Effort distribution is different among the
groups (For H2)
 Corrective group spent much
time for code isolation
 twice as much as that of the
enhancive group
 Enhancive group spent
majority of time for editing
code
 Effort distribution is statistically
different among three groups
 H2 is rejected
19
Productivity
20
Enhancive group produced
1.5 times as many Reductive group deleted and
4 times as many Corrective group modified.
Work done by each group as
per the pattern dictated by
the task design.
Productivity is significantly different
among the groups (For H1)
Box Plot
 Corrective group has lowest
productivity
 Reductive group has
highest productivity
 Productivity between groups
are statistically different
 H1 is rejected
Enhancive Reductive Corrective
Productivity(SLOC/Hour)
40
30
20
10
21
Participant Time Explanatory Models
M1 Effort = 78.1 + 2.2 * S * EAF
M2 Effort = 43.9 + (2.8*Add + 5.3*Mod + 1.3*Del) * EAF
Effort = Time spent by the participant on all maintenance tasks
EAF = Effort adjustment factor, a product of Programmer capability (PCAP),
Language experience (LTEX), and Platform Experience (PLEX)
Add, Mod, Del = Equivalent SLOC added, modified, and deleted by the participant, respectively
S = Add + Mod + Del
R2
= The coefficient of determination values
R2
= 0.5 R2
= 0.75
22
R2
= 0.55 R2
= 0.64
M3 Effort = 110.0 + 2.2 * S * EAF
M4 Effort = 79.1 + (2.3*Add + 4.6*Mod) * EAF
In this experiment, EAF is defined as the multiplicative of programmer capability (PCAP), language and
tools experience (LTEX), and platform experience (PLEX). The same rating values for these cost drivers
that are defined in the COCOMO II Post-Architecture model is used.
Model M2 outperforms M1 , M3, M4
i
ii
i
Actual
EstimateActual
MRE
−
=
23
Fig The MRE values obtained by the models in estimating the effort spent by 24
participants
Magnitude of relative error (MRE)
Threats to Validity
 Internal design
 Groups have imbalanced skills and capability
 Imbalanced complexity of tasks on three groups
 Incorrect time recorded
 Generalizability
 Professional programmers are more experienced
 Professional programmers are more familiar with
the software maintained
 Maintenance process is different in industry
24
Conclusions
 Productivity and effort distribution are significantly different
among the maintenance types
 SLOC metrics are relevant factors for estimating effort
 Three SLOC metrics (added, modified, and deleted) have
different impact on effort
 SLOC deleted is an important factor for estimating effort
 It is more expensive to modify than to add or delete a statement
 Assigning experienced programmers to fixing defect can
save up to 40% of effort
25

Más contenido relacionado

La actualidad más candente

Software maintenance
Software maintenanceSoftware maintenance
Software maintenanceAnsh Kapoor
 
Chapter 4 software project planning
Chapter 4 software project planningChapter 4 software project planning
Chapter 4 software project planningPiyush Gogia
 
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISONSTATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISONijseajournal
 
Integrating profiling into mde compilers
Integrating profiling into mde compilersIntegrating profiling into mde compilers
Integrating profiling into mde compilersijseajournal
 
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENTTHE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENTijseajournal
 
Software Evolution and Maintenance Models
Software Evolution and Maintenance ModelsSoftware Evolution and Maintenance Models
Software Evolution and Maintenance ModelsMoutasm Tamimi
 
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...IJSEA
 
Essence of waterfall_model
Essence of waterfall_modelEssence of waterfall_model
Essence of waterfall_modelwanda31
 
A FRAMEWORK FOR ASPECTUAL REQUIREMENTS VALIDATION: AN EXPERIMENTAL STUDY
A FRAMEWORK FOR ASPECTUAL REQUIREMENTS VALIDATION: AN EXPERIMENTAL STUDYA FRAMEWORK FOR ASPECTUAL REQUIREMENTS VALIDATION: AN EXPERIMENTAL STUDY
A FRAMEWORK FOR ASPECTUAL REQUIREMENTS VALIDATION: AN EXPERIMENTAL STUDYijseajournal
 
Software Maintenance and Evolution
Software Maintenance and EvolutionSoftware Maintenance and Evolution
Software Maintenance and Evolutionkim.mens
 
Introduction to Software Evolution: The Software Volcano
Introduction to Software Evolution: The Software VolcanoIntroduction to Software Evolution: The Software Volcano
Introduction to Software Evolution: The Software VolcanoDevnology
 
Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software EngineeringDrishti Bhalla
 

La actualidad más candente (20)

Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Chapter 4 software project planning
Chapter 4 software project planningChapter 4 software project planning
Chapter 4 software project planning
 
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISONSTATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
 
Integrating profiling into mde compilers
Integrating profiling into mde compilersIntegrating profiling into mde compilers
Integrating profiling into mde compilers
 
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENTTHE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
 
Software Evolution and Maintenance Models
Software Evolution and Maintenance ModelsSoftware Evolution and Maintenance Models
Software Evolution and Maintenance Models
 
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
 
Software Quality Assurance Model for Software Excellence with Its Requirements
Software Quality Assurance Model for Software Excellence with Its RequirementsSoftware Quality Assurance Model for Software Excellence with Its Requirements
Software Quality Assurance Model for Software Excellence with Its Requirements
 
5. COCOMO.pdf
5. COCOMO.pdf5. COCOMO.pdf
5. COCOMO.pdf
 
Essence of waterfall_model
Essence of waterfall_modelEssence of waterfall_model
Essence of waterfall_model
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
SDLC Model
SDLC  ModelSDLC  Model
SDLC Model
 
A FRAMEWORK FOR ASPECTUAL REQUIREMENTS VALIDATION: AN EXPERIMENTAL STUDY
A FRAMEWORK FOR ASPECTUAL REQUIREMENTS VALIDATION: AN EXPERIMENTAL STUDYA FRAMEWORK FOR ASPECTUAL REQUIREMENTS VALIDATION: AN EXPERIMENTAL STUDY
A FRAMEWORK FOR ASPECTUAL REQUIREMENTS VALIDATION: AN EXPERIMENTAL STUDY
 
Software Maintenance and Evolution
Software Maintenance and EvolutionSoftware Maintenance and Evolution
Software Maintenance and Evolution
 
2. Software process
2. Software process2. Software process
2. Software process
 
Web Testing
Web TestingWeb Testing
Web Testing
 
C41041120
C41041120C41041120
C41041120
 
Introduction to Software Evolution: The Software Volcano
Introduction to Software Evolution: The Software VolcanoIntroduction to Software Evolution: The Software Volcano
Introduction to Software Evolution: The Software Volcano
 
Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software Engineering
 

Destacado (6)

Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Legacy Software Maintenance And Management
Legacy Software Maintenance And ManagementLegacy Software Maintenance And Management
Legacy Software Maintenance And Management
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
 
Software Sizing
Software SizingSoftware Sizing
Software Sizing
 
12 software maintenance
12 software maintenance12 software maintenance
12 software maintenance
 

Similar a A controlled experiment in assessing and estimating software maintenance tasks

Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceArti Parab Academics
 
Sdd Maintenance Of Software Solutions
Sdd Maintenance Of Software SolutionsSdd Maintenance Of Software Solutions
Sdd Maintenance Of Software Solutionsgavhays
 
Agile maintenance
Agile maintenanceAgile maintenance
Agile maintenancearalikatte
 
software project management
software project managementsoftware project management
software project managementJassir4
 
SE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle ModelSE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle ModelAmr E. Mohamed
 
Software Engineering Past Papers (Short Questions)
Software Engineering Past Papers (Short Questions)Software Engineering Past Papers (Short Questions)
Software Engineering Past Papers (Short Questions)MuhammadTalha436
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLESwarnima Tiwari
 
Ooad lab manual(original)
Ooad lab manual(original)Ooad lab manual(original)
Ooad lab manual(original)dipenpatelpatel
 
Software Process Models
 Software Process Models  Software Process Models
Software Process Models MohsinAli773
 
W1_S2_SEIntro_SDLC.pdf
W1_S2_SEIntro_SDLC.pdfW1_S2_SEIntro_SDLC.pdf
W1_S2_SEIntro_SDLC.pdfssuserf56658
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineeringsmumbahelp
 
An investigation of extreme programming practices and its impact on software ...
An investigation of extreme programming practices and its impact on software ...An investigation of extreme programming practices and its impact on software ...
An investigation of extreme programming practices and its impact on software ...Roberto Pepato
 
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...ijseajournal
 
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...acijjournal
 
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...acijjournal
 
An Investigation Of EXtreme Programming Practices
An Investigation Of EXtreme Programming PracticesAn Investigation Of EXtreme Programming Practices
An Investigation Of EXtreme Programming PracticesGabriel Moreira
 
Cs 568 Spring 10 Lecture 5 Estimation
Cs 568 Spring 10  Lecture 5 EstimationCs 568 Spring 10  Lecture 5 Estimation
Cs 568 Spring 10 Lecture 5 EstimationLawrence Bernstein
 

Similar a A controlled experiment in assessing and estimating software maintenance tasks (20)

Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer Science
 
Sdd Maintenance Of Software Solutions
Sdd Maintenance Of Software SolutionsSdd Maintenance Of Software Solutions
Sdd Maintenance Of Software Solutions
 
Agile maintenance
Agile maintenanceAgile maintenance
Agile maintenance
 
Metrics
MetricsMetrics
Metrics
 
software project management
software project managementsoftware project management
software project management
 
SE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle ModelSE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle Model
 
Software Engineering Past Papers (Short Questions)
Software Engineering Past Papers (Short Questions)Software Engineering Past Papers (Short Questions)
Software Engineering Past Papers (Short Questions)
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 
COCOMO Model By Dr. B. J. Mohite
COCOMO Model By Dr. B. J. MohiteCOCOMO Model By Dr. B. J. Mohite
COCOMO Model By Dr. B. J. Mohite
 
Ooad lab manual(original)
Ooad lab manual(original)Ooad lab manual(original)
Ooad lab manual(original)
 
Software Process Models
 Software Process Models  Software Process Models
Software Process Models
 
W1_S2_SEIntro_SDLC.pdf
W1_S2_SEIntro_SDLC.pdfW1_S2_SEIntro_SDLC.pdf
W1_S2_SEIntro_SDLC.pdf
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
An investigation of extreme programming practices and its impact on software ...
An investigation of extreme programming practices and its impact on software ...An investigation of extreme programming practices and its impact on software ...
An investigation of extreme programming practices and its impact on software ...
 
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...
 
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
 
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
 
Intro-Soft-Engg-2.pptx
Intro-Soft-Engg-2.pptxIntro-Soft-Engg-2.pptx
Intro-Soft-Engg-2.pptx
 
An Investigation Of EXtreme Programming Practices
An Investigation Of EXtreme Programming PracticesAn Investigation Of EXtreme Programming Practices
An Investigation Of EXtreme Programming Practices
 
Cs 568 Spring 10 Lecture 5 Estimation
Cs 568 Spring 10  Lecture 5 EstimationCs 568 Spring 10  Lecture 5 Estimation
Cs 568 Spring 10 Lecture 5 Estimation
 

Más de sadique_ghitm

Organizational Behaviour
Organizational BehaviourOrganizational Behaviour
Organizational Behavioursadique_ghitm
 
Digital India Initiative
Digital India Initiative Digital India Initiative
Digital India Initiative sadique_ghitm
 
Pumping lemma for regular language
Pumping lemma for regular languagePumping lemma for regular language
Pumping lemma for regular languagesadique_ghitm
 
Entity Relationship Diagrams
Entity Relationship DiagramsEntity Relationship Diagrams
Entity Relationship Diagramssadique_ghitm
 
Data Flow Diagram (DFD)
Data Flow Diagram (DFD)Data Flow Diagram (DFD)
Data Flow Diagram (DFD)sadique_ghitm
 
A Study on Face Recognition Technique based on Eigenface
A Study on Face Recognition Technique based on EigenfaceA Study on Face Recognition Technique based on Eigenface
A Study on Face Recognition Technique based on Eigenfacesadique_ghitm
 
Detecting HTTP Botnet using Artificial Immune System (AIS)
Detecting HTTP Botnet using Artificial Immune System (AIS)Detecting HTTP Botnet using Artificial Immune System (AIS)
Detecting HTTP Botnet using Artificial Immune System (AIS)sadique_ghitm
 
Handling of Incident, Challenges, Risks, Vulnerability and Implementing Detec...
Handling of Incident, Challenges, Risks, Vulnerability and Implementing Detec...Handling of Incident, Challenges, Risks, Vulnerability and Implementing Detec...
Handling of Incident, Challenges, Risks, Vulnerability and Implementing Detec...sadique_ghitm
 
Study and Analysis of Novel Face Recognition Techniques using PCA, LDA and Ge...
Study and Analysis of Novel Face Recognition Techniques using PCA, LDA and Ge...Study and Analysis of Novel Face Recognition Techniques using PCA, LDA and Ge...
Study and Analysis of Novel Face Recognition Techniques using PCA, LDA and Ge...sadique_ghitm
 
Face recognition: A Comparison of Appearance Based Approaches
Face recognition: A Comparison of Appearance Based ApproachesFace recognition: A Comparison of Appearance Based Approaches
Face recognition: A Comparison of Appearance Based Approachessadique_ghitm
 
A study on face recognition technique based on eigenface
A study on face recognition technique based on eigenfaceA study on face recognition technique based on eigenface
A study on face recognition technique based on eigenfacesadique_ghitm
 
Design and analysis of a mobile file sharing system for opportunistic networks
Design and analysis of a mobile file sharing system for opportunistic networksDesign and analysis of a mobile file sharing system for opportunistic networks
Design and analysis of a mobile file sharing system for opportunistic networkssadique_ghitm
 
A hybrid genetic algorithm and chaotic function model for image encryption
A hybrid genetic algorithm and chaotic function model for image encryptionA hybrid genetic algorithm and chaotic function model for image encryption
A hybrid genetic algorithm and chaotic function model for image encryptionsadique_ghitm
 

Más de sadique_ghitm (17)

Attitude
AttitudeAttitude
Attitude
 
Personality
PersonalityPersonality
Personality
 
Organizational Behaviour
Organizational BehaviourOrganizational Behaviour
Organizational Behaviour
 
Digital India Initiative
Digital India Initiative Digital India Initiative
Digital India Initiative
 
Pumping lemma for regular language
Pumping lemma for regular languagePumping lemma for regular language
Pumping lemma for regular language
 
Entity Relationship Diagrams
Entity Relationship DiagramsEntity Relationship Diagrams
Entity Relationship Diagrams
 
Data Flow Diagram (DFD)
Data Flow Diagram (DFD)Data Flow Diagram (DFD)
Data Flow Diagram (DFD)
 
A Study on Face Recognition Technique based on Eigenface
A Study on Face Recognition Technique based on EigenfaceA Study on Face Recognition Technique based on Eigenface
A Study on Face Recognition Technique based on Eigenface
 
Detecting HTTP Botnet using Artificial Immune System (AIS)
Detecting HTTP Botnet using Artificial Immune System (AIS)Detecting HTTP Botnet using Artificial Immune System (AIS)
Detecting HTTP Botnet using Artificial Immune System (AIS)
 
Handling of Incident, Challenges, Risks, Vulnerability and Implementing Detec...
Handling of Incident, Challenges, Risks, Vulnerability and Implementing Detec...Handling of Incident, Challenges, Risks, Vulnerability and Implementing Detec...
Handling of Incident, Challenges, Risks, Vulnerability and Implementing Detec...
 
Study and Analysis of Novel Face Recognition Techniques using PCA, LDA and Ge...
Study and Analysis of Novel Face Recognition Techniques using PCA, LDA and Ge...Study and Analysis of Novel Face Recognition Techniques using PCA, LDA and Ge...
Study and Analysis of Novel Face Recognition Techniques using PCA, LDA and Ge...
 
Computer Worms
Computer WormsComputer Worms
Computer Worms
 
Face recognition: A Comparison of Appearance Based Approaches
Face recognition: A Comparison of Appearance Based ApproachesFace recognition: A Comparison of Appearance Based Approaches
Face recognition: A Comparison of Appearance Based Approaches
 
A study on face recognition technique based on eigenface
A study on face recognition technique based on eigenfaceA study on face recognition technique based on eigenface
A study on face recognition technique based on eigenface
 
Design and analysis of a mobile file sharing system for opportunistic networks
Design and analysis of a mobile file sharing system for opportunistic networksDesign and analysis of a mobile file sharing system for opportunistic networks
Design and analysis of a mobile file sharing system for opportunistic networks
 
A hybrid genetic algorithm and chaotic function model for image encryption
A hybrid genetic algorithm and chaotic function model for image encryptionA hybrid genetic algorithm and chaotic function model for image encryption
A hybrid genetic algorithm and chaotic function model for image encryption
 
Holographic Memory
Holographic MemoryHolographic Memory
Holographic Memory
 

Último

Healthy Minds, Flourishing Lives: A Philosophical Approach to Mental Health a...
Healthy Minds, Flourishing Lives: A Philosophical Approach to Mental Health a...Healthy Minds, Flourishing Lives: A Philosophical Approach to Mental Health a...
Healthy Minds, Flourishing Lives: A Philosophical Approach to Mental Health a...Osopher
 
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxGrade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxkarenfajardo43
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Projectjordimapav
 
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWQuiz Club NITW
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfPrerana Jadhav
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQuiz Club NITW
 
4.9.24 Social Capital and Social Exclusion.pptx
4.9.24 Social Capital and Social Exclusion.pptx4.9.24 Social Capital and Social Exclusion.pptx
4.9.24 Social Capital and Social Exclusion.pptxmary850239
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - I-LEARN SMART WORLD - CẢ NĂM - CÓ FILE NGHE (BẢN...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - I-LEARN SMART WORLD - CẢ NĂM - CÓ FILE NGHE (BẢN...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - I-LEARN SMART WORLD - CẢ NĂM - CÓ FILE NGHE (BẢN...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - I-LEARN SMART WORLD - CẢ NĂM - CÓ FILE NGHE (BẢN...Nguyen Thanh Tu Collection
 
How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17Celine George
 
How to Uninstall a Module in Odoo 17 Using Command Line
How to Uninstall a Module in Odoo 17 Using Command LineHow to Uninstall a Module in Odoo 17 Using Command Line
How to Uninstall a Module in Odoo 17 Using Command LineCeline George
 
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxSayali Powar
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDhatriParmar
 
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptxUnraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptxDhatriParmar
 
4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptx4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptxmary850239
 
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQ-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQuiz Club NITW
 

Último (20)

Healthy Minds, Flourishing Lives: A Philosophical Approach to Mental Health a...
Healthy Minds, Flourishing Lives: A Philosophical Approach to Mental Health a...Healthy Minds, Flourishing Lives: A Philosophical Approach to Mental Health a...
Healthy Minds, Flourishing Lives: A Philosophical Approach to Mental Health a...
 
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxGrade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Project
 
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITW
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdf
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
 
4.9.24 Social Capital and Social Exclusion.pptx
4.9.24 Social Capital and Social Exclusion.pptx4.9.24 Social Capital and Social Exclusion.pptx
4.9.24 Social Capital and Social Exclusion.pptx
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - I-LEARN SMART WORLD - CẢ NĂM - CÓ FILE NGHE (BẢN...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - I-LEARN SMART WORLD - CẢ NĂM - CÓ FILE NGHE (BẢN...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - I-LEARN SMART WORLD - CẢ NĂM - CÓ FILE NGHE (BẢN...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - I-LEARN SMART WORLD - CẢ NĂM - CÓ FILE NGHE (BẢN...
 
How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17
 
How to Uninstall a Module in Odoo 17 Using Command Line
How to Uninstall a Module in Odoo 17 Using Command LineHow to Uninstall a Module in Odoo 17 Using Command Line
How to Uninstall a Module in Odoo 17 Using Command Line
 
Spearman's correlation,Formula,Advantages,
Spearman's correlation,Formula,Advantages,Spearman's correlation,Formula,Advantages,
Spearman's correlation,Formula,Advantages,
 
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
 
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptxUnraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
 
Chi-Square Test Non Parametric Test Categorical Variable
Chi-Square Test Non Parametric Test Categorical VariableChi-Square Test Non Parametric Test Categorical Variable
Chi-Square Test Non Parametric Test Categorical Variable
 
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of EngineeringFaculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
 
CARNAVAL COM MAGIA E EUFORIA _
CARNAVAL COM MAGIA E EUFORIA            _CARNAVAL COM MAGIA E EUFORIA            _
CARNAVAL COM MAGIA E EUFORIA _
 
4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptx4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptx
 
Introduction to Research ,Need for research, Need for design of Experiments, ...
Introduction to Research ,Need for research, Need for design of Experiments, ...Introduction to Research ,Need for research, Need for design of Experiments, ...
Introduction to Research ,Need for research, Need for design of Experiments, ...
 
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQ-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
 

A controlled experiment in assessing and estimating software maintenance tasks

  • 1. A CONTROLLED EXPERIMENT IN ASSESSING AND ESTIMATING SOFTWARE MAINTENANCE TASKS Pondicherry University By: SADIQUE NAYEEM
  • 2. Outline Motivation and Background Experiment Design Results and Explanatory Models Conclusions 2
  • 4. Software Maintenance  Software Maintenance  “Modification of a software product after delivery to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment” [IEEE ‘98]  “Changes are made in response to change requirement but the fundamental software structure is stable. 4
  • 5. Maintenance is crucial in software engineering  Systems are tightly coupled with their environment  Environment changes require changing its software systems  Technologies and requirements are continuously changing  Software systems are outdated quickly  Software systems must be updated and upgraded to maintain their values  Maintenance is important in market competition  New software has more advantages than the existing one  Software system must be upgraded to keep its market share 5
  • 6.  Maintenance cost is usually 2x to 100x as much as new development cost (Sommerville, 2006) K$100 200 300 System 1 System 2 (Summerville, 2006)New Development Maintenance 400 Development and Maintenance cost6
  • 7. For software maintenance, the modeling process is even more challenging  The maintenance effort is affected by a large number of factors such as:  Size and types of maintenance work  Team stability  Personnel capabilities  The level of programmer’s familiarity with the system being maintained  Processes and standards in use  Complexity  Technologies  The quality of existing source code and its supporting documentation 7
  • 8. Software estimation community has paid little attention to software maintenance  Most estimation models regard maintenance estimation as secondary  Models were built using mainly data of new development projects  Use of SLOC metrics for models is inconsistent  Some models use SLOC added, modified, deleted  Others use only SLOC added and modified 8
  • 9. Types of Software Maintenance  Types of Maintenance Different author proposed different classification of Software Maintenance  Swanson ’76 : Adaptive, Corrective, Perfective  IEEE ’98: all Swanson’s plus Preventive  Chapin et al, 2001: 12 types, 4 clusters: support interface, documentation, software properties, and business rules. The last cluster, includes all activities that alter the business rules of the software :  Enhancive : ‘Did the activities replace, add to, or extend the customer-experienced functionality?’  Corrective : ‘Did the activities fix the customer-experienced functionality or make it more correct?’  Reductive : ‘Did the activities restrict or reduce the customer- 9
  • 10. Impact of the types of software evolution and maintenance. Ned Chapin, et al., “Types of software evolution and software maintenance,” Jan. 2001 10 Figure 1. Impact of the types of software evolution and maintenance.
  • 11. The purpose of the study  To assess the size and effort implications  Effort distribution of three different maintenance types  To describe estimation models to predict the programmer’s effort on maintenance tasks.  The focus of study is on enhancive, corrective, and reductive maintenance types according to a maintenance topology proposed by Chapin et al. because they are the ones that change the business rules of the system by adding, modifying, and deleting the source code. 11
  • 12. Research Questions and Hypotheses  RQ1: Are there any differences in the productivity of enhancive, corrective, and deductive maintenance?  Hypothesis 1 (H1): no difference  RQ2: Are there any differences in the effort distribution among the maintenance types?  Hypothesis 2 (H2): no difference 12
  • 14. Experiment Description  23 students and 1 senior, computer science major  Participants worked on tasks individually in the lab  Time limit of 7 hour.  Participants were given the original source code, a list of maintenance activities, and a timesheet form.  Participants were required to record time on paper for every activity performed to complete maintenance tasks. Time information includes start clock time, stop clock time, and interruption time measured in minute.  Participants used Visual Studio 2005 for maintenance on Windows XP  UCC as a target program  5188 source statements (logical SLOC) in 20 C++ classes  The program was well-structured and well-commented 14
  • 15. Matrices Independent variable -- type of maintenance (enhancive, corrective, and reductive) Dependent variables -- programmer’s effort and size of change. The programmer’s effort = total time the programmer spent to work on the maintenance task excluding interruption time. The size of change is measured by three LOC metrics, LOC added, modified, and deleted.
  • 16. Calculating Maintenance SLOC Equivalent SLOC = TRCF x AAM     >+ ≤−−+ = = 1, 100 1,])1(1[1( 2 AAFfor UNFMxSU AAF AAFforUNFMxSUxAAFAAF AAM TRCF S AAF TRCF = the total SLOC of task-relevant code fragments S = the size in SLOC (added, modified, or deleted) SU = the software understandability(10% to 50%) UNFM = the level of programmer unfamiliarity with the program(0.0 to 1.0) AAF= adaptation adjustment factor AAM= adaptation adjustment multiplier Task-relevant code fragment (TRCF) 16 In this experiment, COCOMO II reuse model is used to determine the equivalent LOC of the maintenance tasks.
  • 18. Resulted Data  Each task requires four maintenance activities  Task comprehension (reading, understanding task requirements, and asking for further clarification)  Code isolation(locating and understanding code segments to be adapted)  Editing code(programming and debugging the affected code)  Unit test(performing tests on the affected code)  Timesheet has 490 activity records, totaling 4621 min.  Total of 909 SLOC added, modified, and deleted 402 added 216 modified 291 deleted 18
  • 19. Effort distribution is different among the groups (For H2)  Corrective group spent much time for code isolation  twice as much as that of the enhancive group  Enhancive group spent majority of time for editing code  Effort distribution is statistically different among three groups  H2 is rejected 19
  • 20. Productivity 20 Enhancive group produced 1.5 times as many Reductive group deleted and 4 times as many Corrective group modified. Work done by each group as per the pattern dictated by the task design.
  • 21. Productivity is significantly different among the groups (For H1) Box Plot  Corrective group has lowest productivity  Reductive group has highest productivity  Productivity between groups are statistically different  H1 is rejected Enhancive Reductive Corrective Productivity(SLOC/Hour) 40 30 20 10 21
  • 22. Participant Time Explanatory Models M1 Effort = 78.1 + 2.2 * S * EAF M2 Effort = 43.9 + (2.8*Add + 5.3*Mod + 1.3*Del) * EAF Effort = Time spent by the participant on all maintenance tasks EAF = Effort adjustment factor, a product of Programmer capability (PCAP), Language experience (LTEX), and Platform Experience (PLEX) Add, Mod, Del = Equivalent SLOC added, modified, and deleted by the participant, respectively S = Add + Mod + Del R2 = The coefficient of determination values R2 = 0.5 R2 = 0.75 22 R2 = 0.55 R2 = 0.64 M3 Effort = 110.0 + 2.2 * S * EAF M4 Effort = 79.1 + (2.3*Add + 4.6*Mod) * EAF In this experiment, EAF is defined as the multiplicative of programmer capability (PCAP), language and tools experience (LTEX), and platform experience (PLEX). The same rating values for these cost drivers that are defined in the COCOMO II Post-Architecture model is used.
  • 23. Model M2 outperforms M1 , M3, M4 i ii i Actual EstimateActual MRE − = 23 Fig The MRE values obtained by the models in estimating the effort spent by 24 participants Magnitude of relative error (MRE)
  • 24. Threats to Validity  Internal design  Groups have imbalanced skills and capability  Imbalanced complexity of tasks on three groups  Incorrect time recorded  Generalizability  Professional programmers are more experienced  Professional programmers are more familiar with the software maintained  Maintenance process is different in industry 24
  • 25. Conclusions  Productivity and effort distribution are significantly different among the maintenance types  SLOC metrics are relevant factors for estimating effort  Three SLOC metrics (added, modified, and deleted) have different impact on effort  SLOC deleted is an important factor for estimating effort  It is more expensive to modify than to add or delete a statement  Assigning experienced programmers to fixing defect can save up to 40% of effort 25

Notas del editor

  1. These charts show the effort distributions of four activities in three groups. Four activities are task comprehension, which involves in understanding the task description including asking for clarification, isolation – involves in understanding source code, editing code which is implementing changes, and unit test – testing the code implemented for the change.