• 제목/요약/키워드: object-oriented software metrics

검색결과 53건 처리시간 0.019초

소프트웨어 신뢰성 예측을 위한 객체지향 척도 분석 (Analysis of Object-Oriented Metrics to Predict Software Reliability)

  • 이양규
    • 한국신뢰성학회지:신뢰성응용연구
    • /
    • 제16권1호
    • /
    • pp.48-55
    • /
    • 2016
  • Purpose: The purpose of this study is to identify the object-oriented metrics which have strong impact on the reliability and fault-proneness of software products. The reliability and fault-proneness of software product is closely related to the design properties of class diagrams such as coupling between objects and depth of inheritance tree. Methods: This study has empirically validated the object-oriented metrics to determine which metrics are the best to predict fault-proneness. We have tested the metrics using logistic regressions and artificial neural networks. The results are then compared and validated by ROC curves. Results: The artificial neural network models show better results in sensitivity, specificity and correctness than logistic regression models. Among object-oriented metrics, several metrics can estimate the fault-proneness better. The metrics are CBO (coupling between objects), DIT (depth of inheritance), LCOM (lack of cohesive methods), RFC (response for class). In addition to the object-oriented metrics, LOC (lines of code) metric has also proven to be a good factor for determining fault-proneness of software products. Conclusion: In order to develop fault-free and reliable software products on time and within budget, assuring quality of initial phases of software development processes is crucial. Since object-oriented metrics can be measured in the early phases, it is important to make sure the key metrics of software design as good as possible.

객체지향 시스템에서 간접 의존성을 포함한 결합도 메트릭 (Coupling Metrics Including Indirect Dependency for Object-Oriented Systems)

  • 유문성
    • 디지털산업정보학회논문지
    • /
    • 제7권3호
    • /
    • pp.37-42
    • /
    • 2011
  • Nowadays software developers are moving from conventional software process technologies to the object-oriented paradigm. To develope the object-oriented softwares efficiently, various software metrics have been suggested. Coupling refers to the degree of independence between components of the system. It has long been well known that good software practice calls for minimizing coupling interaction. Many researches have been studied coupling metrics of the object- oriented systems. We review Chidamber and Kemerer's work & Li's work. In this paper, we study the coupling of the overall structures of object-oriented systems by analyzing the class diagram of UML. We propose four coupling metrics for object-oriented softwares. First, we use an established coupling metric for object- oriented systems as a basic coupling metric. Then we modify the basic coupling metric by including indirect coupling between classes, We also suggest two relative coupling metrics to measure coupling between subsystems. We investigate the theoretical soundness of the proposed metrics by the axioms of Briand et al. Finally, we apply the presented metrics to a practical case study. This coupling metric will be helpful to the software developers for their designing tasks by evaluating the coupling metric of the structures of object-oriented system and redesigning tasks of the system.

Evolutionary Computing Driven Extreme Learning Machine for Objected Oriented Software Aging Prediction

  • Ahamad, Shahanawaj
    • International Journal of Computer Science & Network Security
    • /
    • 제22권2호
    • /
    • pp.232-240
    • /
    • 2022
  • To fulfill user expectations, the rapid evolution of software techniques and approaches has necessitated reliable and flawless software operations. Aging prediction in the software under operation is becoming a basic and unavoidable requirement for ensuring the systems' availability, reliability, and operations. In this paper, an improved evolutionary computing-driven extreme learning scheme (ECD-ELM) has been suggested for object-oriented software aging prediction. To perform aging prediction, we employed a variety of metrics, including program size, McCube complexity metrics, Halstead metrics, runtime failure event metrics, and some unique aging-related metrics (ARM). In our suggested paradigm, extracting OOP software metrics is done after pre-processing, which includes outlier detection and normalization. This technique improved our proposed system's ability to deal with instances with unbalanced biases and metrics. Further, different dimensional reduction and feature selection algorithms such as principal component analysis (PCA), linear discriminant analysis (LDA), and T-Test analysis have been applied. We have suggested a single hidden layer multi-feed forward neural network (SL-MFNN) based ELM, where an adaptive genetic algorithm (AGA) has been applied to estimate the weight and bias parameters for ELM learning. Unlike the traditional neural networks model, the implementation of GA-based ELM with LDA feature selection has outperformed other aging prediction approaches in terms of prediction accuracy, precision, recall, and F-measure. The results affirm that the implementation of outlier detection, normalization of imbalanced metrics, LDA-based feature selection, and GA-based ELM can be the reliable solution for object-oriented software aging prediction.

객체지향 메트릭을 이용한 변경 발생에 대한 예측 모형 (A Prediction Model for Software Change using Object-oriented Metrics)

  • 이미정;채흥석;김태연
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제34권7호
    • /
    • pp.603-615
    • /
    • 2007
  • 다양한 이유로 소프트웨어는 변경이 될 수 있으며 이는 유지보수 비용의 상승을 초래한다. 소프트웨어 메트릭은 클래스의 특성에 대한 정량적인 값으로서 유지보수 비용, 결함의 가능성 여부 등을 예측하는데 사용되고 있다. 본 논문에서는 대표적인 객체지향 메트릭과 산업체의 실제 소프트웨어 개발 과정에서 발생하는 변경 발생 횟수와의 관계를 제시한다. 규모, 복잡도, 결합도, 상속과 다형성 측면에서 7개의 메트릭이 사용되었으며, .NET 플랫폼 기반의 정보 시스템의 개발 과정에서 변경 발생 횟수에 대한 자료를 수집하였다. 본 논문에서는 다중회귀분석 기법을 이용하여 사용된 객체지향 메트릭으로부터 변경 발생횟수를 예측하는 모형을 제시한다.

Fault Prediction Using Statistical and Machine Learning Methods for Improving Software Quality

  • Malhotra, Ruchika;Jain, Ankita
    • Journal of Information Processing Systems
    • /
    • 제8권2호
    • /
    • pp.241-262
    • /
    • 2012
  • An understanding of quality attributes is relevant for the software organization to deliver high software reliability. An empirical assessment of metrics to predict the quality attributes is essential in order to gain insight about the quality of software in the early phases of software development and to ensure corrective actions. In this paper, we predict a model to estimate fault proneness using Object Oriented CK metrics and QMOOD metrics. We apply one statistical method and six machine learning methods to predict the models. The proposed models are validated using dataset collected from Open Source software. The results are analyzed using Area Under the Curve (AUC) obtained from Receiver Operating Characteristics (ROC) analysis. The results show that the model predicted using the random forest and bagging methods outperformed all the other models. Hence, based on these results it is reasonable to claim that quality models have a significant relevance with Object Oriented metrics and that machine learning methods have a comparable performance with statistical methods.

객체 지향 시스템에서의 클래스 응집도와 결합도 메트릭 (Cohesion and Coupling Metric for Classes in Object - Oriented System)

  • 이종석;우치수
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제27권6호
    • /
    • pp.595-606
    • /
    • 2000
  • 소프트웨어 메트릭스는 개발 과정을 평가하고, 소프트웨어 개발 노력을 측정하며 소프트웨어의 질을 효과적으로 제어할 수 있도록 한다. 더욱이 현재와 같이 재사용성이 강조되고 있는 상황에서는 재사용성을 평가하는데 중요한 역할을 하는 응집도와 결합도에 대한 연구가 반드시 필요하다고 할 수 있다. 캡슐화, 상속, 다형성과 같은 개념을 이용하는 객체 지향 방법론은 기존의 절차적 방법론과는 다른 메트릭스를 요구하는데, 이에 대한 연구가 현재 활발히 진행되고 있다. 본 논문에서는 객체 지향 시스템의 응집도와 결합도를 측정하는 메트릭스를 제안하고, 이를 Weyuker와 Briand의 복잡도 성질을 이용하여 평가하였다. 그리고 C++로 작성된 소프트웨어에 실제 적용하여 응집도와 결합도를 추출하였다.

  • PDF

A Study: UML for OOA and OOD

  • Rajagopal, D.;Thilakavalli, K.
    • International Journal of Knowledge Content Development & Technology
    • /
    • 제7권2호
    • /
    • pp.5-20
    • /
    • 2017
  • The notion of object oriented analysis and design in software engineering has many rewards that aid the programmer to have an understanding of and improve the program efficaciously. Object oriented metrics helps rather a lot to a programmer or developer to comprehend and unravel the thing-oriented trouble readily and exactly. Object oriented metrics helps in examining the usefulness of object oriented applied sciences or in simple phrases Object-oriented metrics depict characteristics of object-oriented programming. The intention of this paper is to have an understanding of concerning the UML, Object oriented evaluation and design and the way it plays in UML.

Software Metric for CBSE Model

  • Iyyappan. M;Sultan Ahmad;Shoney Sebastian;Jabeen Nazeer;A.E.M. Eljialy
    • International Journal of Computer Science & Network Security
    • /
    • 제23권12호
    • /
    • pp.187-193
    • /
    • 2023
  • Large software systems are being produced with a noticeably higher level of quality with component-based software engineering (CBSE), which places a strong emphasis on breaking down engineered systems into logical or functional components with clearly defined interfaces for inter-component communication. The component-based software engineering is applicable for the commercial products of open-source software. Software metrics play a major role in application development which improves the quantitative measurement of analyzing, scheduling, and reiterating the software module. This methodology will provide an improved result in the process, of better quality and higher usage of software development. The major concern is about the software complexity which is focused on the development and deployment of software. Software metrics will provide an accurate result of software quality, risk, reliability, functionality, and reusability of the component. The proposed metrics are used to assess many aspects of the process, including efficiency, reusability, product interaction, and process complexity. The details description of the various software quality metrics that may be found in the literature on software engineering. In this study, it is explored the advantages and disadvantages of the various software metrics. The topic of component-based software engineering is discussed in this paper along with metrics for software quality, object-oriented metrics, and improved performance.

Java 프로그램의 품질평가를 지원하는 메트릭 측정 시스템 (Metrics Measurement System Supporting Quality Evaluation of Java Program)

  • 박옥자;유철중;장옥배
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제7권2호
    • /
    • pp.151-164
    • /
    • 2001
  • 최근 가장 대표적인 객체지향 언어로 사용되는 Java는 일반적인 애플리케이션뿐만 아니라 인터넷/인트라넷 기반 프로그램 개발, 나아가 컴포넌트 기반 개발에 이르기까지 다양한 분야에서 개발 언어로 사용되고 있다. 따라서 개발된 프로그램의 재사용 및 유지보수 관점에서 프로그램 품잘평가는 보다 중요한 쟁점이 되고 있으므로 기존의 Java 애플리케이션을 포함하여 현재 개발된 프로그램의 품질평가에 필요한 메트릭 측정이 필요하다. 하지만, 이미 제안된 객체지향 소프트에어 메트릭이 현재의 Java 프로그램의 특성에 적합한지에 대한 타당성 검증이 필요하므로 본 논문에서는 기존의 객체지향 메트릭이 Java 프로그램에 적합한지 여부를 결정하기 위해 필요한 메트릭 측정 시스템을 구축하여 Java 프로그램에 적합한 메트릭 제안을 지원하고자 한다. 본 시스템은 Briand가 기존의 객체지향 소프트웨어 메트릭을 수학적으로 정형화시켜 분류한 메트릭을 Java 프로그램에 적용시켜 제안된 메트릭이 프로그램에 타당성 있는지 검증함으써 명확한 품질평가도구 개발을 지원하고자 한다. 본 시스템을 통해 Java 소스 프로그램으로부터 정량적 정보를 보다 빠르고 정확하게 산출함으로써 기존의 객체지향 메트릭에 대한 검증을 비교 및 분석 수행할 수 있으며, 타당성 문제가 있다면 새로운 메트릭의 제안 및 보완을 고려함으로써 Java 프로그램에 적합한 메트릭 확립을 가능하게 할 것이다.

  • PDF

기계학습과 품질 메트릭을 활용한 객체간 링크결합강도 분류에 관한 연구 (Classifying a Strength of Dependency between classes by using Software Metrics and Machine Learning in Object-Oriented System)

  • 정성균;안재균;여윤구;박상현
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제2권10호
    • /
    • pp.651-660
    • /
    • 2013
  • 객체지향 설계는 상속 및 은닉과 같은 개념이 도입되어 소프트웨어 개발 생산성 및 품질 향상을 가져다 주었다. 하지만 소프트웨어의 크기가 커지게 되면 이를 구성하는 객체의 수가 증가하고 이에 비례하여 상속 또는 호출과 같은 객체간 결합관계가 증가한다. 또한 이러한 객체간 결합관계는 객체지향 소프트웨어의 복잡도와 밀접한 관계를 갖고 있는데 다수의 결합관계는 소프트웨어의 복잡도를 높이어 결국에는 소프트웨어 품질저하로 이어지게 된다. 그래서 소프트웨어 개발 분야에서는 컴포넌트 기반의 설계와 같은 방법을 통하여 객체간 결합관계를 명확히 함으로써 소프트웨어의 품질을 높이려는 노력이 진행되고 있다. 또한 객체 품질 메트릭을 정의, 산출하여 소프트웨어의 품질을 측정하고 이를 활용하여 높은 품질의 소프트웨어가 될 수 있는 방법들을 찾는 연구가 함께 진행되고 있다. 이러한 연구의 일환으로 본 연구는 컴포넌트와 같은 시스템 분해 관점에서 객체 상호간 결합링크 속성의 분석을 통하여 서브시스템 분해를 위한 기초자료를 구축하고자 한다. 이전까지의 연구들이 개별객체를 평가하고 수치화하여 이를 누적하는 방식이었다면 이번 연구는 소프트웨어 복잡도와 밀접한 관계가 있는 객체간 상호간의 링크결합관계를 분석 대상으로 선정하고 객체간 링크의 속성분석 및 결합강도 예측에 기계학습을 활용한 새로운 관점에서의 소프트웨어 분석 방법을 제안한다.