Characterizing and Evaluating The Impact of Software Interface Clones
Hani Abdeen, Osama Shata

TL;DR
This paper investigates the prevalence and impact of interface clones in software, revealing their widespread presence and negative effects on interface quality through an empirical study of open source projects.
Contribution
It characterizes interface clone defects and provides an empirical analysis of their prevalence and impact in real-world software systems.
Findings
Interface clones are common in software interfaces.
Presence of interface clones degrades interface cohesion.
Interface clones correlate with code clones at implementation level.
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
