Abstract—Modern software development relies on code reuse, which software engineers typically realise through handabstractions, such as functions, methods, or classes. such abstractions can be challenging to develop and maintain. One alternative form of re-use is copy-paste-modify, a methodology in which developers explicitly duplicate source code to adapt the duplicate for a new purpose. We observe that copy-paste-modify can be substantially faster to use than bstraction, and past research strongly suggests that it is a popular technique among software developers. We therefore propose that software engineers should forego tten abstractions in favour of copying and pasting. However, empirical evidence also shows that copy-paste-modify complicates software maintenance and increases the frequency of bugs. To address this concern, we propose a software tool that merges together similar pieces of code and automatically creates abstractions. This allows software developers to get the both...