An approach for collaborative code reviews using multi-touch technology
description
Transcript of An approach for collaborative code reviews using multi-touch technology
SmellTagger
Sebastian Müller, Michael Würsch, Thomas Fritz, and Harald C. Gall
An Approach for Collaborative
Code Reviews Using Multi-
Touch Technology
2
How can we improve the
desirability and effectiveness of
code reviews?
R. A. Baker, Jr., “Code reviews enhance software quality” in Proc. of ICSE ’97, pp. 570-571, ACM, 1997.
3
How can we put code reviews in a
more collaborative environment?
J.T. Nosek, “The case for collaborative programming”, Communications of the ACM, vol. 41, pp. 105-108, 1998.
C. Shen et al., “Informing the design of direct-touch tabletops”, IEEE Comp. Graphics and Applications, vol. 26, pp. 36-46,
2006.
X. Wang and F. Maurer, “Tabletop AgilePlanner: A tabletop-based project planning tool for agile software development teams”,
in Tabletop ’08, pp. 121 –128, 2008.
4
Approach
• Different modality than the
typical point and click
interfaces
• interactive touch display that
allows for collaborative
interaction
• multiple visualizations
• software metrics
(c) www.ak43.de
5
• on top of Microsoft Surface Table
Prototypical implementation
7
Motivational Example
88
99
1010
1111
1212
UndoableAction
13
14
SmellTagger Features• Investigating code smells with
support of multiple
visualizations
• dependencies
• UML-like type hierarchy
• code metrics
• Annotating code for refactoring
• Generating review report
• Code metrics retrieval from
SOFAS web services
• http://seal.ifi.uzh.ch/sofas
15
SmellTagger Features
•Interactive &
Collaborative UI
• Orientation-
independent user
interface
• Duplicate views &
synchronizes content
• Tagged objects
16
Preliminary Evaluation
• 15 graduate students performed typical
code review tasks individually
• tasks related to code review, e.g. how many calls
exists between two classes?
• tasks specifically tailored towards our
prototype, e.g. record an audio note for a specific
code smell
• After each task: rate statements on the
ease of finding relevant information using a
5 point Likert scale
17
Evaluation Results
• Participants liked the overall experience and
the visualizations
• “it is fun to work with the prototype”, “easy access to
all important information”,
• Gesture support was not considered useful
• impression that the Surface table is slow &
inaccurate
• Suggestions: Search function & interactive
help
• implemented in a newer version of the prototype
18
Threats to the Evaluation
• Low experience level of participants
• Each participant performed the tasks
individually
•Future study in a more collaborative setting
19
Summary
• SmellTagger: Collaborative code reviews
using multi-touch technology to improve
desirability
• Prototypical implementation on MS Surface
• http://seal.ifi.uzh.ch/smelltagger
• Preliminary evaluation of approach
• Future work
• Enhance feature set: e.g. speech recognition
• Multiple case study in collaborative setting
20
Related Work
• Multi-touch interfaces support
software development activities
• Supporting agile planning meetings • (Morgan et al. 2006, Wang et al. 2008, Ghanam et al. 2008)
• Providing awareness• (Hardy et al. 2011)
• Code reviews
• Several commercial solutions
• Visualizations of software metrics
• Provide a basis for our visualizations• (Lanza et al. 2010, Boccuzzo et al. 2007, Pinzger 2005)
21
References
• R. Morgan and F. Maurer, “Maseplanner: A card-based distributed planning tool for
agile teams,” in Proc. of ICGSE’06, pp. 132–138, IEEE Computer Society, 2006.
• X. Wang and F. Maurer, “Tabletop AgilePlanner: A tabletop-based project planning
tool for agile software development teams,” in Tabletop ’08, pp. 121 –128, 2008.
• M. Lanza and R. Marinescu, Object-Oriented Metrics in Practice. Using Software
Metrics to Characterize, Evaluate, and Improve the Design of Object-oriented
Systems. Springer Verlag, 2010.
• S. Boccuzzo and H. Gall, “Cocoviz: Towards cognitive software visualizations,” in
Proc. of VISSOFT ’07, pp. 72 –79, 2007.
• Y. Ghanam, X. Wang, and F. Maurer, “Utilizing digital tabletops in collocated agile
planning meetings,” in Proc. of the Agile 2008, pp. 51–62, IEEE Computer Society,
2008.
• J. Hardy, C. Bull, G. Kotonya, and J. Whittle, “Digitally annexing desk space for
software development (nier track),” in Proc. of ICSE ’11, pp. 812–815, ACM, 2011.
• M. Pinzger, ArchView - Analyzing Evolutionary Aspects of Complex Software
Systems. PhD thesis, University of Zurich, 2005.
22
2323