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.
Prochain SlideShare
Taming the IDE with Fine-Grained Interaction Data
Suivant
Télécharger pour lire hors ligne et voir en mode plein écran

0

Partager

Télécharger pour lire hors ligne

Towards Self-Adaptive IDEs [ICSME2014]

Télécharger pour lire hors ligne

Developers use Integrated Development Environments (IDEs) to maintain and evolve software systems. IDEs facilitate development activities such as navigating, reading, understanding, and writing source code. Development activities are composed of many basic events, such as browsing the source code of a method or editing the body of a method. We call these actions “interaction data”. We believe that collecting, processing, and exploiting these interactions at run-time can potentially augment the productivity of developers.
Our goal is to create self-adaptive IDEs: IDEs that collect, mine, and leverage the interactions of developers to better support the developers’ workflow. We envision a development environment that automatically and seamlessly adapts itself to support developers while maintaining and evolving software systems. To reach our goal, we will develop means to reshape the user interface of the IDE, interaction-based recommenders, and integrate live and adaptive visualizations inside the IDE.
As a first step towards our vision, we have developed DFlow, a tool that non-intrusively records all IDE interactions while a developer is programming. At the moment DFlow collects all the interactions between the developer and the IDE, and enables retrospective analysis by means of software visualizations.

Livres associés

Gratuit avec un essai de 30 jours de Scribd

Tout voir
  • Soyez le premier à aimer ceci

Towards Self-Adaptive IDEs [ICSME2014]

  1. 1. Towards Self-Adaptive IDEs Roberto Minelli and Michele Lanza REVEAL @ Faculty of Informatics, University of Lugano, Switzerland R E V E A L Università della Svizzera italiana
  2. 2. IDE
  3. 3. IDE Interaction Data
  4. 4. Interaction Data Opening a code browser Inspecting an object at run-time Editing a method Opening & closing a window Popping up a refactoring menu Adding a class Removing a method Removing a class
  5. 5. Interaction Data Evolve the environments according to user needs Enhance how developers navigate code G. C. Murphy, M. Kersten, and L. Findlater. How are java software developers using the Eclipse IDE? IEEE Software, 2006. T. Frey, M. Gelhausen, and G. Saake. Categorization of concerns: A categorical program comprehension model. PLATEAU 2011.
  6. 6. IDE Interaction Data
  7. 7. IDE Interaction Data > /dev/null
  8. 8. Record & Process Leverage Interaction Data Self-Adaptive IDEs
  9. 9. Interaction Data DFLow Self-Adaptive IDEs Leverage Record & Process Interaction Data IDE
  10. 10. Exploit visualizations Improve user interfaces Benefit from recommender systems
  11. 11. Exploit visualizations Improve user interfaces Benefit from recommender systems
  12. 12. Exploit visualizations Improve user interfaces Benefit from recommender systems
  13. 13. Live and Adaptive Visualizations Views In-Sync With The Workflow Of Developers Visualizations that co-evolve with the evolution of the software system. These views can act as a “visual memory” for developers.
  14. 14. Live and Adaptive Visualizations Views In-Sync With The Workflow Of Developers Visualizations that co-evolve with the evolution of the software system. These views can act as a “visual memory” for developers. Adaptive Visualizations Views that are able, depending on the context, the history, and the type of session, to completely reshape themselves (e.g., changing layout, color scheme).
  15. 15. Adaptive User Interfaces Enhancing Code Browsers Browsers that automatically reshape themselves to better support different activities, such as source code navigation.
  16. 16. Adaptive User Interfaces Enhancing Code Browsers Browsers that automatically reshape themselves to better support different activities, such as source code navigation. Repositioning Frequently Used UI Elements IDE understand when UI elements (e.g., menu) are used frequently and reposition them in a more convenient place.
  17. 17. Interaction-Based Recommender Systems Navigation Recommendations IDEs detect “navigation patterns” from fine-grained interaction histories to provide developers with suggestions on how to navigate code more efficiently.
  18. 18. Interaction-Based Recommender Systems Navigation Recommendations IDEs detect “navigation patterns” from fine-grained interaction histories to provide developers with suggestions on how to navigate code more efficiently. Debugger Recommendations IDEs leverage previous debugging histories to provide developers with suggestions on how to debug easily.
  19. 19. Other ideas?
  20. 20. Correlate Interaction Data with Source Code Metrics Other ideas?
  21. 21. Correlate Interaction Data with Source Code Metrics Leverage Information from Multiple-Sources Other ideas?
  22. 22. Correlate Interaction Data with Source Code Metrics Leverage Information from Multiple-Sources Engage Developers with Game Elements Other ideas?
  23. 23. Current state?
  24. 24. PHARO Smalltalk IDE
  25. 25. PHARO Smalltalk IDE DFlow
  26. 26. PHARO Smalltalk IDE DFlow 10:20 20:12 3:00 6:00 18:35 21:00 23:00 45:43 48:00 51:00 54:00 category Pill Class Blue Class Red foo bar baz category X Class Y m1 m2 m3 0 300 600 1680 900 1200 360
  27. 27. Understand PHARO Smalltalk IDE DFlow Visualize 10:20 20:12 3:00 6:00 18:35 21:00 23:00 45:43 48:00 51:00 54:00 category Pill Class Blue Class Red foo bar baz category X Class Y m1 m2 m3 0 300 600 1680 900 1200 360 Classify Track Flow Dominant Tracks
  28. 28. PHARO Smalltalk IDE DFlow Leverage Interaction Data
  29. 29. PHARO Smalltalk IDE DFlow Leverage Interaction Data Live & Adaptive Visualizations
  30. 30. PHARO Smalltalk IDE DFlow Leverage Interaction Data Live & Adaptive Visualizations Adaptive User Interfaces
  31. 31. PHARO Smalltalk IDE DFlow Leverage Interaction Data Live & Adaptive Visualizations Adaptive User Interfaces Interaction-based Recommender Systems

Developers use Integrated Development Environments (IDEs) to maintain and evolve software systems. IDEs facilitate development activities such as navigating, reading, understanding, and writing source code. Development activities are composed of many basic events, such as browsing the source code of a method or editing the body of a method. We call these actions “interaction data”. We believe that collecting, processing, and exploiting these interactions at run-time can potentially augment the productivity of developers. Our goal is to create self-adaptive IDEs: IDEs that collect, mine, and leverage the interactions of developers to better support the developers’ workflow. We envision a development environment that automatically and seamlessly adapts itself to support developers while maintaining and evolving software systems. To reach our goal, we will develop means to reshape the user interface of the IDE, interaction-based recommenders, and integrate live and adaptive visualizations inside the IDE. As a first step towards our vision, we have developed DFlow, a tool that non-intrusively records all IDE interactions while a developer is programming. At the moment DFlow collects all the interactions between the developer and the IDE, and enables retrospective analysis by means of software visualizations.

Vues

Nombre de vues

344

Sur Slideshare

0

À partir des intégrations

0

Nombre d'intégrations

3

Actions

Téléchargements

3

Partages

0

Commentaires

0

Mentions J'aime

0

×