Copy-paste redeemed

Krishna Narasimhan, Christoph Reichenbach

Research output: Chapter in Book/Report/Conference proceedingPaper in conference proceeding

Abstract

Software evolves continuously. As software evolves, it's code bases require implementations of new features. These new functionalities are sometimes mere extensions of existing functionalities with minor changes. A commonly used method of extending an existing feature into a similar new feature is to copy the existing feature and modify it. This method of extending feature is called "Copy-paste-modify". Another method of achieving the same goal of extending existing feature into similar feature is abstracting the multiple similar features into one common feature with appropriate selectors that enable choosing between the features. The advantages of the "Copy-paste-modify" technique range from speed of development to reduced possibility of breaking existing feature. The advantages of abstraction vary from user preference to have abstracted code to long term maintenance benefits. In our paper, we describe an informal poll and discuss related work to confirm our beliefs about the advantages of each method of extending features. We observe a potential compromise while developers extend features which are near-clones of existing features. We propose to address this dilemma by coming up with a novel approach that can semi-automatically abstract nearclone features and evaluate our approach by building a prototype in C++ and abstracting near-clone methods in popular open source repositories.

Original languageEnglish
Title of host publicationSoftware Engineering 2016
EditorsJens Knoop, Uwe Zdun
PublisherGesellschaft fur Informatik
Pages61-62
Number of pages2
ISBN (Electronic)9783885796466
Publication statusPublished - 2016
Externally publishedYes
EventSoftware Engineering-Konferenz, SE 2016 - Software Engineering Conference, SE 2016 - Wien, Austria
Duration: 2016 Feb 232016 Feb 26

Publication series

NameLecture Notes in Informatics (LNI), Proceedings - Series of the Gesellschaft fur Informatik (GI)
VolumeP252
ISSN (Print)1617-5468

Conference

ConferenceSoftware Engineering-Konferenz, SE 2016 - Software Engineering Conference, SE 2016
Country/TerritoryAustria
CityWien
Period2016/02/232016/02/26

Subject classification (UKÄ)

  • Computer Science
  • Software Engineering

Free keywords

  • Abstraction
  • Refactoring
  • Software clones
  • Software evolution
  • Static analysis

Fingerprint

Dive into the research topics of 'Copy-paste redeemed'. Together they form a unique fingerprint.

Cite this