The pragmatics of clone detection and elimination
Simon Thompson (University of Kent, United Kingdom), Huiqing Li, (University of Kent, United Kingdom), Andreas Schumacher (Ericsson AB,, Sweden)

TL;DR
This paper presents industrial case studies on clone detection and elimination, highlighting practical decision-making challenges and design principles for effective clone management tools in real-world software projects.
Contribution
It provides insights into the pragmatics of clone elimination in practice and informs the design of clone detection tools based on real-world case studies.
Findings
Case studies with Ericsson using Wrangler tool
Decision-making complexities in clone elimination
Design principles for clone detection decision-support tools
Abstract
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 using a refactoring and clone detection tool. We discuss how the studies have informed the design of the tool; more importantly, we use the studies to illustrate the complex set of decisions that have to be taken when performing clone elimination in practice. The case studies were performed in collaboration with engineers from Ericsson AB, and used the refactoring tool Wrangler for Erlang. 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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
