Integrated Development Environments (IDEs) lack effective support to browse complex relationships between source code elements. As a result, developers are often forced to exploit multiple user interface components at the same time, bringing the IDE into a complex, "chaotic" state. Keeping track of these relationships demands increased source code navigation and cognitive load, leading to productivity deficits documented in observational studies. Beyond small-scale studies, the amount and nature of the chaos experienced by developers in the wild is unclear, and more importantly it is unclear how to tame it.
Based on a dataset of fine-grained interaction data, we propose several metrics to characterize and quantify the ``level of chaos'' of an IDE. Our results suggest that developers spend, on average, more than 30\% of their time in a chaotic environment, and that this may affect their productivity. To support developers, we devise and evaluate simple strategies that automatically alter the UI of the IDE. We find that even simple strategies may considerably reduce the level of chaos both in terms of effective space occupancy and time spent in a chaotic environment.
1. Taming the IDE
with fine-grained interaction data
Roberto Minelli, Andrea Mocci,
Romain Robbes, Michele Lanza
REVEAL @ Faculty of Informatics – Università della Svizzera italiana
PLEIAD @ Departamento de Ciencias de la Computación – University of Chile
@robertominelli
2. Footprints: History-rich tools for information foraging
A. Wexelblat, P. Maes
SIGCHI 1999, pp. 270–277
“The information path obtained from
navigation in an information space reveals
the user’s mental model of the system.”
3. An exploratory study of how developers seek, relate, and collect
relevant information during software maintenance tasks
A. J. Ko, B. A. Myers, M. J. Coblenz, H. H. Aung
IEEE TSE 2006, vol. 32, no. 12, pp. 971–987
“Developers spend 35% of their time
navigating the source code in search
for information.”
8. Autumn Leaves: Curing the Window Plague in IDEs
D. Roethlisberger, O. Nierstrasz, S. Ducasse
WCRE 2009, 237–246
“Developers are forced to open views on
numerous source artifacts […], leading to a
crowded workspace.”
11. Nonlinear dynamics and chaos.
J. M. T. Thompson and H. B. Stewart
John Wiley & Sons, 2002
DISCLAIMER
Our “chaos” has nothing to do
with “deterministic chaos”
22. 1,631 sessions
17 developers
28' 22" avg. session duration
>770h total time
40,140 # of windows
> 102h User Interface Time
> 595h Understanding Time
Dataset I know what you did last summer:
An investigation of how developers spend their time
R. Minelli, A. Mocci, M. Lanza
ICPC 2015, pp. 25–35
47. Developers spend more than 30% of their time
in highly chaotic IDE configurations…
so
what?
48. Correlation Analysis I know what you did last summer:
An investigation of how developers spend their time
R. Minelli, A. Mocci, M. Lanza
ICPC 2015, pp. 25–35
5%
8%
14%
70%
49. Correlation Analysis
vs.
I know what you did last summer:
An investigation of how developers spend their time
R. Minelli, A. Mocci, M. Lanza
ICPC 2015, pp. 25–35
11%
21%
17%
51%
Chaos Levels
50. Correlation Analysis
vs.
I know what you did last summer:
An investigation of how developers spend their time
R. Minelli, A. Mocci, M. Lanza
ICPC 2015, pp. 25–35
Comfy
Ok
-0.34
-0.04
11%
21%
17%
51%
Chaos Levels
not statistically significant
statistically significant
51. Correlation Analysis
vs.
I know what you did last summer:
An investigation of how developers spend their time
R. Minelli, A. Mocci, M. Lanza
ICPC 2015, pp. 25–35
Comfy
Ok
Mess
Hell
-0.34
-0.04
0.16
0.42
11%
21%
17%
51%
Chaos Levels
not statistically significant
statistically significant
52. Correlation Analysis
vs.
I know what you did last summer:
An investigation of how developers spend their time
R. Minelli, A. Mocci, M. Lanza
ICPC 2015, pp. 25–35
Comfy
Ok
Mess
Hell
-0.34
-0.04
0.16
0.42
Comfy
Ok
Mess
Hell
-0.27
0.05
0.11
0.26
11%
21%
17%
51%
Chaos Levels
not statistically significant
statistically significant