Professional Documents
Culture Documents
Erik Arisholm
Exp 2: The Control-style experiment with professional Java developers and Java tools (Fall 2001- Spring 2002)
Eff t off C
Effect
Centralized
t li d vs Delegated
D l
t d Control
C t l Style
St l for
f Categories
C t
i off Developer
D
l
E. Arisholm and D. I. K. Sjberg. Evaluating the Effect of a Delegated versus Centralized Control Style on the Maintainability
of Object-Oriented Software, IEEE Transactions on Software Engineering 30(8):521-534, 2004
99 professionals, 59 students
Effect of Pair Programming (vs individual programming) and Delegated vs Centralized Control Style
E. Arisholm, H. E. Gallis, T. Dyb and D. I. K. Sjberg. Evaluating Pair Programming with Respect to System Complexity
and Programmer Expertise, IEEE Transactions on Software Engineering 33(2):65-86, 2007.
196 professional programmers in Norway, Sweden, and UK (98 pairs)
99 individuals (from Exp 2)
14/11/2005
Control Style
Exp1
x
Exp2
x
UML
Exp3
x
Exp4
x
Task Order
Pair Programming
System
S
Dependent
Variables
Control Style
Documentation
Task Order
Development
tools
Development
process
Subjects
Coffee-machine
C
ff
hi
Duration (minutes)
Correctness (%)
Centralized (CC)
Delegated (DC)
No UML
Some UML
Complete UML
Easy First
Difficult first
Java Pen & Paper
Java IDE
UML Tool
Individual
Pair Programming
BSc-students
MSc-students
Juniors
Intermediates
Seniors
Exp5
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
36
12
27
32
31
32
36
x
x
x
x
x
98
66
50
70
76
5
The Delegated
g
Control Style:
y
The treatments
CoffeeMachine
CashBox
FrontPanel
CC
DC
Product
ProductRegister
Recipe
Dispensers
DispenserRegister
Ingredient.
Output
Input
Main
CC
DC
Total
Undergraduate
13
14
27
Graduate
15
17
32
Junior
16
15
31
Intermediate
17
15
32
Senior
17
19
36
Total
78
80
158
Training Task
DC
CC
Tasks 2-5
Tasks 2-5
Results
Design
100
90
80
70
DC
CC
100
% Correct Solutions
Design
DC
CC
110
50
0
Undergraduate Graduate
Junior
Intermediate
Senior
Undergraduate Graduate
Junior
Intermediate
Senior
10
11
Research questions
RQ1: Does the order in which you perform
maintenance tasks affect maintainability?
RQ2: Does the effect of task order depend on
how the system is structured (control style)?
Wang & Arisholm, The Effect of Task Order on the Maintainability of ObjectOriented Software, To appear in Information and Software Technology (IST),
2008.
12
13
Hypotheses
14
Experiment design
15
Post-test (Y)
*T.D. Cook, and D.T. Campbell (1979), Quasi-Experimentation: Design & Analysis Issues for Field Settings, Houghton Mifflin Company.
14/11/2005
16
Response
Distrib.
Link
Model Term
Log(pre_dur)
(1)
Duration
Gamma
Log
TaskOrder
Design
TaskOrder x Design
Test H02
Log(pre_dur)
(2)
Correctness
Binomial
Logit
TaskOrder
Design
TaskOrder x Design
Test H04
17
14/11/2005
18
19
10
80
70
60
No UML
50
UML
40
30
20
10
0
Task1
Task2
Task3
Task4
* E. Arisholm, L. C. Briand, S. E. Hove and Y. Labiche. The Impact of UML Documentation on Software Maintenance: An Experimental
Evaluation, IEEE Transactions on Software Engineering 32(6):365-381, 2006.
Time (minutes)
200
150
100
50
0
NoUML
UML
11
Time (minutes)
T
200
150
100
50
0
NoUML
UML
24
12
Independent variable:
Moderator variables:
Treatments:
Dependent variables:
JJunior,
i iintermediate
t
di t and
d senior
i pairs
i and
d iindividuals
di id l were randomly
d l
assigned to one of two alternative (delegated or centralized) designs of a
coffee-machine, and performed four (incremental) maintenance tasks on the
system
Subjects:
Research Question
What is the effect (regarding duration, effort and
correctness)
t
) off pair
i programming
i ((vs. iindividual
di id l
programming) for various levels of programmer expertise
and task complexity when performing change tasks?
Pair Programming
(vs individual programming)
affects
Duration
Effort
Correctness
Programmer Expertise
Task Complexity
26
13
Quasi-Experimental Design
(combines subjects from Exp 2 and Exp 5)
27
14
Formal Hypotheses
H01
H02
H03
H04
H05
H06
H07
H08
H09
Effect of Pair Programming on Duration: The duration to perform change tasks is equal for
individuals and pairs.
Effect of Pair Programming on Change Effort: The effort spent to perform change tasks is equal for
individuals and pairs.
Effect of Pair Programming on Quality: The quality of the maintained programs is equal for
individuals and pairs.
Moderating Effect of Programmer Expertise on Duration: The difference in the duration to perform
change tasks for pairs versus individuals does not depend on programmer expertise.
Moderating Effect of Programmer Expertise on Change Effort: The difference in the effort spent to
perform change tasks for pairs versus individuals does not depend on programmer expertise.
Moderating Effect of Programmer Expertise on Quality: The difference in the quality of the
maintained programs for pairs versus individuals does not depend on programmer expertise.
Moderating Effect of Task Complexity on Duration: The difference in the duration to perform change
tasks for pairs versus individuals does not depend on task complexity.
complexity
Moderating Effect of Task Complexity on Change Effort: The difference in the effort spent to
perform change tasks for individuals and pairs does not depend on task complexity.
Moderating Effect of Task Complexity on Quality: The difference in the quality of the maintained
programs for pairs versus individuals does not depend on task complexity.
29
(1)
(2)
(3)
Model Term
Log(pre_dur)
PP
CS
Log(pre_dur)*PP
Log(pre_dur)*CS
PP*CS
Log(pre_dur)*PP*CS
Log(Effort)
Log(pre_dur)
PP
CS
Log(pre_dur)*PP
Log(pre_dur)*CS
PP*CS
Log(pre_dur)*PP*CS
Logit(Correctness) Log(pre_dur)
PP
CS
Log(pre_dur)*PP
Log(pre_dur)*CS
PP*CS
Log(pre_dur)*PP*CS
15
Results
Moderating Effect of System Com plexity on PP
160 %
140 %
140 %
120 %
100 %
84 %
80 %
60 %
40 %
7%
20 %
0%
-20 %
-40 %
-8 %
Duration
Total Effect of PP
160 %
120 %
100 %
0%
-20 %
Effort
Correctness
140 %
111 %
120 %
100 %
73 %
80 %
60 %
40 %
5%
0%
-20 %
-16 %
-20 %
Duration
-40 %
140 %
120 %
100 %
149 %
CC (easy)
109 % 112 %
DC (complex)
80 %
60 %
32 %
40 %
20 %
4%
6%
0%
-20 %
-40 %
Duration
Effort
Correctness
Duration
Effort
Correctness
160 %
140 %
140 %
120 %
100 %
80 %
60 %
43 %
40 %
20 %
4%
0%
-20 %
-28 %
48 %
6%
20 %
120 %
100 %
Duration
Effort
0%
Effort
Correctness
83 %
80 %
60 %
40 %
20 %
0%
-8 %
160 %
120 %
100 %
Correctness
115 %
CC (easy)
DC (complex)
80 %
55 %
60 %
40 %
8%
20 %
0%
-20 %
-40 %
-40 %
Effort
-29 %
-39 % -16 %
Duration
Duration
22 %
20 %
-20 %
Correctness
120 %
-9 %
92 %
68 %
40 %
140 %
-20 %
DC (complex)
60 %
160 %
100 %
CC (easy)
80 %
-40 %
-40 %
60 %
40 %
Correctness
160 %
20 %
112 %
DC (com plex)
60 %
-40 %
Effort
CC (easy)
80 %
-2 %
-13 %
-23 %
Duration
Effort
Correctness
14/11/2005
31
Summary of results
Performing change tasks on a delegated control style requires, on
average, more time and results in more defects than on a centralized
control style, in particular for novices (undergraduate students and
junior consultants)
Only seniors seem to have the necessary skills to benefit from the more
elegant delegated control style.
Explanation: Unlike experts, novices perform a mental trace the code in
order to understand it. This tracing effort is more difficult in a delegated
control style
Results are consistent when performing the most difficult task first
(though the disadvantage of a delegated control style is smaller than
for easy first)
32
16