期刊文献+

Decomposing class responsibilities using distance-based method similarity

Decomposing class responsibilities using distance-based method similarity
原文传递
导出
摘要 Cohesion is a design quality that has a great im- pact 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. Cohesion is a design quality that has a great im- pact 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.
出处 《Frontiers of Computer Science》 SCIE EI CSCD 2016年第4期612-630,共19页 中国计算机科学前沿(英文版)
关键词 class decomposition COHESION external rela-tionships identifying responsibility method similarity class decomposition, cohesion, external rela-tionships, identifying responsibility, method similarity
  • 相关文献

参考文献36

  • 1Martin R C. Agile Software Development: Principles, Patterns, and Practices. London: Prentice Hall, 2003. 被引量:1
  • 2Chatzigeorgiou A, Xanthos S, Stephanides G. Evaluating object- oriented designs with link analysis. In: Proceedings of the 26th In- ternational Conference on Software Engineering. 2004, 656-665. 被引量:1
  • 3Joshi P, Joshi, R K. Concept analysis for class cohesion. In: Proceed- ings of the 13th European Conference on Software Maintenance and Reengineering. 2009, 237-240. 被引量:1
  • 4Cassell K, Andreae P, Groves L, Noble J. Towards automating class- splitting using betweenness clustering. In: Proceedings of the 24th IEEE/ACM International Conference on Automated Software Engi- neering. 2009, 595-599. 被引量:1
  • 5Fokaefs M, Tsantalis N, Chatzigeorgiou A, Sander J. Decomposing object-oriented class modules using an agglomerative clustering tech- nique. In: Proceedings of IEEE International Conference on Software Maintenance. 2009, 93-101. 被引量:1
  • 6A1 Dallal J, Briand L C. A precise method-method interaction-based cohesion metric for object-oriented classes. ACM Transactions on Software Engineering and Methodology, 2012, 21(2). 被引量:1
  • 7A1 Dallal J. Fault prediction and the discriminative powers of connectivity-based object-oriented class cohesion metrics. Informationand Software Technology, 2012, 54(4): 396-416. 被引量:1
  • 8A1 Dallal J. Constructing models for predicting extract subclass refac- toting opportunities using object-oriented quality metrics. Information and Software Technology, 2012, 54(10): 1125-1141. 被引量:1
  • 9Simon E Steinbruckner E Lewerentz C. Metdcs based refactoring. In: Proceedings of the 5th European Conference on Software Maintenance and Reengineering. 2001, 30-38. 被引量:1
  • 10Tsantalis N, Chatzigeorgiou A. Identification of move method refactor- ing opportunities. IEEE Transactions on Software Engineering. 2009, 35(3): 347-367. 被引量:1

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部