{'fraction_non_alphanumeric': 0.017361111111111112, 'fraction_numerical': 0.0, 'mean_word_length': 5.441340782122905, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Empirical Evaluation of a New Coupling Metric: Combining Structural and Semantic Coupling

Abstract Coupling, a measure of the interdependence among software entities, is an important property for which many software metrics have been defined. It is widely agreed that the extent of coupling in an object-oriented system has implications for its external quality. Structural and semantic relations between classes can be measured directly from static source code. However, both have limitations. In order to understand which aspects of coupling affect quality or other external attributes of software, this paper presents a new coupling metric for object-oriented systems that analyze structural and semantic relationships between methods and classes. The paper investigates the use of the new proposed coupling metric during change impact analysis, predicting fault-prone and maintainable classes. By comparing the new metric to other coupling metrics, we show that the new metric is a better predictor for classes impacted by changes. The new metric also shows good promise in predicting both external qualities (fault proneness and maintainability).