Download - An approach for collaborative code reviews using multi-touch technology

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