1.

Record Nr.

UNINA9910795516903321

Autore

Harder Jan

Titolo

Software clones : guilty until proven innocent? / / Jan Harder

Pubbl/distr/stampa

Berlin, Germany : , : Logos Verlag Berlin, , [2017]

©2017

ISBN

3-8325-9259-8

Descrizione fisica

1 online resource (252 pages) : illustrations

Disciplina

005.12

Soggetti

Software engineering

Computer programmers

Lingua di pubblicazione

Inglese

Formato

Materiale a stampa

Livello bibliografico

Monografia

Note generali

PublicationDate: 20171211

Nota di bibliografia

Includes bibliographical references.

Sommario/riassunto

Long description: Software systems contain redundant code that originated from the use of copy and paste. While such cloning may be beneficial in the short term as it accelerates development, it is frequently despised as a risk to maintainability and quality in the long term. Code clones are said to cause extra change effort, because changes have to be propagated to all copies. They are also suspected to cause bugs when the copied code fragments are changed inconsistently.           These accusations may be plausible but are not based on empirical facts. Indeed, they are prejudice. In the recent past, science has started the endeavor to find empirical evidence to support the alleged effects of clones.           In this thesis, we analyze the effects of clones from three different perspectives. First, we investigate whether clones do indeed increase the maintenance effort in real and long lived software systems. Second, we analyze potential reasons for the cases where clones do cause bugs. Third, we take a new perspective to the problem by measuring the effects of clones in a controlled experiment. This allows us to gather new insights by observing software developers during their work, whereas previous studies were based on historical data.           With our work we aim to empirically find advice for practitioners how to deal with clones and, if necessary, to provide an empirical basis for tools that help developers



to manage clones.