Browse > Article

A Metric based Restructuring Technique Preserving the Behavior of Object-Oriented Designs  

이병정 (서울시립대학교 컴퓨터과학부)
Abstract
Design restructuring improves software quality by reorganizing design elements and reduces maintenance cost. Object-oriented metrics can help to detect design flaws and find transformations to reorganize design elements. Basically, the transformations must preserve the behavior of an initial system. This paper describes a metric based restructuring technique preserving the behavior of object-oriented designs, founded on set theory, and gives its validity by applying the technique to applications written in Java. This paper also compares the technique with a technique using simulated annealing algorithm to show its effectiveness.
Keywords
Design restructuring; Metric; Behavior preservation; Genetic algorithm;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Optimization by Simulated Annealing:An Experimental Evaluation, Part I, Graph Partitioning /
[ D.S.Johnson;C.Aragon;L.McGeoch;C.Schevon ] / Operations Research   ScienceOn
2 R. Arnold, 'Software Restructuring,' Proceedings of the IEEE, Vol. 77, No. 4, pp. 607-617, 1989   DOI   ScienceOn
3 I. Sommerville, Software Engineering, 5th ed., Addison Wesley, Harlow, England, 1995
4 H. Sahraoui, R. Godin, and T. Miceli, 'Can Metrics Help to Bridge the Gap Between the Improvement of OO Design Quality and Its Automation?,' In Proceedings of International Conf. on Software Maintenance, pp. 154-162, 2000   DOI
5 B. J. Lee and C. S. Wu, 'Restructuring of Object-Oriented Designs using Metrics,' Journal of KISS : Software and Applications, Vol. 28, No. 6, 2001   과학기술학회마을
6 L. Tokuda and D. Batory, 'Evolving Object-Oriented Designs with Refactorings,' In Proceedings of International Conf. on Automated Software Engineering, pp. 174-181, 1999   DOI
7 S. Mancoridis, B. Mitchell, C. Rorres, Y. Chen, and E. Gansner, 'Using Automatic Clustering to Produce High-Level System Organizations of Source Code,' In Proceedings of the 6th International Workshop on Program Comprehension, pp. 45-52, 1998   DOI
8 J. Banerjee, W. Kim, H. J. Kim, and H. Korth, 'Semantics and Implementation of Schema Evolution in Object-Oriented Databases,' ACMSIGMOD, 1987   DOI
9 B. J. Lee and C. S. Wu, 'Restructuring Object-Oriented Design using Genetic Algorithms,' In Proceedings of International Conf. on Software Engineering and Applications, pp. 167-172, 2000
10 F. Abreu and M. Goulo, 'Coupling and Cohesion as Modularization Drivers: Are we being over-persuaded?' In Proceedings of the Fifth European Conference on Software Maintenance and Reengineering, 2001   DOI
11 W. Li and S. Henry, 'Object-Oriented Metrics That Predict Maintainability,' Journal of Systems and Software, Vol. 23, pp. 111-122, 1993   DOI   ScienceOn
12 I. Moore and T. Clement, 'A Simple and Efficient Algorithm for Inferring Inheritance Hierarchies,' Proceedings of Technology of Object-Oriented Languages and Systems(TOOLS) Europe, pp. 173-184, 1996
13 B. K. Kang and J. M. Bieman, 'A Quantitative Framework for Software Restructuring,' Journal of Software Maintenance, Vol. 11, No. 4, pp. 245-284, 1999   DOI   ScienceOn
14 F. Abreu, G. Pereira, and P. Sousa, 'A Coupling-Guided Cluster Analysis Approach to Reengineer the Modularity of Object-Oriented Systems,' In Proceedings of the 4th European Conference on Software Maintenance and Reengineering, 2000   DOI
15 Y. S. Lee, B. S. Liang, S. F. Wu, and F. J. Wang, 'Measuring the Coupling and Cohesion of an Object-Oriented Program Based on Information Flow,' In Proceedings of International Conference on Software Quality, 1995
16 L. C. Briand, J. W. Daly, and J. Wust, 'A Unified Framework for Cohesion Measurement in Object-Oriented Systems,' Empirical Software Engineering, Vol. 3, No. 1, pp. 65-117, 1998   DOI   ScienceOn
17 P. Bergstein, 'Object-Preserving Class Transformations,' In Proceedings of Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'91), 1991   DOI
18 강유훈, 박찬진, 우치수, 김민정, 'UML 추상 구문을 이용한 정적 설계 제한조건 검사 도구', 한국 소프트웨어공학 학술대회 논문집, Vol. 3, No. 1, 2001
19 G. Snelting and F. Tip, 'Reengineering Class Hierarchies Using Concept Analysis,' ACM. Sigsoft Software Engineering Notes, Vol. 23, No. 6, pp. 99-110, 1998   DOI
20 S. R. Chidamber and C. F. Kemerer, 'A Metrics Suite for Objet-Oriented Design,' IEEE Trans. on Software Engineering, Vol. 20, No. 6, pp. 476-493, 1994   DOI   ScienceOn
21 C. Pons, L. Olsina, M. Prieto, 'A Formal Mechanism for Assessing Polymorphism in Object-Oriented Systems,' In Proceedings of Asia-Pacific Conference on Quality Software, pp. 53-62, 2000   DOI
22 M. Hitz and B. Montazeri, 'Measuring Coupling and Cohesion in Object-Oriented Systems,' In Proceedings of International Symposium on Applied Corporate Computing, 1995
23 R. Harrison, S. Counsell, and R. Nithi, 'Experimental assessment of the effect of inheritance on the maintainability of object-oriented systems,' The Journal of Systems and Software, Vol. 52, No. 2-3, pp. 173-179, 2000   DOI   ScienceOn
24 L. C. Briand, S. Morasca, and V. R. Basili, 'Property-Based Software Engineering Measurement,' IEEE Trans. on Software Engineering, Vol. 22, No. 1, pp. 68-86, 1996   DOI   ScienceOn
25 D. S. Johnson, C. Aragon, L. McGeoch, and C. Schevon, 'Optimization by Simulated Annealing: An Experimental Evaluation, Part I, Graph Partitioning,' Operations Research, Vol. 37, pp. 865-892, 1989   ScienceOn