1 / 10

Presenter : Shu-Ya Li Authors : Yiannis Kanellopoulos , Thimios Dimopulos ,

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 . Outline.

kizzy
Download Presentation

Presenter : Shu-Ya Li Authors : Yiannis Kanellopoulos , Thimios Dimopulos ,

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mining Source Code Elements for Comprehending Object-Oriented Systems and Evaluating Their Maintainability Presenter : Shu-Ya Li Authors : YiannisKanellopoulos, ThimiosDimopulos, Christos Tjortjis, Christos Makris SIGKDD Explorations , 2006

  2. Outline • Motivation • Objective • Methodology • Experiments and Results • Conclusion • Comments

  3. Motivation 50-70% of the total effort allocated to a software system US companies spent more than $70 billion annually on software maintenance. • 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.

  4. Objectives • To facilitate maintenance engineers • comprehend the structure of a software system. • assess software system maintainability.

  5. Methodology WMC: the sum of the complexities of its methods. NOC: the number of immediate descendants of the class. DIT : provides for each class a measure of the inheritance levels from the object hierarchy top. 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. CBO: the number of classes a given class, is coupled to. 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)

  6. Experiments 1 System Overview

  7. Experiments 2 org.jboss.axis.message.SOAPElementAxisImpl class 141 methods in a 2100 lines java file It’s difficult to maintain and reuse. Weighted Methods per Class (WMC – Class Complexity)

  8. Experiments 3 It’s difficult to maintain and reuse. Coupling Between Objects (CBO)

  9. Conclusion The aim of this work was to facilitate maintenance engineers to comprehend the structure of a software system and assess its maintainability.

  10. Comments • Advantage • no • Drawback • … • Application • …

More Related