English

Characterizing and Evaluating The Impact of Software Interface Clones

Software Engineering 2013-02-07 v1

Abstract

Software Interfaces are meant to describe contracts governing interactions between logic modules. Interfaces, if well designed, significantly reduce software complexity and ease maintainability . However, as software evolves, the organization and the quality of software interfaces gradually deteriorate. As a consequence, this often leads to increased development cost, lower code quality and reduced reusability . Code clones are one of the most known bad smells in source code. This design defect may occur in interfaces by duplicating method/API declarations in several interfaces. Such interfaces are similar from the point of view of public services/APIs they specify, thus they indicate a bad organization of application services. In this paper, we characterize the interface clone design defect and illustrate it via examples taken from real-world open source software applications. We conduct an empirical study covering nine real-world open source software applications to quantify the presence of interface clones and evaluate their impact on interface design quality . The results of the empirical study show that interface clones are widely present in software interfaces. They also show that the presence of interface clones may cause a degradation of interface cohesion and indicate a considerable presence of code clones at implementations level.

Keywords

Cite

@article{arxiv.1302.1355,
  title  = {Characterizing and Evaluating The Impact of Software Interface Clones},
  author = {Hani Abdeen and Osama Shata},
  journal= {arXiv preprint arXiv:1302.1355},
  year   = {2013}
}

Comments

11 pages

R2 v1 2026-06-21T23:21:45.522Z