SlideShare uma empresa 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Destaque (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
 

Semelhante 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
 

Semelhante 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
 

Mais 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
 

Mais 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

APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...Pooja Nehwal
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 

Último (20)

APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 

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 do 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.