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.
The Plague Doctor
A Promising Cure for the Window Plague
Roberto Minelli, Andrea Mocci, Michele Lanza
REVEAL @ Faculty of ...
Software is complex
Organized in hierarchies
Contains complex relationships
Integrated Development Environments
flat
flat
unused
overlappingflat
unused
overlappingflat
unused
5%
8%
14%
70%
4%
"I Know What You Did Last Summer
An Investigation of How Developers Spend Their Ti...
"Autumn Leaves: Curing the Window Plague in IDEs.”
D. Röthlisberger, O. Nierstrasz, S. Ducasse.
In Proceedings of WCRE 200...
"Autumn Leaves: Curing the Window Plague in IDEs.”
D. Röthlisberger, O. Nierstrasz, S. Ducasse.
In Proceedings of WCRE 200...
importance
importance
candidates
pinned
importance
candidates
DFLOW
Smalltalk IDE
Recorder Analyzer …
HTTP
DFLOW
Server
DFLOW
Smalltalk IDE
Recorder Analyzer …
HTTP
DFLOW
Server
Meta
Opening a Finder UI
Selecting a package, method, or class i...
Models
Strategies
Models
Program Entity
Window Interaction
Strategies
Models
Program Entity Window Interaction
Associates a weight to each
class or method observed during
a development session...
Models
Program Entity Window Interaction
Associates a weight to each
class or method
a development session
Associates a we...
Window weight
Models
Program Entity Window Interaction
Associates a weight to each
class or method
a development session
A...
Strategies
Weighting
Closing
Models
Program Entity
Window Interaction
Strategies
Weighting Closing
Determines how the weight
models are updated
Determines
candidate for closure
Strategies
Weighting Closing
Determines how the weight
models are updated
Determines
candidate for closure
Fixed Update
"A...
Strategies
Weighting Closing
Determines how the weight
models
Determines which windows are
candidate for closure
"Autumn L...
Strategies
Closing
Determines which windows are
candidate for closure
"Autumn Leaves: Curing the Window Plague in IDEs.”
D...
Strategies
Closing
Determines which windows are
candidate for closure
"Autumn Leaves: Curing the Window Plague in IDEs.”
D...
IDE developer
interactions
Models Strategies
IDE developer
interactions
Models
plague doctor
IDE developer
interactions
Models
plague doctor
IDE developer
interactions
Models
plague doctor
IDE developer
interactions
Models
plague doctor
updates UI colors
(suggests to) close windows
StrategiesModels
It is only for window
based IDEs
It is only for window
based IDEs
–No.
The default weighting and
closing strategies can be
applied directly to tab-based
ID...
It is the same as
Autumn Leaves
"Autumn Leaves: Curing the Window Plague in IDEs.”
D. Röthlisberger, O. Nierstrasz, S. Duc...
It is the same as
Autumn Leaves
–No.
It can exploit more/better data
It is extensible
It is customizable
It is available
h...
http://tiny.cc/plaguedoc
Fine-tuning the existing strategies
Evaluation
http://tiny.cc/plaguedoc
Fine-tuning the existing strategies
Novel strategies
Exploiting more interactions
Evaluation
http://tiny.cc/plaguedoc
Fine-tuning the existing strategies
Novel strategies
Self-Adaptation
Exploiting more interactions
Evaluation
http://tiny.c...
http://tiny.cc/plaguedoc
@robertominelli
http://tiny.cc/plaguedoc
@robertominelli
Free Hugs
Wed, 12:10 @ ICSE
NIER: New Dimensions
The Plague Doctor: A Promising Cure for the Window Plague
The Plague Doctor: A Promising Cure for the Window Plague
The Plague Doctor: A Promising Cure for the Window Plague
Prochain SlideShare
Chargement dans…5
×
Prochain SlideShare
Plague doctor mask
Suivant
Télécharger pour lire hors ligne et voir en mode plein écran

0

Partager

Télécharger pour lire hors ligne

The Plague Doctor: A Promising Cure for the Window Plague

Télécharger pour lire hors ligne

My slides for the presentation of our ERA paper at ICPC 2015 (International Conference on Program Comprehension).

Abstract–Modern Integrated Development Environments (IDEs) are often affected by the “window plague”, an overly crowded workspace with many open windows and tabs. The main cause is the lack of navigation support in IDEs, also due to the many—and not always obvious—complex relationships that exist between program entities. Researchers have shown that it is possible to mitigate the window plague by exploiting the data obtained by monitoring how developers interact with the user interface of the IDE. However, despite initial results the approach was never fully integrated in an IDE.

In our previous work, we implemented DFlow, an automatic interaction profiler that monitors all the fine-grained interactions of the developer with the IDE. Here we present a first prototype of the Plague Doctor, a tool that seamlessly detects the windows that are less likely to be used in the future and automatically closes them. We discuss our long term vision on how to fully exploit the interaction data recorded by DFlow to provide a more effective cure for the window plague.

Livres associés

Gratuit avec un essai de 30 jours de Scribd

Tout voir
  • Soyez le premier à aimer ceci

The Plague Doctor: A Promising Cure for the Window Plague

  1. 1. The Plague Doctor A Promising Cure for the Window Plague Roberto Minelli, Andrea Mocci, Michele Lanza REVEAL @ Faculty of Informatics — University of Lugano, Switzerland @robertominelli
  2. 2. Software is complex
  3. 3. Organized in hierarchies
  4. 4. Contains complex relationships
  5. 5. Integrated Development Environments
  6. 6. flat
  7. 7. flat unused
  8. 8. overlappingflat unused
  9. 9. overlappingflat unused 5% 8% 14% 70% 4% "I Know What You Did Last Summer An Investigation of How Developers Spend Their Time.” Roberto Minelli, Andrea Mocci and Michele Lanza. In Proceedings of ICPC 2015 (23rd International Conference on Program Comprehension)
  10. 10. "Autumn Leaves: Curing the Window Plague in IDEs.” D. Röthlisberger, O. Nierstrasz, S. Ducasse. In Proceedings of WCRE 2009 (16th Working ` on Reverse Engineering) The Window Plague in the IDE “Developers using a modern IDE are forced to open views on numerous source artifacts, leading to a crowded workspace with many open windows or tabs.” “They often lose the overview in such a cluttered workspace as IDEs provide little support to get rid of unused windows.”
  11. 11. "Autumn Leaves: Curing the Window Plague in IDEs.” D. Röthlisberger, O. Nierstrasz, S. Ducasse. In Proceedings of WCRE 2009 (16th Working ` on Reverse Engineering) “Developers using a modern IDE are forced to open views on numerous source artifacts, leading to a crowded workspace with many open windows or tabs.” “They often lose the overview in such a cluttered workspace as IDEs provide little support to get rid of unused windows.” The Window Plague in the IDE
  12. 12. importance
  13. 13. importance candidates
  14. 14. pinned importance candidates
  15. 15. DFLOW Smalltalk IDE Recorder Analyzer … HTTP DFLOW Server
  16. 16. DFLOW Smalltalk IDE Recorder Analyzer … HTTP DFLOW Server Meta Opening a Finder UI Selecting a package, method, or class in the code browser Opening a system browser on a method or a class electing a method in the Finder UI Starting a search in the Finder UI Inspecting an object Browsing a compiled method Do-it/Print-it on a piece of code (e.g., workspace) Stepping into/Stepping Over/Proceeding in a debugger Run to selection in a debugger Entering/exiting from an active debugger Browsing full stack/stack trace in a debugger Browsing hierarchy, implementors or senders of a class Browsing the version control system Browse versions of a method Creating/removing a class Adding/removing instance variables from a class Adding/removing a method from a class Automatically creating accessors for a class User Interface Low-Level Opening/closing a window Activating a window, i.e., window in focus Resizing/moving/minimize/maximize a window class Mouse button up/down Scroll wheel up/down Mouse move Mouse-out/in Keystroke pressed
  17. 17. Models Strategies
  18. 18. Models Program Entity Window Interaction Strategies
  19. 19. Models Program Entity Window Interaction Associates a weight to each class or method observed during a development session A window during a development session
  20. 20. Models Program Entity Window Interaction Associates a weight to each class or method a development session Associates a weight to each open window during a development session
  21. 21. Window weight Models Program Entity Window Interaction Associates a weight to each class or method a development session A window during a development session
  22. 22. Strategies Weighting Closing Models Program Entity Window Interaction
  23. 23. Strategies Weighting Closing Determines how the weight models are updated Determines candidate for closure
  24. 24. Strategies Weighting Closing Determines how the weight models are updated Determines candidate for closure Fixed Update "Autumn Leaves: Curing the Window Plague in IDEs.” D. Röthlisberger, O. Nierstrasz, S. Ducasse. In Proceedings of WCRE 2009 (16th Working ` on Reverse Engineering) Entities Viewing Modifying Creating Removing Windows Opening Moving Resizing Focusing Typing
  25. 25. Strategies Weighting Closing Determines how the weight models Determines which windows are candidate for closure "Autumn Leaves: Curing the Window Plague in IDEs.” D. Röthlisberger, O. Nierstrasz, S. Ducasse. In Proceedings of WCRE 2009 (16th Working ` on Reverse Engineering) Fixed Update Entities Viewing Modifying Creating R Windows Opening Moving Resizing Focus T
  26. 26. Strategies Closing Determines which windows are candidate for closure "Autumn Leaves: Curing the Window Plague in IDEs.” D. Röthlisberger, O. Nierstrasz, S. Ducasse. In Proceedings of WCRE 2009 (16th Working ` on Reverse Engineering) Weight Below Threshold Weighting Determines how the weight models Fixed Update Entities Viewing Modifying Creating R Windows Opening Moving Resizing Focus T
  27. 27. Strategies Closing Determines which windows are candidate for closure "Autumn Leaves: Curing the Window Plague in IDEs.” D. Röthlisberger, O. Nierstrasz, S. Ducasse. In Proceedings of WCRE 2009 (16th Working ` on Reverse Engineering) Weight Below Threshold Max # Windows per Type Weighting Determines how the weight models Fixed Update Entities Viewing Modifying Creating R Windows Opening Moving Resizing Focus T
  28. 28. IDE developer interactions Models Strategies
  29. 29. IDE developer interactions Models plague doctor
  30. 30. IDE developer interactions Models plague doctor
  31. 31. IDE developer interactions Models plague doctor
  32. 32. IDE developer interactions Models plague doctor updates UI colors (suggests to) close windows
  33. 33. StrategiesModels
  34. 34. It is only for window based IDEs
  35. 35. It is only for window based IDEs –No. The default weighting and closing strategies can be applied directly to tab-based IDEs such as Eclipse
  36. 36. It is the same as Autumn Leaves "Autumn Leaves: Curing the Window Plague in IDEs.” D. Röthlisberger, O. Nierstrasz, S. Ducasse. In Proceedings of WCRE 2009 (16th Working Conference on Reverse Engineering)
  37. 37. It is the same as Autumn Leaves –No. It can exploit more/better data It is extensible It is customizable It is available http://tiny.cc/plaguedoc "Autumn Leaves: Curing the Window Plague in IDEs.” D. Röthlisberger, O. Nierstrasz, S. Ducasse. In Proceedings of WCRE 2009 (16th Working Conference on Reverse Engineering)
  38. 38. http://tiny.cc/plaguedoc
  39. 39. Fine-tuning the existing strategies Evaluation http://tiny.cc/plaguedoc
  40. 40. Fine-tuning the existing strategies Novel strategies Exploiting more interactions Evaluation http://tiny.cc/plaguedoc
  41. 41. Fine-tuning the existing strategies Novel strategies Self-Adaptation Exploiting more interactions Evaluation http://tiny.cc/plaguedoc
  42. 42. http://tiny.cc/plaguedoc @robertominelli
  43. 43. http://tiny.cc/plaguedoc @robertominelli Free Hugs Wed, 12:10 @ ICSE NIER: New Dimensions

My slides for the presentation of our ERA paper at ICPC 2015 (International Conference on Program Comprehension). Abstract–Modern Integrated Development Environments (IDEs) are often affected by the “window plague”, an overly crowded workspace with many open windows and tabs. The main cause is the lack of navigation support in IDEs, also due to the many—and not always obvious—complex relationships that exist between program entities. Researchers have shown that it is possible to mitigate the window plague by exploiting the data obtained by monitoring how developers interact with the user interface of the IDE. However, despite initial results the approach was never fully integrated in an IDE. In our previous work, we implemented DFlow, an automatic interaction profiler that monitors all the fine-grained interactions of the developer with the IDE. Here we present a first prototype of the Plague Doctor, a tool that seamlessly detects the windows that are less likely to be used in the future and automatically closes them. We discuss our long term vision on how to fully exploit the interaction data recorded by DFlow to provide a more effective cure for the window plague.

Vues

Nombre de vues

815

Sur Slideshare

0

À partir des intégrations

0

Nombre d'intégrations

2

Actions

Téléchargements

11

Partages

0

Commentaires

0

Mentions J'aime

0

×