Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Mining IDE Interaction Data
Roberto Minelli, Andrea Mocci, Michele Lanza
REVEAL @ Faculty of Informatics

University of Lu...
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 investi...
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...
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
W...
Reaction Time (RT). The time that elapses
between the end of a physical action
sequence and the beginning of concrete
ment...
Reaction Time (RT). The time that elapses
between the end of a physical action
sequence and the beginning of concrete
ment...
> RT > RT
This represents the basic moments of
program comprehension
Reaction Time (RT). The time that elapses
between the...
> 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
...
Understanding
70%
User Interface
14%
Outside the IDE
8%
Editing
5%
Navigating
4%
I know what you did last summer: 

An inv...
Understanding
70%
User Interface
14%
Outside the IDE
8%
Editing
5%
Navigating
4%
I know what you did last summer: 

An inv...
User Interface
14%
I know what you did last summer: 

An investigation of how developers spend their time
R. Minelli, A. M...
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
How cha...
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
Over...
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
Low
Ove...
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
High
Ov...
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
Free Sp...
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
Occupie...
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
Comfy
O...
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
Comfy
O...
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
Comfy
O...
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
Comfy
O...
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
User In...
Taming the IDE with Fine-grained Interaction Data
R. Minelli, A. Mocci, R. Robbes, M. Lanza
submitted at ICPC 2016
User In...
How do developers
navigate code?
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. ...
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
...
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
...
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
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
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
...
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
...
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
...
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
...
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
...
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
...
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
...
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
...
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
5.1% 20.6%
unitary max
...
How do developers
navigate code?
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. Lanza
IWESEP 2015, pp. ...
How do developers
navigate code?
Not very efficiently
Measuring Navigation Efficiency in the IDE
R. Minelli, A. Mocci, M. La...
interaction
data
interaction
data
Tab-based IDEs
Tab-based IDEs
Make this information actionable
Tab-based IDEs
Make this information actionable
@robertominelli
NII
SHONAN MEETING
Mining IDE Interaction Data
Mining IDE Interaction Data
Mining IDE Interaction Data
Mining IDE Interaction Data
Mining IDE Interaction Data
Prochain SlideShare
Chargement dans…5
×
Prochain SlideShare
Infonorma
Suivant
Télécharger pour lire hors ligne et voir en mode plein écran

1

Partager

Télécharger pour lire hors ligne

Mining IDE Interaction Data

Télécharger pour lire hors ligne

My slides for the NII Shonan Meeting Seminar 084 – Mining & Modeling Unstructured Data In Software‐Challenges For The Future.

Livres associés

Gratuit avec un essai de 30 jours de Scribd

Tout voir

Mining IDE Interaction Data

  1. 1. Mining IDE Interaction Data Roberto Minelli, Andrea Mocci, Michele Lanza REVEAL @ Faculty of Informatics
 University of Lugano, Switzerland @robertominelli NII SHONAN MEETING
  2. 2. Commit
 Comments Source Code 
 Changes Q&A
 Websites Development
 E-Mails Mobile App Stores Documentation Pull
 Requests
  3. 3. ?
  4. 4. IDE
  5. 5. developer IDE
  6. 6. developer navigate IDE
  7. 7. developer navigate edit IDE
  8. 8. developer navigate edit inspect IDE
  9. 9. developer navigate userinput edit inspect IDE
  10. 10. developer navigate userinterface userinput edit inspect IDE
  11. 11. developer navigate userinterface userinput edit inspect IDE interaction data
  12. 12. 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
  13. 13. A novel (MUDdy) source for mining...
  14. 14. ...with a lot of untapped potential!
  15. 15. How do developers navigate code?
  16. 16. How do developers navigate code? How chaotic is the UI of the IDE?
  17. 17. How do developers navigate code? How chaotic is the UI of the IDE? How do developers spend their time?
  18. 18. 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?
  19. 19. Edited method Out of the IDE Window Focus Window FocusSearch Events Mouse Keyboard Window Meta
  20. 20. 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
  21. 21. 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
  22. 22. 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
  23. 23. > 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
  24. 24. > RT > RT
  25. 25. > RT > RT w1 w2
  26. 26. > RT > RT w1 w2
  27. 27. > RT > RT w1 w2 Code Browser Activity Workspace Code browser Finder
  28. 28. > RT > RT w1 w2Editing time Code Browser Activity Workspace Code browser Finder
  29. 29. > RT > RT w1 w2 Understanding time Code Browser Activity Editing time Workspace Code browser Finder
  30. 30. 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
  31. 31. 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
  32. 32. 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”
  33. 33. 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”
  34. 34. 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?
  35. 35. Taming the IDE with Fine-grained Interaction Data R. Minelli, A. Mocci, R. Robbes, M. Lanza submitted at ICPC 2016
  36. 36. Taming the IDE with Fine-grained Interaction Data R. Minelli, A. Mocci, R. Robbes, M. Lanza submitted at ICPC 2016 No Overlapping
  37. 37. Taming the IDE with Fine-grained Interaction Data R. Minelli, A. Mocci, R. Robbes, M. Lanza submitted at ICPC 2016 Low Overlapping No Overlapping
  38. 38. 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
  39. 39. Taming the IDE with Fine-grained Interaction Data R. Minelli, A. Mocci, R. Robbes, M. Lanza submitted at ICPC 2016 Free Space Overlapping Space
  40. 40. 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
  41. 41. Taming the IDE with Fine-grained Interaction Data R. Minelli, A. Mocci, R. Robbes, M. Lanza submitted at ICPC 2016 Comfy Ok Mess Hell
  42. 42. 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%
  43. 43. 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%
  44. 44. 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%
  45. 45. 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%
  46. 46. 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
  47. 47. How do developers navigate code? Measuring Navigation Efficiency in the IDE R. Minelli, A. Mocci, M. Lanza IWESEP 2015, pp. to appear
  48. 48. Measuring Navigation Efficiency in the IDE R. Minelli, A. Mocci, M. Lanza IWESEP 2015, pp. to appear navigation efficiency
  49. 49. 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 =
  50. 50. 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
  51. 51. 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
  52. 52. 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
  53. 53. Measuring Navigation Efficiency in the IDE R. Minelli, A. Mocci, M. Lanza IWESEP 2015, pp. to appear ideal navigation effort
  54. 54. 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
  55. 55. Measuring Navigation Efficiency in the IDE R. Minelli, A. Mocci, M. Lanza IWESEP 2015, pp. to appear ideal navigation effort
  56. 56. Measuring Navigation Efficiency in the IDE R. Minelli, A. Mocci, M. Lanza IWESEP 2015, pp. to appear ideal navigation effort class package
  57. 57. Measuring Navigation Efficiency in the IDE R. Minelli, A. Mocci, M. Lanza IWESEP 2015, pp. to appear ideal navigation effort class package protocol method
  58. 58. Measuring Navigation Efficiency in the IDE R. Minelli, A. Mocci, M. Lanza IWESEP 2015, pp. to appear ideal navigation effort class package protocol method
  59. 59. 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
  60. 60. ideal navigation effort class package protocol method = 1 = 2 = 3 = 4
  61. 61. ideal navigation effort
  62. 62. ideal navigation effort = 1
  63. 63. 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
  64. 64. 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
  65. 65. Measuring Navigation Efficiency in the IDE R. Minelli, A. Mocci, M. Lanza IWESEP 2015, pp. to appear ideal navigation effort event t
  66. 66. Measuring Navigation Efficiency in the IDE R. Minelli, A. Mocci, M. Lanza IWESEP 2015, pp. to appear ideal navigation effort event viewed entity t
  67. 67. 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
  68. 68. Measuring Navigation Efficiency in the IDE R. Minelli, A. Mocci, M. Lanza IWESEP 2015, pp. to appear ideal navigation effort t edited entity
  69. 69. 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
  70. 70. 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
  71. 71. 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
  72. 72. 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
  73. 73. 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
  74. 74. 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
  75. 75. 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 =
  76. 76. How do developers navigate code? Measuring Navigation Efficiency in the IDE R. Minelli, A. Mocci, M. Lanza IWESEP 2015, pp. to appear
  77. 77. 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
  78. 78. interaction data
  79. 79. interaction data
  80. 80. Tab-based IDEs
  81. 81. Tab-based IDEs Make this information actionable
  82. 82. Tab-based IDEs Make this information actionable @robertominelli NII SHONAN MEETING
  • vincenzoferme

    Mar. 9, 2016

My slides for the NII Shonan Meeting Seminar 084 – Mining & Modeling Unstructured Data In Software‐Challenges For The Future.

Vues

Nombre de vues

360

Sur Slideshare

0

À partir des intégrations

0

Nombre d'intégrations

6

Actions

Téléchargements

5

Partages

0

Commentaires

0

Mentions J'aime

1

×