Mining IDE Interaction Data
Roberto Minelli, Andrea Mocci, Michele Lanza
REVEAL @ Faculty of Informatics

University of Lugano, Switzerland
@robertominelli
NII
SHONAN MEETING
Mining IDE Interaction Data
Commit

Comments
Source Code 

Changes
Q&A

Websites
Development

E-Mails
Mobile App
Stores
Documentation
Pull

Requests
?
IDE
developer IDE
developer
navigate
IDE
developer
navigate
edit
IDE
developer
navigate
edit
inspect
IDE
developer
navigate
userinput
edit
inspect
IDE
developer
navigate
userinterface
userinput
edit
inspect
IDE
developer
navigate
userinterface
userinput
edit
inspect
IDE
interaction
data
developer
navigate
userinterface
userinput
edit
inspect
interaction
data
IDE
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
DFlow
A novel (MUDdy) source for mining...
...with a lot of untapped potential!
How do developers
navigate code?
How do developers
navigate code?
How chaotic is the
UI of the IDE?
How do developers
navigate code?
How chaotic is the
UI of the IDE?
How do developers
spend their time?
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
How do developers
spend their time?
Mining IDE Interaction Data
Edited
method
Out of
the IDE
Window
Focus
Window
FocusSearch
Events
Mouse
Keyboard
Window
Meta
Edited
method
Out of
the IDE
Window
Focus
Window
FocusSearch
Windows
Workspace
Code browser
Finder
Events
Mouse
Keyboard
Window
Meta
w1 w2 w3 w2 w4w2
Mining IDE Interaction Data
Reaction Time (RT). The time that elapses
between the end of a physical action
sequence and the beginning of concrete
mental processes like reflecting or planning
Reaction Time (RT). The time that elapses
between the end of a physical action
sequence and the beginning of concrete
mental processes like reflecting or planning
This represents the basic moments of
program comprehension
> RT > RT
This represents the basic moments of
program comprehension
Reaction Time (RT). The time that elapses
between the end of a physical action
sequence and the beginning of concrete
mental processes like reflecting or planning
> RT > RT
> RT > RT
w1 w2
> RT > RT
w1 w2
> RT > RT
w1 w2
Code Browser
Activity
Workspace
Code browser
Finder
> RT > RT
w1 w2Editing time
Code Browser
Activity
Workspace
Code browser
Finder
> RT > RT
w1 w2
Understanding
time
Code Browser
Activity
Editing time
Workspace
Code browser
Finder
w1 w2 w3 w2 w4w2
Edited
method
> RT > RT
Out of
the IDE
Window
Focus
Window
FocusSearch
Events
Mouse
Keyboard
Window
Meta
Sprees and Activities
Mouse
Keyboard
Activity
Windows
Workspace
Code browser
Finder
Understanding
70%
User Interface
14%
Outside the IDE
8%
Editing
5%
Navigating
4%
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
Understanding
70%
User Interface
14%
Outside the IDE
8%
Editing
5%
Navigating
4%
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
Principles of software engineering and design
M. Zelkowitz, A. Shaw, J. Gannon
. Prentice Hall, 1979
Application Program Maintenance Study: 

Report to Our Respondents
. R. K. Fjeldstad, W. T. Hamlen
. Tutorial on Software Maintenance, pp. 13–30, 1982
Program understanding: Challenge for the 1990s
. T. A. Corbi
. IBM Systems Journal, vol. 28, no. 2, pp. 294–306, 1989
“Program understanding 

absorbs half of the time 

of a developer”
User Interface
14%
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
“Developers spend 14% of
their time by simply fiddling
with the UI of the IDE”
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
How chaotic is 

the UI of the IDE?
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
No
Overlapping
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
Low
Overlapping
No
Overlapping
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
High
Overlapping
Low
Overlapping
No
Overlapping
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
Free Space
Overlapping Space
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
Occupied Space
Free Space
Focus Space
Needed Space
Overlapping Space
Overlapping Depth
Weighted Overlapping Space
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
Comfy
Ok
Mess
Hell
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
Comfy
Ok
Mess
Hell
Hell
11%
Mess
21%
Ok
17%
Comfy
51%
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
Comfy
Ok
Mess
Hell
Hell
11%
Mess
21%
Ok
17%
Comfy
51%
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
Comfy
Ok
Mess
Hell
Hell
11%
Mess
21%
Ok
17%
Comfy
51%
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
User Interface
14%
vs.
Hell
11%
Mess
21%
Ok
17%
Comfy
51%
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
User Interface
14%
vs.
Hell
11%
Mess
21%
Ok
17%
Comfy
51%
0.42
0.16Mess
Hell -0.04
-0.34Comfy
Ok
How do developers
navigate code?
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
navigation efficiency
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
real navigation effort
navigation efficiency =
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
real navigation effort
navigation efficiency =
Number of 

navigation events
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
real navigation effort
navigation efficiency =
Number of 

navigation events
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
The sum of the navigation costs

needed to reach the edited entities
navigation cost edited entities
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
class
package protocol
method
source
code
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
class
package
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
class
package protocol
method
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
class
package protocol
method
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
class
package protocol
method
source
code
ideal navigation effort
class
package
protocol
method
= 1
= 2
= 3
= 4
ideal navigation effort
ideal navigation effort
= 1
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
The sum of the navigation costs

needed to reach the edited entities
navigation cost edited entities
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
The sum of the navigation costs

needed to reach the edited entities
navigation cost edited entities
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
event
t
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
event viewed entity
t
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
event viewed entity edited entity
t
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
t
edited entity
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
t
edited entity
A B B C
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
edited entity
tA B A.m1 A.m1A.m1 B C B.m2 B.m3 tA B A.m1 A.m1A.m1 B C B.m2 B.m3
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
tA B A.m1 A.m1A.m1 B C B.m2 B.m3
tA B A.m1 A.m1A.m1 B C B.m2 B.m3
edited entity
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
tA B A.m1 A.m1A.m1 B C B.m2 B.m3
tA B A.m1 A.m1A.m1 B C B.m2 B.m3
edited entity
sequence
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
tA B A.m1 A.m1A.m1 B C B.m2 B.m3
A
B
A.m1
A.m1
A.m1 B
C
B.m2
B.m3
edited entity
set
sequence
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
ideal navigation effort
navigation cost
edited entities
sequence
set
unitary
max
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
5.1% 20.6%
unitary max
9.6% 38.7%
sequence
set
ideal navigation effort
real navigation effort
navigation efficiency =
How do developers
navigate code?
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
How do developers
navigate code?
Not very efficiently
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. to appear
Mining IDE Interaction Data
interaction
data
interaction
data
Mining IDE Interaction Data
Tab-based IDEs
Tab-based IDEs
Make this information actionable
Tab-based IDEs
Make this information actionable
@robertominelli
NII
SHONAN MEETING

More Related Content

PPTX
งานสุข
DOCX
Poesia
PDF
Infonorma
PPTX
Prueba
RTF
PPTX
Presentation
PDF
Apresentação de Negócios ViverBem - Plano de Marketing 2017
PPTX
Aprendizaje visual
งานสุข
Poesia
Infonorma
Prueba
Presentation
Apresentação de Negócios ViverBem - Plano de Marketing 2017
Aprendizaje visual

Viewers also liked (6)

RTF
aaaaaaaaaaa
PPTX
Ppt roma
PPTX
Radio Trailer Analysis
DOC
Resume(Bijendrasinh Vihol)
DOCX
منهج الكتابة
PPTX
Como tornar a pequena empresa mais competitiva através da inovação
aaaaaaaaaaa
Ppt roma
Radio Trailer Analysis
Resume(Bijendrasinh Vihol)
منهج الكتابة
Como tornar a pequena empresa mais competitiva através da inovação
Ad

Similar to Mining IDE Interaction Data (20)

PDF
Measuring Navigation Efficiency in the IDE
PDF
Taming the IDE with Fine-Grained Interaction Data
PDF
Interaction-Aware Development Environments
PDF
DFlow is dead. Long live Tako!
PDF
Visual Storytelling of Development Sessions [ICSME2014]
PDF
I Know What You Did Last Summer [ICPC 2025 MIP Award]
PDF
130321 zephyrin soh - on the effect of exploration strategies on maintenanc...
PDF
Towards Self-Adaptive IDEs [ICSME2014]
PDF
Interaction-Aware Development Environments
PDF
First steps towards Self-Adaptive IDEs
PDF
Visualizing the Workflow of Developers [VISSOFT2013]
PDF
I Know What You Did Last Summer – An Investigation of How Developers Spend Th...
PDF
Usable Software Design
PDF
Visualizing the Evolution of Working Sets
PPT
User Driven Software Architecture
PDF
Time to Think About Time
PDF
HCI 2018 (7/10) HCI Engineering. UI Evaluation. Models
PDF
Visualizing Developer Interactions [VISSOFT2014]
PDF
Wcre13a.ppt
PDF
131014 wcre-exploration
Measuring Navigation Efficiency in the IDE
Taming the IDE with Fine-Grained Interaction Data
Interaction-Aware Development Environments
DFlow is dead. Long live Tako!
Visual Storytelling of Development Sessions [ICSME2014]
I Know What You Did Last Summer [ICPC 2025 MIP Award]
130321 zephyrin soh - on the effect of exploration strategies on maintenanc...
Towards Self-Adaptive IDEs [ICSME2014]
Interaction-Aware Development Environments
First steps towards Self-Adaptive IDEs
Visualizing the Workflow of Developers [VISSOFT2013]
I Know What You Did Last Summer – An Investigation of How Developers Spend Th...
Usable Software Design
Visualizing the Evolution of Working Sets
User Driven Software Architecture
Time to Think About Time
HCI 2018 (7/10) HCI Engineering. UI Evaluation. Models
Visualizing Developer Interactions [VISSOFT2014]
Wcre13a.ppt
131014 wcre-exploration
Ad

More from Roberto Minelli (8)

PDF
SYN: Ultra-Scale
Software Evolution Comprehension [ICPC 2023]
PDF
Traduzioni: Ieri, Oggi e Domani

PDF
Come Creare un Talk in Stile TED

PDF
The Plague Doctor: A Promising Cure for the Window Plague
PDF
Free Hugs — Praising developers for their actions [ICSE2015]
PDF
Quantifying Program Comprehension with Interaction Data [QSIC2014]
PDF
SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]
PDF
Software Analytics for Mobile Applications – Insights & Lessons Learned [CSMR...
SYN: Ultra-Scale
Software Evolution Comprehension [ICPC 2023]
Traduzioni: Ieri, Oggi e Domani

Come Creare un Talk in Stile TED

The Plague Doctor: A Promising Cure for the Window Plague
Free Hugs — Praising developers for their actions [ICSE2015]
Quantifying Program Comprehension with Interaction Data [QSIC2014]
SAMOA – A Visual Software Analytics Platform for Mobile Applications [ICSM2013]
Software Analytics for Mobile Applications – Insights & Lessons Learned [CSMR...

Recently uploaded (20)

PPTX
Tech Workshop Escape Room Tech Workshop
PDF
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
PDF
Multiverse AI Review 2025: Access All TOP AI Model-Versions!
PPTX
4Seller: The All-in-One Multi-Channel E-Commerce Management Platform for Glob...
PDF
Microsoft Office 365 Crack Download Free
PDF
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
PPTX
Matchmaking for JVMs: How to Pick the Perfect GC Partner
PPTX
Python is a high-level, interpreted programming language
PDF
Type Class Derivation in Scala 3 - Jose Luis Pintado Barbero
PDF
Guide to Food Delivery App Development.pdf
PDF
Wondershare Recoverit Full Crack New Version (Latest 2025)
PPTX
Introduction to Windows Operating System
PDF
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
PDF
iTop VPN Crack Latest Version Full Key 2025
PDF
BoxLang Dynamic AWS Lambda - Japan Edition
PPTX
Computer Software - Technology and Livelihood Education
PDF
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
PPTX
Download Adobe Photoshop Crack 2025 Free
PDF
MCP Security Tutorial - Beginner to Advanced
Tech Workshop Escape Room Tech Workshop
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
Multiverse AI Review 2025: Access All TOP AI Model-Versions!
4Seller: The All-in-One Multi-Channel E-Commerce Management Platform for Glob...
Microsoft Office 365 Crack Download Free
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
Matchmaking for JVMs: How to Pick the Perfect GC Partner
Python is a high-level, interpreted programming language
Type Class Derivation in Scala 3 - Jose Luis Pintado Barbero
Guide to Food Delivery App Development.pdf
Wondershare Recoverit Full Crack New Version (Latest 2025)
Introduction to Windows Operating System
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
iTop VPN Crack Latest Version Full Key 2025
BoxLang Dynamic AWS Lambda - Japan Edition
Computer Software - Technology and Livelihood Education
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
Download Adobe Photoshop Crack 2025 Free
MCP Security Tutorial - Beginner to Advanced

Mining IDE Interaction Data