An Empirical Study on the Developers’ Perception of Software Coupling

Author(s): Gabriele Bavota, Bogdan Dit, Rocco Oliveto, Massimilano Di Penta, Denys Poshyvanyk, Andrea De Lucia
Venue: International Conference on Software Engineering
Date: 2013

Type of Experiement: Case Study
Sample Size: 76
Class/Experience Level: Undergraduate Student, Graduate Student, Professional
Data Collection Method: Survey, Code Metric


This paper aimed to analyze different types of coupling measures and see how they compared to developers perception of coupling. Four different types of class coupling were analyzed: logical, structural, dynamic, and semantic. The empirical study was conducted on three JAVA open source systems: ArgoUML, JHotDraw, and jEdit. ArgoUML is a UML modeling tool. JHotDraw is a JAVA framework for drawing 2D graphics. jEdit is a textual editor and supports source code editing. There were 64 students, academics, and industrial practitioners from around the world, as well as 12 active developers of these three systems.

These participants were asked to assess the strength of coupling between sixteen selected class pairs from each system (both classes had either high or low coupling). The study found that the semantic measure is the closest measure to the developers’ perception of coupling, followed by the structural and dynamic measures. This study hopes to provide better understanding of how developers perceive coupling in code and to see which measures the programmer’s prefer best. This study showed which coupling measures can be used for software modularization.