2017
DOI: 10.1016/j.jss.2017.08.042
|View full text |Cite
|
Sign up to set email alerts
|

Understanding the interplay between the logical and structural coupling of software classes

Abstract: During the lifetime of object-Oriented (OO) software systems, new classes are added to increase functionality, also increasing the inter-dependencies between classes. Logical coupling depicts the change dependencies between classes, while structural coupling measures source code dependencies induced via the system architecture. The relationship or dependency between logical and structural coupling have been debated in the past, but no large study has confirmed yet their interplay. In this study, we have analys… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

0
18
0

Year Published

2018
2018
2023
2023

Publication Types

Select...
4
3
1

Relationship

0
8

Authors

Journals

citations
Cited by 24 publications
(18 citation statements)
references
References 50 publications
0
18
0
Order By: Relevance
“…Based on their experiments they conclude "any metric which uses dependencies alone to pass judgment on the evolvability of a piece of Java software is thus unreliable". Their claim is further substantiated by the work of Ajienka and Capiluppi [1], and Oliva and Gerosa [19]. In particular, Cafeo et al [6] observed a strong correlation between co-changes and dependencies.…”
Section: Related Workmentioning
confidence: 86%
See 2 more Smart Citations
“…Based on their experiments they conclude "any metric which uses dependencies alone to pass judgment on the evolvability of a piece of Java software is thus unreliable". Their claim is further substantiated by the work of Ajienka and Capiluppi [1], and Oliva and Gerosa [19]. In particular, Cafeo et al [6] observed a strong correlation between co-changes and dependencies.…”
Section: Related Workmentioning
confidence: 86%
“…They measured the stability of the system in terms of the propagation cost and clustered cost measures of MacCormack et al [16]. As pointed out in [1,6,12], we still do not have a deep appreciation of the nature of the static dependencies that translate into co-change relations. However, since co-changes capture logical and hidden dependencies [11] as well as a portion of static dependencies [6,12], we use them in our study of software modularity.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…An empirical study is presented in [18] that analyzed the coupling among number of open source software projects to identify two types of coupling; logical coupling and structural coupling. This study aims at to determine the interplay between the two types of coupling, the coupling strength between classes, and the level of stability between the coupled classes as stable or unstable.…”
Section: The Related Workmentioning
confidence: 99%
“…In order to support a successful quality management of OSS products, there have been studies focusing on software repositories which store a lot of data in regard to the software development and maintenance-these studies are referred to as the mining software repositories (MSR) 4 . In MSR studies, there have been many useful methods and empirical reports: data of fault fixes in the past are utilized to predict faulty programs 5,6 ; Co-change relationships among source files are analyzed and applied to a successful maintenance support 7,8 ; Commits to code repositories (code changes) are analyzed to evaluate the impacts of those changes on the future changes 9,10 , and those commits are examined to assess the risk that their changes introduce new faults 11,12 , etc.…”
Section: Introductionmentioning
confidence: 99%