Thu 6 Apr 2017 15:30 - 16:00 at D0.07 - Research Papers 6 Chair(s): Tijs van der Storm

The occurrence of similar code, or `code clones’, can make program code difficult to read, modify and maintain. This paper describes industrial case studies of clone detection and elimination, and were were performed in collaboration with engineers from Ericsson AB using the refactoring and clone detection tool Wrangler for Erlang.

We use the studies to illustrate the complex set of decisions that have to be taken when performing clone elimination in practice; we also discuss how the studies have informed the design of the tool. However, the conclusions we draw are largely language-independent, and set out the pragmatics of clone detection and elimination in real-world projects as well as design principles for clone detection decision-support tools.

The work gives guidelines that assist an engineer in using clone detection and elimination in practice, as well as helping a tool developer to shape their tool building. Although the work was in the context of a particular tool and programming language, the authors would argue that the high-level knowledge gained applies equally well to other notions of clone, as well as other tools and programming languages.

Thu 6 Apr

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

15:30 - 17:00
Research Papers 6Research Papers at D0.07
Chair(s): Tijs van der Storm CWI
15:30
30m
Talk
The pragmatics of clone detection and elimination
Research Papers
Simon Thompson , Huiqing Li University of Kent, Andreas Schumacher Ericsson AB
Link to publication DOI
16:00
30m
Talk
Does Python Smell Like Java?
Research Papers
Nicole Vavrová University of Amsterdam, Netherlands, Vadim Zaytsev Raincode, Belgium
Link to publication DOI
16:30
30m
Talk
Active Expressions: Basic Building Blocks for Reactive Programming
Research Papers
Stefan Ramson Hasso Plattner Institute, Potsdam, Robert Hirschfeld HPI
Link to publication DOI