an approach for collaborative code reviews using multi-touch technology
DESCRIPTION
Code reviews are an effective mechanism to improve software quality, but often fall short in the development of software. To improve the desirability and ease of code reviews, we introduce an approach that explores how multi-touch interfaces can support code reviews and can make them more collaborative. Our approach provides users with features to collaboratively find and investigate code smells, annotate source code and generate review reports using gesture recognition and a Microsoft Surface Table. In a preliminary evaluation, subjects generally liked the prototypical implementation of our approach for performing code review tasks.TRANSCRIPT
![Page 1: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/1.jpg)
SmellTagger
Sebastian Müller, Michael Würsch, Thomas Fritz, and Harald C. Gall
An Approach for Collaborative
Code Reviews Using Multi-
Touch Technology
![Page 2: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/2.jpg)
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.
![Page 3: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/3.jpg)
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.
![Page 4: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/4.jpg)
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
![Page 5: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/5.jpg)
5
• on top of Microsoft Surface Table
Prototypical implementation
![Page 6: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/6.jpg)
7
Motivational Example
![Page 7: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/7.jpg)
88
![Page 8: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/8.jpg)
99
![Page 9: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/9.jpg)
1010
![Page 10: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/10.jpg)
1111
![Page 11: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/11.jpg)
1212
UndoableAction
![Page 12: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/12.jpg)
13
![Page 13: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/13.jpg)
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
![Page 14: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/14.jpg)
15
SmellTagger Features
•Interactive &
Collaborative UI
• Orientation-
independent user
interface
• Duplicate views &
synchronizes content
• Tagged objects
![Page 15: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/15.jpg)
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
![Page 16: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/16.jpg)
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
![Page 17: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/17.jpg)
18
Threats to the Evaluation
• Low experience level of participants
• Each participant performed the tasks
individually
•Future study in a more collaborative setting
![Page 18: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/18.jpg)
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
![Page 19: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/19.jpg)
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)
![Page 20: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/20.jpg)
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.
![Page 21: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/21.jpg)
22
![Page 22: An approach for collaborative code reviews using multi-touch technology](https://reader033.vdocuments.us/reader033/viewer/2022060202/559b7cfd1a28abf0248b47f7/html5/thumbnails/22.jpg)
2323