Browse > Article

New TCC and LCOM Measures Considering the Write Operations between Class Members  

Woo, Gyun (부산대학교 컴퓨터공학과)
Chae, Heung-Seok (부산대학교 컴퓨터공학과)
Abstract
Cohesion refers to the degree of the relatedness of the members in a class and it is widely accepted that the higher the cohesion of a module is, the easier the module to understand and maintain. Recently, several cohesion measures have been proposed to measure the cohesiveness of classes in an object-oriented program. In this paper, we propose an approach to improving the existing cohesion measures by considering the impact of write dependencies between class members. We have developed a cohesion measurement tool for supporting our approach and describe a case study performed with a C++ class library.
Keywords
object-oriented systems; class cohesion; write dependency;
Citations & Related Records
연도 인용수 순위
  • Reference
1 L. C. Briand and J. K. Wust, 'Modeling Development Effort in Object-Oriented Systems Using Design Properties,' IEEE Trans. on Software Engineering, Vol. 27, No. 11, pp. 963-986, 2001   DOI   ScienceOn
2 M. Bruntink and A. Deursen, 'Predicting Class Testability using Object-Oriented Metrics,' Proc. of 4th Int. Workshop on Source Code Analysis and Manipulation, 2004   DOI
3 M. Folwer, Rectoring: Improving the Design of Existing Code, Addison Wesley, 1999
4 M. Linton, et. al, 'InterViews: A C++ Graphical Interface Toolkit,' Technical Report CSL-TR-88-358, Stanford University, 1988
5 P. Devanbu, 'GENOA a customizable, languageand front-end independent code analyzer,' Proc. Conf. on Software Engineering, pp. 307-317, 1992
6 L. C. Briand, et. al, 'Investigation of Quality Factors in Object-Oriented Designs: An Industrial Case Study,' Proc. of Int. Conf. Software Engineering, pp. 345-354, 1999
7 L. C. Briand, et. al, 'Exploring the Relationship between Design Measures and Software Quality in Object-Oriented Systems,' Journal of Systems and Software, Vol 51, No. 3, pp. 245-273, 2000   DOI   ScienceOn
8 H. -S. Chae, Y. -R. Kwon and D. -H. Bae, 'Improving Cohesion Metrics by Considering Dependent Instance Variables,' IEEE Trans. on Software Engineering, Vol. 30, No. 11, pp. 826-832, 2004   DOI   ScienceOn
9 Y. Zhou, et. al, 'DRC: A Dependence Relationships Based Cohesion Measure for Classes,' Proc. of the 10th IEEE APSEC, pp. 215-223   DOI
10 Y. Zhou, et. al, 'A Comparative Study of Graph Theory-based Class Cohesion Measure,' ACM SIGSOFT SE Notes, Vol. 29, No. 2, March 2004   DOI
11 S. R. Chidamber and C. F. Kemerer, 'Towards a Metrics Suite for Object-Oriented Design,' Proc. 6th ACM Conf. on OOPSLA, pp. 197-211, 1991   DOI
12 S. R. Chidamber and C. F. Kemerer, 'A Metrics Suite for Object-Oriented Design,' IEEE Trans. on Software Engineering, Vol. 20, No. 6, pp. 476-493, 1994   DOI   ScienceOn
13 B. Henderson-Sellers, Software Metrics, Prentice-Hall, 1996
14 M. Hitz and B. Montazeri, 'Measuring Coupling and Cohesion in Object-Oriented Systems,' Proc. of Symp. on Applied Corporate Computing, 1995
15 W. Li and S. Henry, 'Object-Oriented Metrics that Predict Maintainability,' Journal of Systems and Software, Vol. 23, No. 2, pp. 111-122, 1993   DOI   ScienceOn
16 J. M. Bieman and B.-K. Kang, 'Cohesion and Reuse in an Object-Oriented System,' Proc. of Symp. on Software Reusability, pp. 259-262, 1995   DOI
17 L. C. Briand, et. al, 'A Unified Framework for Cohesion Measurement in Object-Oriented Systems,' Empirical Software Engineering Journal, Vol. 1, No. 1, pp. 65-117, 1998   DOI   ScienceOn
18 H. -S. Chae, Y. -R. Kwon and D. -H. Bae, 'A Cohesion Measure for Object-Oriented Classes,' Software Practice and Experience, Vol. 30, pp. 1405-1431, 2000   DOI   ScienceOn
19 W. Stevens, et. al, 'Structured Design,' IBM Systems Journal, Vol. 12, No. 2, 1974
20 N. N. Card, et. al, 'Criteria for Software Modularization,' Proc. of 8th Int. Conf. on Software Engineering, pp. 372-377, 1985
21 N. N. Card, et. al, 'An Empirical Study of Software Design Practices,' IEEE Trans. on Software Engineering, Vol. 12, No. 2, pp. 264-271, 1986
22 A. Snyder, 'Encapsulation and Inheritance in Object-Oriented Programming Languages,' Proc. of 1th ACM Conf. on OOPSLA, pp. 84-91, 1986