Transcript
Page 1: First steps towards Self-Adaptive IDEs

First steps towards!Self-Adaptive IDEs

Roberto Minelli Andrea Mocci and Michele Lanza!

REVEAL @ University of Luganohttp://dflow.inf.usi.ch

Page 2: First steps towards Self-Adaptive IDEs
Page 3: First steps towards Self-Adaptive IDEs
Page 4: First steps towards Self-Adaptive IDEs
Page 5: First steps towards Self-Adaptive IDEs
Page 6: First steps towards Self-Adaptive IDEs
Page 7: First steps towards Self-Adaptive IDEs
Page 8: First steps towards Self-Adaptive IDEs

Interaction data

Page 9: First steps towards Self-Adaptive IDEs

Interaction data

Opening a browser on a method

Inspecting an object at run-time

Editing a method

Opening & closing a window

Popping up a refactoring menu

Adding a classRemoving a method

Page 10: First steps towards Self-Adaptive IDEs

Interaction data is a!valuable information

G. C. Murphy, M. Kersten, and L. Findlater. !How are java software developers using the !

Eclipse IDE? IEEE Software, 2006.

Page 11: First steps towards Self-Adaptive IDEs

IDEs do not exploit!this information

Page 12: First steps towards Self-Adaptive IDEs

Self-Adaptive IDEs

Page 13: First steps towards Self-Adaptive IDEs

Record

Self-Adaptive IDEs

Page 14: First steps towards Self-Adaptive IDEs

Record Process

Self-Adaptive IDEs

Page 15: First steps towards Self-Adaptive IDEs

Record Process

Leverage

Self-Adaptive IDEs

Interaction!data

Page 16: First steps towards Self-Adaptive IDEs

What is it to you?

Page 17: First steps towards Self-Adaptive IDEs

Interaction-based!recommender systems

Page 18: First steps towards Self-Adaptive IDEs

Interaction-based!recommender systems

Adaptive user interfaces

Page 19: First steps towards Self-Adaptive IDEs

Interaction-based!recommender systems

Adaptive

Live/adaptive visualizations

Page 20: First steps towards Self-Adaptive IDEs

Interaction-based!recommender systems

Provide developers with suggestions on how to navigate code more efficiently or how to debug code in a faster way.

Page 21: First steps towards Self-Adaptive IDEs

Adaptive user interfaces

Code browsers that automatically reshape themselves to better support different activities, such as source code navigation.

Page 22: First steps towards Self-Adaptive IDEs

Visualizations

Visualizations that co-evolve with the evolution of the software system. This views can act as a “visual memory” for developers.Li

ve

Page 23: First steps towards Self-Adaptive IDEs

Visualizations

Visualizations that co-evolve with the evolution of the software system. This views can act as a “visual memory” for developers.

Visualizations that depending on context, history, and the type of session, reshape themselves (e.g., changing layout, colors).

Live

Ada

ptiv

e

Page 24: First steps towards Self-Adaptive IDEs

…now

Page 25: First steps towards Self-Adaptive IDEs

DFlow

An interaction profiler for the Pharo IDE

http://dflow.inf.usi.ch~RobertoMinelli/DevFlow

Page 26: First steps towards Self-Adaptive IDEs

DFlowhttp://dflow.inf.usi.ch

~RobertoMinelli/DevFlow

An interaction profiler for the Pharo IDE

Page 27: First steps towards Self-Adaptive IDEs
Page 28: First steps towards Self-Adaptive IDEs
Page 29: First steps towards Self-Adaptive IDEs
Page 30: First steps towards Self-Adaptive IDEs
Page 31: First steps towards Self-Adaptive IDEs
Page 32: First steps towards Self-Adaptive IDEs

R Minelli, A Mocci, M Lanza and L Baracchi!Visualizing Developer Interactions!

VISSOFT, 2014.

R Minelli, L Baracchi, A Mocci and M Lanza Visual Storytelling of Development Session!

ICSME ERA, 2014

Page 33: First steps towards Self-Adaptive IDEs
Page 34: First steps towards Self-Adaptive IDEs

tr1

tr2

tr3

tr4

Inspectvalley

The “Inspect Valley”

Open Activate Resize/move Close Minimize / Expand

Page 35: First steps towards Self-Adaptive IDEs

tr1

tr2

tr3

tr4

Inspectvalley

The “Inspect Valley”

Open Activate Resize/move Close Minimize / Expand

Page 36: First steps towards Self-Adaptive IDEs

tr1

tr2

tr3

tr4

Inspectvalley

The “Inspect Valley”

Open Activate Resize/move Close Minimize / Expand

What about the GTInspector?

Page 37: First steps towards Self-Adaptive IDEs

Home sweet home

The mechanics of commit

Open Activate Resize/move Close Minimize / Expand

Page 38: First steps towards Self-Adaptive IDEs

Home sweet home

Navigation Inspection Understanding Edit

Categories

Classes

Methods

Page 39: First steps towards Self-Adaptive IDEs

Killing bugs and windows (a.k.a. Window Plague)

Open Activate Resize/move Close Minimize / Expand

Page 40: First steps towards Self-Adaptive IDEs

Killing bugs and window (a.k.a. Window Plague)

Open Activate Resize/move Close Minimize / Expand

Window plague

Page 41: First steps towards Self-Adaptive IDEs
Page 42: First steps towards Self-Adaptive IDEs

http://dflow.inf.usi.ch

Weneedyou!

Page 43: First steps towards Self-Adaptive IDEs

at most!

50%

Page 44: First steps towards Self-Adaptive IDEs

at least!

50%

Page 45: First steps towards Self-Adaptive IDEs

at least!

50%up to!

85%

Page 46: First steps towards Self-Adaptive IDEs

http://dflow.inf.usi.ch

How to install

Gofer new smalltalkhubUser: ‘RobertoMinelli’ project: 'DevFlow'; package: 'ConfigurationOfDevFlow'; load.!ConfigurationOfDevFlow loadAsUser.

Page 47: First steps towards Self-Adaptive IDEs

http://dflow.inf.usi.ch

How to install

Gofer new smalltalkhubUser: ‘RobertoMinelli’ project: 'DevFlow'; package: 'ConfigurationOfDevFlow'; load.!ConfigurationOfDevFlow loadAsUser.

Startup script available @

Page 48: First steps towards Self-Adaptive IDEs

http://dflow.inf.usi.ch

How to install

Gofer new smalltalkhubUser: ‘RobertoMinelli’ project: 'DevFlow'; package: 'ConfigurationOfDevFlow'; load.!ConfigurationOfDevFlow loadAsUser.

Startup script available @

Page 49: First steps towards Self-Adaptive IDEs

http://dflow.inf.usi.ch

How to use

Page 50: First steps towards Self-Adaptive IDEs

http://dflow.inf.usi.ch

How to use

Start

Page 51: First steps towards Self-Adaptive IDEs

http://dflow.inf.usi.ch

How to use

Start Pause

Page 52: First steps towards Self-Adaptive IDEs

http://dflow.inf.usi.ch

How to use

Start Pause

Resume

Page 53: First steps towards Self-Adaptive IDEs

http://dflow.inf.usi.ch

How to use

Start Pause

Resume Stop

Page 54: First steps towards Self-Adaptive IDEs

http://dflow.inf.usi.ch

How to use

Start Pause

Resume Stop

Page 55: First steps towards Self-Adaptive IDEs

dflow.inf.usi.ch

Page 56: First steps towards Self-Adaptive IDEs

http://dflow.inf.usi.chdflow.inf.usi.ch


Top Related