• Title/Summary/Keyword: object-oriented metrics

Search Result 65, Processing Time 0.028 seconds

A Comparative Experiment of Software Defect Prediction Models using Object Oriented Metrics (객체지향 메트릭을 이용한 결함 예측 모형의 실험적 비교)

  • Kim, Yun-Kyu;Kim, Tae-Yeon;Chae, Heung-Seok
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.15 no.8
    • /
    • pp.596-600
    • /
    • 2009
  • To support an efficient management of software verification and validation activities, many defect prediction models have been proposed based on object oriented metrics. They usually adopt logistic regression analysis, And, they state that the correctness of prediction is about 60${\sim}$70%, We performed a similar experiment with Eclipse 3.3 to check their prediction effectiveness, However, the result shows that correctness is about 40% which is much lower than the original results. We also found that univariate logistic regression analysis produces better results than multivariate logistic regression analysis.

Theoretical Validation of Inheritance Metric in QMOOD against Weyuker's Properties

  • Alharthi, Mariam;Aljedaibi, Wajdi
    • International Journal of Computer Science & Network Security
    • /
    • v.21 no.7
    • /
    • pp.284-296
    • /
    • 2021
  • Quality Models are important element of the software industry to develop and implement the best quality product in the market. This type of model provides aid in describing quality measures, which directly enhance the user satisfaction and software quality. In software development, the inheritance technique is an important mechanism used in object-oriented programming that allows the developers to define new classes having all the properties of super class. This technique supports the hierarchy design for classes and makes an "is-a" association among the super and subclasses. This paper describes a standard procedure for validating the inheritance metric in Quality Model for Object-Oriented Design (QMOOD) by using a set of nine properties established by Weyuker. These properties commonly using for investigating the effectiveness of the metric. The integration of two measuring methods (i.e. QMOOD and Weyuker) will provide new way for evaluating the software quality based on the inheritance context. The output of this research shows the extent of satisfaction of the inheritance metric in QMOOD against Weyuker nine properties. Further results proved that Weyker's property number nine could not fulfilled by any inheritance metrics. This research introduces a way for measuring software that developed using object-oriented approach. The theoretical validation of the inheritance metric presented in this paper is a small step taken towards producing quality software and in providing assistance to the software industry.

An Empirical Study of Relationship between Object-oriented Metrics and Maintainability (객체지향 메트릭과 유지보수성과의 관계에 대한 실험적 연구)

  • Jung Woo-Seong;Chae Heung-Seok
    • The KIPS Transactions:PartD
    • /
    • v.13D no.2 s.105
    • /
    • pp.241-250
    • /
    • 2006
  • Software maintenance is an important and very expensive activity in software life cycle. To estimate the maintainability cost of software, many software metrics have been proposed. This paper presents the result of an experimental study to explore the relationship between maintainability and some software metrics. LCOM, RFC, DAC, and LOC are employed as metrics and time really spent for maintenance activity has been collected. In the experimental study, we have found that for some systems, the existing metrics may not be an indicator to maintenance effort, which is not consistent with our general knowledge on the relationship between them. Specifically speaking, we recognized that there should be more empirical study on the relationship between metrics and maintainability of softwares which have been developed using recent technologies such as software architecture and design pattern.

A Metric of Component Extraction for Package based Object Oriented Codes (패키지 중심의 객체지향 코드의 컴포넌트 추출을 위한 메트릭)

  • 이종호;류성열
    • The Journal of Society for e-Business Studies
    • /
    • v.8 no.2
    • /
    • pp.113-129
    • /
    • 2003
  • Component-based software development (CBSD) has been recognized effective reuse techniques for software development by many of researchers and companies. The purpose of CBSD is to produce a high quality software system quickly through using verified software component which is contained fine-grained business logics. This paper suggests the metrics and techniques for to extract component and its interface from legacy object oriented application. For extract component, we apply metrics to measure complexity, cohesion and coupling to the legacy system.

  • PDF

Measurement of Classes Complexity in the Object-Oriented Analysis Phase (객체지향 분석 단계에서의 클래스 복잡도 측정)

  • Kim, Yu-Kyung;Park, Jai-Nyun
    • Journal of KIISE:Software and Applications
    • /
    • v.28 no.10
    • /
    • pp.720-731
    • /
    • 2001
  • Complexity metrics have been developed for the structured paradigm of software development are not suitable for use with the object-oriented(OO) paradigm, because they do not support key object-oriented concepts such as inheritance, polymorphism. message passing and encapsulation. There are many researches on OO software metrics such as program complexity or design metrics. But metrics measuring the complexity of classes at the OO analysis phase are needed because they provide earlier feedback to the development project. and earlier feedback means more effective developing and less costly maintenance. In this paper, we propose the new metrics to measure the complexity of analysis classes which draw out in the analysis based on RUP(Rational Unified Process). By the collaboration complexity, is denoted by CC, we mean the maximum number of the collaborations can be achieved with each of the collaborator and determine the potential complexity. And the interface complexity, is denoted by IC, shows the difficulty related to understand the interface of collaborators each other. We verify theoretically the suggested metrics for Weyuker's nine properties. Moreover, we show the computation results for analysis classes of the system which automatically respond to questions of the user using the text mining technique. As a result of the comparison of CC and CBO and WMC suggested by Chidamber and Kemerer, the class that have highly the proposed metric value maintain the high complexity at the design phase too. And the complexity can be represented by CC and IC more than CBO and WMC. We can expect that our metrics may provide us the earlier feedback and hence possible to predict the efforts, costs and time required to remainder processes. As a result, we expect to develop the cost-effective OO software by reviewing the complexity of analysis classes in the first stage of SDLC(Software Development Life Cycle).

  • PDF

Analyzing Machine Learning Techniques for Fault Prediction Using Web Applications

  • Malhotra, Ruchika;Sharma, Anjali
    • Journal of Information Processing Systems
    • /
    • v.14 no.3
    • /
    • pp.751-770
    • /
    • 2018
  • Web applications are indispensable in the software industry and continuously evolve either meeting a newer criteria and/or including new functionalities. However, despite assuring quality via testing, what hinders a straightforward development is the presence of defects. Several factors contribute to defects and are often minimized at high expense in terms of man-hours. Thus, detection of fault proneness in early phases of software development is important. Therefore, a fault prediction model for identifying fault-prone classes in a web application is highly desired. In this work, we compare 14 machine learning techniques to analyse the relationship between object oriented metrics and fault prediction in web applications. The study is carried out using various releases of Apache Click and Apache Rave datasets. En-route to the predictive analysis, the input basis set for each release is first optimized using filter based correlation feature selection (CFS) method. It is found that the LCOM3, WMC, NPM and DAM metrics are the most significant predictors. The statistical analysis of these metrics also finds good conformity with the CFS evaluation and affirms the role of these metrics in the defect prediction of web applications. The overall predictive ability of different fault prediction models is first ranked using Friedman technique and then statistically compared using Nemenyi post-hoc analysis. The results not only upholds the predictive capability of machine learning models for faulty classes using web applications, but also finds that ensemble algorithms are most appropriate for defect prediction in Apache datasets. Further, we also derive a consensus between the metrics selected by the CFS technique and the statistical analysis of the datasets.

An Experiment for Determining Threshold of Defect Prediction Models using Object Oriented Metrics (객체지향 메트릭을 이용한 결함 예측 모형의 임계치 설정에 관한 실험)

  • Kim, Yun-Kyu;Chae, Heung-Seok
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.15 no.12
    • /
    • pp.943-947
    • /
    • 2009
  • To support an efficient management of software verification and validation activities, many defect prediction models have been proposed based on object oriented metrics. In order to apply defect prediction models, we need to determine a threshold value. Because we cannot know actually where defects are, it is difficult to determine threshold. Therefore, we performed a series of experiments to explore the issue of determining a threshold. In the experiments, we applied defect prediction models to other systems different from the system used in building the prediction model. Specifically, we have applied three models - Olague model, Zhou model, and Gyimothy model - to four different systems. As a result, we found that the prediction capabilities varied considerably with a chosen threshold value. Therefore, we need to perform a study on the determination of an appropriate threshold value to improve the applicably of defect prediction models.

A Metric based Restructuring Technique Preserving the Behavior of Object-Oriented Designs (객체지향 설계 행위를 보존하는 메트릭 기반 재구조화 기법)

  • 이병정
    • Journal of KIISE:Software and Applications
    • /
    • v.30 no.10
    • /
    • pp.912-924
    • /
    • 2003
  • 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.

Metrics for Maintainability of Class Inheritance Structures (클래스 상속 구조의 유지보수성에 관한 척도)

  • Chung, Hong;Lee, Jae-Kyung
    • Proceedings of the Korean Institute of Intelligent Systems Conference
    • /
    • 2001.12a
    • /
    • pp.324-327
    • /
    • 2001
  • 본 논문은 Chidamber와 Kemerer가 제안한 객체지향 설계를 위한 척도를 바탕으로 이를 확장하여 클래스 상속 구조의 유지보수성을 이해성과 변경성 측면에서 측정하는 새로운 객체지향 척도를 제안했다. 그리고 클래스 상속 구조의 예를 들어 비교 평가를 함으로써 Chidamber와 Kemerer의 척도 및 Henderson-Sellers의 척도보다 우수함을 보였다.

  • PDF

A Software Complexity Measurement Technique for Object-Oriented Reverse Engineering (객체지향 역공학을 위한 소프트웨어 복잡도 측정 기법)

  • Kim Jongwan;Hwang Chong-Sun
    • Journal of KIISE:Software and Applications
    • /
    • v.32 no.9
    • /
    • pp.847-852
    • /
    • 2005
  • Over the last decade, numerous complexity measurement techniques for Object-Oriented (OO) software system have been proposed for managing the effects of OO codes. These techniques may be based on source code analysis such as WMC (Weighted Methods per Class) and LCOM (Lack of Cohesion in Methods). The techniques are limited to count the number of functions (C++). However. we suggested a new weighted method that checks the number of parameters, the return value and its data type. Then we addressed an effective complexity measurement technique based on the weight of class interfaces to provide guidelines for measuring the class complexity of OO codes in reverse engineering. The results of this research show that the proposed complexity measurement technique ECC(Enhanced Class Complexity) is consistent and accurate in C++ environment.