Managing Clones Using Dynamic Change Tracking and Resolution

Michiel de Wit Andy Zaidman Arie van Deursen

Taking over Copy & Paste Replace copy & paste by “clone-aware” operations: Z. A. Mann, IEEE Computer, 2006

• • • •

Move Copy-identical Copy-and-change Copy-once – [ was: paste ] 2

Our Research Questions 1. Are developers willing to alter existing copy and paste habits? 2. In what way can the relations established by using explicit clone operators be used to enforce consistent editing of clones? 3. Will the new operators help reduce problems related to cloning? 3

The CloneBoard Prototype • Eclipse plug-in intercepting copy and paste • Detects & resolves inconsistent changes to clones – Several resolution strategies – User can select strategy – Plug-in offers strategy ranking

• Supports clone navigation – „Hyperlinking‟ clone instances. – Browsing clones by file/project. – Colored clone bars in editors

4

Evaluting Clone Operators • Evaluating CloneBoard‟s – Adequacy: Does it work as expected? – Usability: Is it easy to use / comprehend? – Effectiviness: Does it help in preventing faults?

• “One-group pretest-posttest” design – Seven participants – 5 question pretest – 5 programming assignments • 2hr, edugame RoboCode • Sufficiently complex; no prior knowledge; fun; easy to learn

– 10 question posttest 5

Pretest 1. Personal background 2. Development experience 3. Attitude towards code quality 4. Attitude towards cloning 5. Expectations for a clone management tool

6

Assignment (2 hours) 1. Exploring your robot 2. Extend enemy‟s presentation 3. Improve targeting routines (nearest, weakest, fittest, …) 4. Get closer to your enemy (circle, unpredictable, …) 5. Actually defeat other robots

http://robocode.sourceforge.net/ 7

Monitoring Copy-Paste

8

Conflict Resolutions Applied

9

Posttest I. II.

Complexity of the assignment Correspondence to coding habits of pre-3

III. Apprciation of CloneBoard‟s user interface IV. Clarity of CloneBoard‟s resolution window V. Frequency of resolution strategies VI. Usefulness of resolution strategies VII. Correspondence to expectations (pretest-5) VIII. CloneBoard Usability IX. Feedback on experiment 10

Resolution Strategy Rating (V/VI)

11

Having worked with CloneBoard ... • Respondents are a little less negative and still believe CloneBoard will save time (c, d) • Repondents dislike the disruptive nature of clone conflict resolution (b, e) • Respondents have weakened their belief that CloneBoard can help with “real” problems (a, f) 5 4 3,7

3,6

3 2,9

3,0

3,3

3,3 2,7

2

2,3

2,6

2,4

2,1

1,9

1

Reduces clone Primarily Will save a lot bugs inconvenient of time

a

b

c

No added value

d

Will use it Does not solve extensively real problems

e

f

Research Questions Revisited • RQ1: Willing to change copy-paste habits? – Adequacy: time saving, added value, could get used to CloneBoard – Usability: usable but pop-up too obtrusive

• RQ2: Can we enforce consistency? – The tool enforces consistent conflict resolution; – Users find enforcement too strict

• RQ3: Will clone operators reduce problems? – Effectiveness: CloneBoard users believe less so 13

Threats to Validity • Construct validity – Experiment affects cloning behavior – Pressure to answer positively

• External validity – – – –

Academic background of subjects Small scale of the case Short duration of the experiment Clone creation versus modification

• Internal validity – CloneBoard may not be bug-free

• Reliability – CloneBoard, RoboCode and all answers are available 14

Contributions • CloneBoard, a downloadable Eclipse plugin for managing copy-paste clones – Clone resolution ranking & selecting – Starting point for further experiments

• Experimental design for evaluating clone management tools • User study with seven developers assessing adequacy, usability, and effectiveness 15

Future Work • Enrich CloneBoard – Less intrusive (user feedback) – Alternative resolution strategies – Clone sharing across developers

• Empirical study on copy-paste behavior in coding • Longitudinal CloneBoard study – Cloning habits of several developers – Longer period (weeks, months) 16

CLONEBOARD in action

http://swerl.tudelft.nl/bin/view/Main/CloneBoard

Session 1 Industrial experience and practical application of dynamic ...

quality. 4. Attitude towards cloning. 5. Expectations for a clone management tool. 6 ... Monitoring Copy-Paste. 8 ... The tool enforces consistent conflict resolution;.

1MB Sizes 2 Downloads 249 Views

Recommend Documents

Trading Session- 1 Trading Session- 2 - NSE
Jun 2, 2018 - In continuation to our circular (Download No. ... Members are requested to refer circular no NSE/CD/37850 dated .... Primary (BKC) / DR site.

Trading Session- 1 Trading Session- 2 - NSE
Apr 27, 2018 - Mock trading on Saturday, May 05, 2018– No new version release ... conducting a mock trading session in the Futures & Options Segment on ...

Trading Session- 1 Trading Session- 2 - NSE
4 days ago - In view of the same, Exchange will be conducting a mock trading (contingency) session in the. Currency Derivatives Segment on Saturday, July ...

Trading Session- 1 Trading Session- 2 - NSE
Jul 6, 2018 - Live Re-login start time. 17:00 hrs. Live Re-login close time. 17:30 hrs. Members shall be able to login to live trading system with the following ...

Trading Session- 1 Trading Session- 2 - NSE
Jul 6, 2018 - Mock trading on Saturday, July 14, 2018 - No new version release. Exchange shall be conducting a mock trading session in the Futures ...

session 1.pdf
Engineering College, Puducherry. - 605 014, India. Modeling and Analysis of a Novel Boost Derived. Multilevel Hybrid Converter. 4 28 Rohith Kamath,. Dr. Vivek.

Session 1.pdf
International Business School (IBS). UTM Perdana School of Science, Technology and. Innovation Policy. Sekolah Pengajian Siswazah. Faculty of Bioscience ...

Youth Camp Session #1 Youth Camp Session #2 -
If you have more than one child attending, take $10 off each registration...so it would be $85 for a single session per child, or $155 for both sessions per child. Questions? Email Coach Tufts at [email protected] or call/text at 503-830-2147. Ca

HOW DYNAMIC ARE DYNAMIC CAPABILITIES? 1 Abstract ...
Mar 11, 2012 - superior performance. The leading hypothesis on performance is deemed to be that of sustainable competitive advantage, (Barney 1997).

Dynamic Circuits, Part 1
Energy stored in a capacitor, W, can be found from the definition of electric power: ..... All analysis method (KVL, KCL, circuit reduction, node-voltage and mesh ...

English session Mandarin session
If possible, please turn off phones and laptops. Toastmaster. Runs the meeting. Responsible for the agenda and confirming all meeting roles in advance.

Consumer search and dynamic price dispersion: an application to ...
This article studies the role of imperfect information in explaining price dispersion. We use a new panel data set on the U.S. retail gasoline industry and propose ...

Galvin - Spring session 1.pdf
Page 3 of 5. Galvin - Spring session 1.pdf. Galvin - Spring session 1.pdf. Open. Extract. Open with. Sign In. Main menu. Displaying Galvin - Spring session 1.pdf.

Session Date and Time Talk/Poster # 1
The frequency of canonicity (frequent, structurally basic and/or pragmatically neutral) word orders is often associated with easier processing, while syntactic ...

Greenwood - Spring session 1.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Greenwood ...

Session Plan 1 Materials Packet.pdf
Page 1 of 15. Last updated 3.25.11. Material List. Welcome Name cards with metal binder rings. Reading Oonga Boonga by Frieda Wishinsky (one per Corps member). Circle Time 1) “If You're Happy”. Song Chart – “If You're Happy”. 2) Let's Clap

privacy and security inquiry public evidence session 1 ...
Oct 14, 2014 - into people's telephone calls from the switchboard. ..... the issue of passive reception, which is when we receive information that we did not ...

Practical Implementation of Space-Efficient Dynamic ...
1 Graduate School of Advanced Technology and Science,. Tokushima ... In modern computer science, managing massive string data in main memory is .... From preliminary experiments, we obtained the best parameter ∆0 = 6 for α = 0.8.

Dolbeare - Spring session 1.pdf
designing games, building, tinkering and just having fun! Be sure to bring your imagination. Page 3 of 4. Dolbeare - Spring session 1.pdf. Dolbeare - Spring ...