Presentation is loading. Please wait.

Presentation is loading. Please wait.

Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology Mining Source Code Elements for Comprehending Object- Oriented.

Similar presentations


Presentation on theme: "Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology Mining Source Code Elements for Comprehending Object- Oriented."— Presentation transcript:

1 Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology Mining Source Code Elements for Comprehending Object- Oriented Systems and Evaluating Their Maintainability Presenter : Shu-Ya Li Authors : Yiannis Kanellopoulos, Thimios Dimopulos, Christos Tjortjis, Christos Makris SIGKDD Explorations, 2006

2 Intelligent Database Systems Lab N.Y.U.S.T. I. M. 2 Outline Motivation Objective Methodology Experiments and Results Conclusion Comments

3 Intelligent Database Systems Lab N.Y.U.S.T. I. M. Motivation Software maintenance  a very important and Complex stage in software lifecycle  typically consuming 50-70% of the total effort allocated to a software system. US companies spent more than $70 billion annually on software maintenance. 3 50-70% of the total effort allocated to a software system 50-70% of the total effort allocated to a software system US companies spent more than $70 billion annually on software maintenance. US companies spent more than $70 billion annually on software maintenance.

4 Intelligent Database Systems Lab N.Y.U.S.T. I. M. Objectives To facilitate maintenance engineers  comprehend the structure of a software system.  assess software system maintainability. 4

5 Intelligent Database Systems Lab N.Y.U.S.T. I. M. Methodology 5 Weighted Methods per Class (WMC) Weighted Methods per Class (WMC) Coupling between Objects (CBO) Coupling between Objects (CBO) Depth of Inheritance Tree (DIT) Depth of Inheritance Tree (DIT) Number of Children (NOC) Number of Children (NOC) Afferent (inward) Coupling (Ca) Afferent (inward) Coupling (Ca) Number of Public Methods (NPM) Number of Public Methods (NPM) Weighted Methods per Class (WMC) Weighted Methods per Class (WMC) Coupling between Objects (CBO) Coupling between Objects (CBO) Depth of Inheritance Tree (DIT) Depth of Inheritance Tree (DIT) Number of Children (NOC) Number of Children (NOC) Afferent (inward) Coupling (Ca) Afferent (inward) Coupling (Ca) Number of Public Methods (NPM) Number of Public Methods (NPM) WMC: the sum of the complexities of its methods. CBO: the number of classes a given class, is coupled to.DIT : provides for each class a measure of the inheritance levels from the object hierarchy top. NOC: the number of immediate descendants of the class. Ca: the number of other classes that depend on the class under examination. NPM: all the methods in a class that are declared as public. Class name WMCCBO… 1org.jboos.a633 2org.jboos.b14184 3org.jboos.c7021… 4org.jboos.d2314 5org.jboos.e122

6 Intelligent Database Systems Lab N.Y.U.S.T. I. M. Experiments 1 System Overview 6

7 Intelligent Database Systems Lab N.Y.U.S.T. I. M. Experiments 2 Weighted Methods per Class (WMC – Class Complexity) 7 It’s difficult to maintain and reuse. org.jboss.axis.message.SOAPElementAxisImpl class 141 methods in a 2100 lines java file org.jboss.axis.message.SOAPElementAxisImpl class 141 methods in a 2100 lines java file

8 Intelligent Database Systems Lab N.Y.U.S.T. I. M. Experiments 3 Coupling Between Objects (CBO) 8 It’s difficult to maintain and reuse.

9 Intelligent Database Systems Lab N.Y.U.S.T. I. M. Conclusion The aim of this work was to facilitate maintenance engineers to comprehend the structure of a software system and assess its maintainability. 9

10 Intelligent Database Systems Lab N.Y.U.S.T. I. M. Comments Advantage  no Drawback  … Application  … 10


Download ppt "Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology Mining Source Code Elements for Comprehending Object- Oriented."

Similar presentations


Ads by Google