Human-Centric 

Software Development Tools
Gail C. Murphy

University of British Columbia

Tasktop Technologies
@gail_murphy
A more restrictive license has been
chosen given use of licensed images.
2Intro
“software is eating the world”
Marc Andreessen
3Intro
Lint
Non-trivial
Refactoring 

Tools
Extract

Method
Refactoring
Effective Tools Non-Effective Tools
Theories about
“Why”
Research
Human-Centric Software Development Tools
4Intro
Bridging
Theory
Assessment of
Effectiveness
Identification of
Mismatch
Take Aways: It is about the Why
Three Characteristics of Software Development Tool Research…
5Intro
Plan
Mismatches
!
Context
"
Theories
#
6Intro
Assessment
$
Summary
{
Running Example: Eclipse Mylyn
L
Mismatches
Context
Theories
Assessment
Summary
"
!
#
$
{
8
Software development involves
many groups of individuals
working together
9
Software development involves
an individual working
with many complex artifacts
(information spaces)
10
Software development involves
many individuals working
with the same 

information spaces
11
Why Does Context Matter?
Context
defines scope of research
narrows investigation of mismatches
narrows analysis of applicable theories
sets the stage for assessment
12Context
Individual working with the
information space of source code
Mylyn: Initial Context
13Context
Individual’s

work is
fragmented
across tasks
and tools
Mylyn: Expanded Context
Actvities and Task Switches (Session 1)
Time [minutes]
Subject
0 30 60 90 120 150 180
T3
T2
T1
S4
S3
S2
S1
R4
R3
R2
R1
●
●
●
●
●
●
●●
●●●●
● ● ● ●
●
● ●●●●●
●
●
●●●
●●●
●●
●
51 activity switches
10 task switches, 3 distinct tasks
●
●
●●
●
●●●●
●
●●
●
●
●●
●●
●
●●
●●●
●●●●
●
●
●●
●
●
●
●●●
●
●
●
●●●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●●●
●
●
●●
●
●●●●
●
●
●
●
●
●
●
●
● ● ●
● ● ●●
●●
●
●
●
●
●●
●
●
●
●
●
●●●
●
● ●
●
● ●
●
●●
●
●
●●
●
166 activity switches
36 task switches, 3 distinct tasks
●
●●●●
●
●
●
●●
●●●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●●●
●
●
●
●
●●●
●
●●
●
●
●
● ●
●
●
●
●●●●
●
●
●●●
●
●
●●
●
●
●●●
●●●
●●●
●●●●●
●
●
●●●●●●●●
●
●●●
●
● ●● ●●
●
●●
● ●●
●
●
●
●
●
●
●
●●
●
●●●●
●●●
●
●●
●
●●●●●●
●
●●
● ●●●
●
●
● 230 activity switches
79 task switches, 4 distinct tasks
●●
●● ●
●●
●
●
●●●
●
●●
●●●●●
●●
●●
●
●●●●●
●● ●
●●●●
●
●
●
● ●●
●●
● ●●
● ● ●
85 activity switches
13 task switches, 4 distinct tasks
● ●●
●●
●●
●
●
●
●●●
●●
●●●● ●
●
●
●●●
●
●
●
●
●
●
●
● ●● ● ●
●
●
●
●● ●
●
59 activity switches
20 task switches, 5 distinct tasks
● ●
●●●
●
●
●●●●
●●●
● ● ●
● ●
● ●
●●●
●●● ●
●
●
● ●
88 activity switches
17 task switches, 5 distinct tasks
●
●
●●●
●●●●●●●
●●
●●
●
●●●●
●
●
●
●
●●●●●
●
●
●
●●
●
●
●
●
●●
●●
●●●●●●●
●●
●
●●
●
●
●●●
●
●
●
●
● ●
●
●
●
●●
●
●
●
●
●●
●●
●●●
●●
●
●
●
●
● ●●●
●●
●
●
●
●●●
●
●
148 activity switches
27 task switches, 4 distinct tasks
●
●●● ●● ●●
●
●
●
●
●● ●●●●●
●●● ●●
●
●●●● ●●●
●
●
●
●●● ●
●●
●● ●
108 activity switches
16 task switches, 5 distinct tasks
●
●
●
●
●
●
●●
●
●●
●
●
●● ● ●
●
● ● ●
● ●
●
●
● ●
●
66 activity switches
25 task switches
4 distinct tasks
●
●
●
● ●
●●●
●
●
●
●
●
●●●
● ●
● ●
●
●
●
●
● ●●
●
● ●
●
● ●●
●●
●
●
102 activity switches
61 task switches
6 distinct tasks
●
●
●
●●●
●
●●●●●●●●●●
●
●●
●
● ●
●
●
● ●
●
●●●●●●●
●
● ●●●●●
●●●● ● ●
●
●●● ●
●
●●
●●
●●
96 activity switches
28 task switches, 4 distinct tasks
●
●
●
●
●
●
Dev:VC
Dev:Debug
Dev:Code
Dev:Review
Dev:TestApp
Dev:Other
BrowsingRel
BrowsingUnrel
MeetInformal
MeetPlanned
Email
Planning
ReadWriteDoc
Other
[Meyer, Fritz, Murphy, Zimmermann, FSE 2014]
Mismatches
Context
Theories
Assessment
Summary
"
!
#
$
{
15
Individual Working with Source Code
Mismatches
16
Tool-Centric Approach: Completeness
Mismatches
100 of 623
17
Tool Interaction: Select-Perform-Scroll-Repeat
Mismatches
18
Clickitis over Cognition
Mismatches
19
Mismatch: Information Overload
Mismatches
Mylyn: More Source Code than Needed for Task
Only some information on screen is
relevant for a task
Mismatches
Context
Theories
Assessment
Summary
"
!
#
$
{
21
What Kinds of Theories Exist?
Theories
Create:

- program comprehension

- socio-technical congruence
…
Borrow:

- social presence theory

- information foraging
…
22
Are Theories Always Present?
Theories
Nope
23
In IDEs… Semantic Memory of Individual is Taxed
Theories
24
Mylyn: Leverage Episodic MemoryTheories
Mismatches
Context
Theories
Assessment
Summary
"
!
#
$
{
26
Is it Enough to Build it?
Assessment
Need to assess if tool is effective
Need to assess if tool can be used by humans effectively

If effective…try to match theory to “why”
27
Types of Assessment
Assessment
Simulations against repositories

Case studies/experiments in lab
Case studies/experiments in field (in situ)
28
Mylyn
Assessment
Industrial Trial at IBM (2004)



Longitudinal field study (2005)

16 accepted users (99 started study)

13/16 user’s edit ratio improved with Mylyn



Adoption (today)
2 million downloads per month

Mismatches
Context
Theories
Assessment
Epilogue &

Summary
"
!
#
$
{
30Intro
Lint
Non-trivial
Refactoring 

Tools
Extract

Method
Refactoring
Effective Tools Non-Effective Tools
“Why” is 

Understood
Research
Human-Centric Software Development Tools
31Intro
Effective Tools
“Why” is 

Understood
Research
Human-Centric Software Development Tools
Innovation
32
Epilogue
Summary
Research
Invention
creation or design of

something that has

not existed before



e.g., incandescent lightbulb
33
Epilogue
Summary
Research
Invention
Mylyn

Data Structure
creation or design of

something that has

not existed before



e.g., incandescent
34
Epilogue
Summary
Research
Innovation
about the use of an

idea or method

e.g., iPhone
35
Epilogue
Summary
Research
Invention Innovation
Mylyn

Data Structure
Mylyn

UI Innovation
36
Epilogue
Summary
Tasktop products
Tasktop Technologies
2007 - incorporated

2008 - Tasktop Dev

2011 - Tasktop Sync

2014 - $11M Series A

2015 - Tasktop Data



~100 staff
37
Epilogue
Summary
Invention Innovation
It takes almost as

much creativity to

understand a good

idea as to have it

in the first place.
— Alan Kay
Both “I”s are important



Innovation builds from

earlier inventions and

innovations



Research is the base
Doesn’t happen
enough
38Thanks to…
Mylar + Early Tasktop: Tasktopians circa 2013
Mik Kersten, Rob Elves, Shawn Minto, Davor Cubranic, Taivo Evard, Nathan Hapke, 

Wesley Coelho, Meghan Allen, Leo Dos Santos, Steffen Pingel
*Many* amazing grad
students and post-docs
Including Sarah Rastkar, Roberto Bittencourt, Thomas Fritz, Brian de Alwis,

John Anvik, Jan Hannemann, Martin Robillard, Robert Walker, Elisa

Baniassad, Gene Lee, Giovanni Viviani, Sedigheh Zolkatof, Sylvie Foss,

Deepak Azad, Rahul Jiresal, Nick Sawadsky, Alex Bradley, Owen Ou,

Petecharat Viriyakattiyaporn, Kaitlin Sherwood, Izzet Safer, Lyndon Hiew,
Trevor Young, Reid Holmes, Annie Ying, Albert Lai, Emerson Murphy-Hill,
Michalis Famelis, Marc Palyart Neil Ernst, and David Shepherd.
39Summary
Human-Centric Software Development Tools
Research In…
40Intro
Bridging
Theory
Assessment of
Effectiveness
Identification of
Mismatch
Take Aways: It is about the Why
Three Characteristics of Software Development Tool Research…
@gail_murphy

Human-centric Software Development Tools