Download presentation
Presentation is loading. Please wait.
Published byMadlyn Nelson Modified over 8 years ago
1
Supporting Software History Exploration Alexander W. J. Bradley Gail C. Murphy Software Practices Lab Department of Computer Science University of British Columbia
2
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 2 Why was the code implemented this way? When, how, by whom and why was this code changed or inserted? What bugs are related to this code? Cf. LaToza, Venolia and DeLine, 2006; Ko, DeLine and Venolia, 2007; LaToza and Myers, 2010
3
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 3 History exploration UI styles ● Element-based ● Separate views from editor ● Gives deep information related to single code element ● Line-based ● Integrated into editor (at side) ● Gives recent information for many code lines (breadth-first)
4
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 4 Why was the code implemented this way? When, how, by whom and why was this code changed or inserted? What bugs are related to this code? Person Bug Code Revision
5
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 5
6
6 Deep Intellisense Holmes and Begel (MSR 2008) – as replicated for our experiments ● Element-based ● Separate views from editor ● Gives deep information related to single code element
7
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 7 Deep Intellisense Selection of code elements (SCE)
8
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 8 Deep Intellisense Opening of new view (ONV) Double-click
9
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 9 Deep Intellisense Filter application (FA)
10
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 10 Rationalizer ● Line-based ● Integrated into editor (at side) ● Gives recent information for many code lines (breadth-first)
11
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 11 Rationalizer Opening of new view (ONV) Ctrl -click
12
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 12 Rationalizer Filter application (FA)
13
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 13 Rationalizer Visual scan while scrolling through column data (VS) Image credit for eye: Wikipedia (public domain image)
14
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 14 Model Predictions “Deep history” prediction – Deep Intellisense will have a significant advantage over Rationalizer for finding entire history of elements with long history ● “History to source” prediction ● Rationalizer will have a significant advantage over Deep Intellisense for finding many sections of code affected by persons or bugs
15
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 15 Deep History Find all the revisions that have affected a code element
16
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 16 Deep History Find all the revisions that have affected a code element
17
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 17 Deep History Deep Intellisense: 1 SCE
18
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 18 Deep History Rationalizer: O(r) ONV r past revisions
19
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 19 History to Source Find which code elements have been affected by a given bug or person
20
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 20 History to Source... Deep Intellisense: O(E) SCE + O(E) FA E code elements in class
21
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 21 History to Source Rationalizer: 1 FA + O(l a ) VS l a lines affected
22
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 22 Summary of Predictions
23
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 23 Evaluation – Overview 11 participants answered 8 questions – Focus on 5 “prediction-testing” questions – Look for whether user strategies conform to predictions – Measure correctness and user satisfaction Elicit user preferences about the two UIs Gather feedback about possible improvements Set A Set B Set A
24
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 24 Results – Strategy Conformance For 9/10 question-tool combinations, observed user strategies were as difficult as expected – Usually took as many operations as predicted – For “history to source” questions, sometimes used alternative strategies that seemed at least as difficult as our predicted strategies
25
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 25 Results – Measurements Significant differences (p <.05) in answer correctness scoresSignificant differences (p <.05) in user satisfaction scores
26
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 26 Results – Tool & UI Preferences Preferences nearly evenly split for UI characteristics and tool preferences
27
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 27 Results – General User Comments
28
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 28 Discussion Improving UIs for history exploration – Allow for both breadth- and depth-based exploration Merge best features of DI and Rationalizer – Further studies needed to find relative frequencies of these kinds of tasks in practice Improving our model – Should take into account user confusion, disorientation and mistakes
29
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 29 Related Work Information needs [Sillito, Murphy and De Volder, SIGSOFT/FSE 2006; LaToza, Venolia and DeLine, ICSE 2006; Ko, DeLine and Venolia, ICSE 2007; LaToza and Myers, PLATEAU 2010] Models of software history entities [ Čubranić and Murphy, ICSE 2003; Venolia, MSR 2006] User interaction strategies – GOMS [Card, Moran and Newell, 1980] Software visualization [e.g., Ball and Eick, 1996] –Software evolution visualization [e.g., Voinea and Telea, 2009]
30
Supporting Software History Exploration – Bradley and Murphy – MSR 2011 30 Summary Introduced Rationalizer, which provides extensive software history information integrated into editor Our model can help predict how hard users will have to work to answer history exploration questions with different UI styles Interested in the tools? Contact a.bradley [at] alumni.cs.ubc.ca
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.