Interaction-Aware
Development Environments
Roberto Minelli
REVEAL @ Faculty of Informatics
Università della Svizzera italiana (USI) @robertominelli
IDE
IDE
navigate
IDE
navigate
edit
IDE
navigate
edit
inspect
IDE
navigate
userinput
edit
inspect
IDE
IDE
navigate
userinterface
userinput
edit
inspect
IDE
DFlow
Visualizing Developer Interactions
R. Minelli, A. Mocci, M. Lanza, L. Baracchi
VISSOFT 2014
Step1:

Record
IDE
Interaction Data
IDE
Interaction Data
Step1:

Record
Visualizing Developer Interactions
R. Minelli, A. Mocci, M. Lanza, L. Baracchi
VISSOFT 2014
IDE
DFlow
sessions
developers
development time
avg. session duration
# windows
events
1,800+
24
770+ hours
30 min
40,000+
5M+
Step1:

Record
1,800+
24
770+ hours
30 min
40,000+
5M+
Step1:

Record
sessions
developers
development time
avg. session duration
# windows
events
An Investigation of How Developers Spend Their Time
R. Minelli, A. Mocci, M. Lanza
ICPC 2015
Step2:

Understand
I Know What You Did Last Summer
An Investigation of How Developers Spend Their Time
R. Minelli, A. Mocci, M. Lanza
ICPC 2015
5%
8%
14%
70%
4%
Step2:

Understand
Editing
Understanding
Navigation
User Interface
Outside the IDE
5%
8%
14%
70%
4%
Step2:

Understand
Editing
Understanding
Navigation
User Interface
Outside the IDE
I Know What You Did Last Summer
An Investigation of How Developers Spend Their Time
R. Minelli, A. Mocci, M. Lanza
ICPC 2015
5%
8%
14%
70%
4%
Step2:

Understand
Editing
Understanding
Navigation
User Interface
Outside the IDE
vs.
I Know What You Did Last Summer
An Investigation of How Developers Spend Their Time
R. Minelli, A. Mocci, M. Lanza
ICPC 2015
5%
8%
14%
70%
4%
Editing
Understanding
Navigation
User Interface
Outside the IDE
PCC=0.65 (p < 10-16
)
vs.
Step2:

Understand
I Know What You Did Last Summer
An Investigation of How Developers Spend Their Time
R. Minelli, A. Mocci, M. Lanza
ICPC 2015
Step3:

Exploit
The plague doctor:
A promising cure for the window plague
R. Minelli, A. Mocci, M. Lanza
ICPC 2015 (ERA)
Step3:

Exploit
pin window
levels of relevance
candidate for closure
Step3:

Exploit

Interaction-Aware Development Environments