an approach for collaborative code reviews using multi-touch technology

22
SmellTagger Sebastian Müller , Michael Würsch, Thomas Fritz, and Harald C. Gall An Approach for Collaborative Code Reviews Using Multi- Touch Technology

Upload: s-mueller

Post on 07-Jul-2015

85 views

Category:

Education


0 download

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

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

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

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

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

5

• on top of Microsoft Surface Table

Prototypical implementation

Page 6: An approach for collaborative code reviews using multi-touch technology

7

Motivational Example

Page 7: An approach for collaborative code reviews using multi-touch technology

88

Page 8: An approach for collaborative code reviews using multi-touch technology

99

Page 9: An approach for collaborative code reviews using multi-touch technology

1010

Page 10: An approach for collaborative code reviews using multi-touch technology

1111

Page 11: An approach for collaborative code reviews using multi-touch technology

1212

UndoableAction

Page 12: An approach for collaborative code reviews using multi-touch technology

13

Page 13: An approach for collaborative code reviews using multi-touch technology

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

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

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

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

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

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

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

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

22

Page 22: An approach for collaborative code reviews using multi-touch technology

2323