Documente Academic
Documente Profesional
Documente Cultură
> +
s +
=
=
1 ,
100
1 , ] ) 1 ( 1 [ 1 (
2
AAF f or
UNFM x SU
AAF
AAF f or UNFM x SU x AAF AAF
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
P
r
o
d
u
c
t
i
v
i
t
y
(
S
L
O
C
/
H
o
u
r
)
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
R
2
= The coefficient of determination values
R
2
=0.5
R
2
=0.75
22
R
2
=0.55
R
2
=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 M
2
outperforms M
1,
M
3,
M
4
i
i i
i
Actual
Estimate Actual
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