Decomposing class responsibilities using distance-based method similarity

Citations

WEB OF SCIENCE

3
Citations

SCOPUS

3

초록

Cohesion is a design quality that has a great impact on the posterior development and maintenance. As software evolves, the cohesion of the system becomes weaker due to the changes introduced during evolution. Over evolution, a single responsibility class may be unintentionally assigned other responsibilities, which makes the class less cohesive and more complex and consequently increases the complexity of the entire system. There has been much work on decomposing class responsibilities based on internal class relationships such as method-attribute referencing and internal method calls. However, object-oriented systems involve significant external class relationships carrying important behavioral semantics, which should be taken into account in identifying class responsibilities. In this paper, we present a novel approach for identifying and decomposing classes responsibilities based on method similarity using both internal and external class relationships.We extend the existing work for measuring similarity of internal class relationships and present a distance-based method for measuring external class relationships. We evaluate the approach using three open source applications - JMeter, JHotDraw, and ArgoUML. The evaluation shows that the presented approach improves precision over the existing work. We validate the results using independent samples T-test and ANOVA applied to a set of hypotheses. The validation confirms that the results are statistically significant.

키워드

class decompositioncohesionexternal relationshipsidentifying responsibilitymethod similarityOBJECT-ORIENTED SYSTEMSREFACTORING OPPORTUNITIESCLASS COHESIONMETRICSIDENTIFICATIONQUALITY
제목
Decomposing class responsibilities using distance-based method similarity
저자
Lee, JunhaKim, Dae-KyooKim, SuntaePark, SooYong
DOI
10.1007/s11704-015-5001-5
발행일
2016-08
유형
Article
저널명
Frontiers of Computer Science
10
4
페이지
612 ~ 630