Software Similarity Patterns and Clones: A Curse or Blessing?

Stan Jarzabek

Abstract

Similarities are inherent in software. They show as software clones – similar code fragments, functions, classes, source files, and bigger program structures spreading through software systems in multiple variant forms. Often, these recurring program structures represent important concepts from software requirements or design spaces. Interestingly, despite potential benefits, avoiding many of such redundancies is often either impossible or would require developers to compromise important design goals. In this paper, I discuss software similarity phenomenon, its sources, the many roles clones play in programs, the software productivity benefits that can be gained by avoiding clones, and difficulties to realize these benefits with conventional programming languages and design techniques. I point to generative techniques as a promising approach to address software redundancy problems.

Download


Paper Citation


in Harvard Style

Jarzabek S. and Jarzabek S. (2020). Software Similarity Patterns and Clones: A Curse or Blessing?.In Proceedings of the 22nd International Conference on Enterprise Information Systems - Volume 1: ICEIS, ISBN 978-989-758-423-7, pages 5-17. DOI: 10.5220/0009820000050017


in Bibtex Style

@conference{iceis20,
author={Stan Jarzabek and Stan Jarzabek},
title={Software Similarity Patterns and Clones: A Curse or Blessing?},
booktitle={Proceedings of the 22nd International Conference on Enterprise Information Systems - Volume 1: ICEIS,},
year={2020},
pages={5-17},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0009820000050017},
isbn={978-989-758-423-7},
}


in EndNote Style

TY - CONF

JO - Proceedings of the 22nd International Conference on Enterprise Information Systems - Volume 1: ICEIS,
TI - Software Similarity Patterns and Clones: A Curse or Blessing?
SN - 978-989-758-423-7
AU - Jarzabek S.
AU - Jarzabek S.
PY - 2020
SP - 5
EP - 17
DO - 10.5220/0009820000050017