Mining association rules between sets of items in large databases
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
Managerial Use of Metrics for Object-Oriented Software: An Exploratory Analysis
IEEE Transactions on Software Engineering
A Unified Framework for Coupling Measurement in Object-Oriented Systems
IEEE Transactions on Software Engineering
Exploring the relationship between design measures and software quality in object-oriented systems
Journal of Systems and Software
Modern Information Retrieval
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
A Coupling-Guided Cluster Analysis Approach to Reengineer the Modularity of Object-Oriented Systems
CSMR '00 Proceedings of the Conference on Software Maintenance and Reengineering
Detection of Logical Coupling Based on Product Release History
ICSM '98 Proceedings of the International Conference on Software Maintenance
Using Coupling Measurement for Impact Analysis in Object-Oriented Systems
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
A Framework for Experimental Evaluation of Clustering Techniques
IWPC '00 Proceedings of the 8th International Workshop on Program Comprehension
CVS Release History Data for Detecting Logical Couplings
IWPSE '03 Proceedings of the 6th International Workshop on Principles of Software Evolution
Mining Version Histories to Guide Software Changes
Proceedings of the 26th International Conference on Software Engineering
An Effectiveness Measure for Software Clustering Algorithms
IWPC '04 Proceedings of the 12th IEEE International Workshop on Program Comprehension
Dynamic Coupling Measurement for Object-Oriented Software
IEEE Transactions on Software Engineering
Predicting Source Code Changes by Mining Change History
IEEE Transactions on Software Engineering
Mining Version Histories to Guide Software Changes
IEEE Transactions on Software Engineering
Empirical Validation of Object-Oriented Metrics on Open Source Software for Fault Prediction
IEEE Transactions on Software Engineering
On the Automatic Modularization of Software Systems Using the Bunch Tool
IEEE Transactions on Software Engineering
Object-oriented cohesion subjectivity amongst experienced and novice developers: an empirical study
ACM SIGSOFT Software Engineering Notes
The Conceptual Coupling Metrics for Object-Oriented Systems
ICSM '06 Proceedings of the 22nd IEEE International Conference on Software Maintenance
Predicting defects using network analysis on dependency graphs
Proceedings of the 30th international conference on Software engineering
Empirical Software Change Impact Analysis using Singular Value Decomposition
ICST '08 Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation
Using information retrieval based coupling measures for impact analysis
Empirical Software Engineering
IBM Systems Journal
Software Dependencies, Work Dependencies, and Their Impact on Failures
IEEE Transactions on Software Engineering
Evaluating the Impact of Software Evolution on Software Clustering
WCRE '10 Proceedings of the 2010 17th Working Conference on Reverse Engineering
Identifying Extract Class refactoring opportunities using structural and semantic cohesion measures
Journal of Systems and Software
On the congruence of modularity and code coupling
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Using structural and textual information to capture feature coupling in object-oriented software
Empirical Software Engineering
Relation of code clones and change couplings
FASE'06 Proceedings of the 9th international conference on Fundamental Approaches to Software Engineering
Integrated impact analysis for managing software changes
Proceedings of the 34th International Conference on Software Engineering
Hi-index | 0.00 |
Coupling is a fundamental property of software systems, and numerous coupling measures have been proposed to support various development and maintenance activities. However, little is known about how developers actually perceive coupling, what mechanisms constitute coupling, and if existing measures align with this perception. In this paper we bridge this gap, by empirically investigating how class coupling---as captured by structural, dynamic, semantic, and logical coupling measures---aligns with developers' perception of coupling. The study has been conducted on three Java open-source systems---namely ArgoUML, JHotDraw and jEdit---and involved 64 students, academics, and industrial practitioners from around the world, as well as 12 active developers of these three systems. We asked participants to assess the coupling between the given pairs of classes and provide their ratings and some rationale. The results indicate that the peculiarity of the semantic coupling measure allows it to better estimate the mental model of developers than the other coupling measures. This is because, in several cases, the interactions between classes are encapsulated in the source code vocabulary, and cannot be easily derived by only looking at structural relationships, such as method calls.