• Title/Summary/Keyword: complexity metrics

Search Result 117, Processing Time 0.024 seconds

The Complexity of the Static Structures of Object-Oriented Systems by Analyzing the Class Diagram of UML (UML 클래스 다이어그램의 분석에 의한 객체지향 시스템의 정적 구조 복잡도 연구)

  • Chung, Hong;Hong, Dong-Kwon
    • Journal of the Korean Institute of Intelligent Systems
    • /
    • v.14 no.6
    • /
    • pp.793-799
    • /
    • 2004
  • Many researches and validations for the complexity metrics of the object-oriented systems have been studied. Most of them are aimed for the measurement of the partial aspects of the systems, for example, the coupling between objects, the complexity of inheritance structures, the cohesion of methods, and so on. But the software practitioners want to measure the complexity of overall system, not partial. We studied the complexity of the overall structures of object-oriented systems by analyzing the class diagram of UML. The class diagram is composed of classes and their relations. There are three kinds of relations, association, generalization, and aggregation, which are making the structure of object-oriented systems to be difficult to understand. We proposed a heuristic metric to measure the complexity of object-oriented systems by putting together the three kinds of the relations. This metric will be helpful to the software developers for their designing tasks by evaluating the complexity of the structures of object-oriented system and redesigning tasks of the system.

Quantification Methods for Software Entity Complexity with Hybrid Metrics (혼성 메트릭을 이용한 소프트웨어 개체 복잡도 정량화 기법)

  • Hong, Euii-Seok;Kim, Tae-Guun
    • The KIPS Transactions:PartD
    • /
    • v.8D no.3
    • /
    • pp.233-240
    • /
    • 2001
  • As software technology is in progress and software quantification is getting more important, many metrics have been proposed to quantify a variety of system entities. These metrics can be classified into two different forms : scalar metric and metric vector. Though some recent studies pointed out the composition problem of the scalar metric form, many scalar metrics are successfully used in software development organizations due to their practical applications. In this paper, it is concluded that hybrid metric form weighting external complexity is most suitable for scalar metric form. With this concept, a general framework for hybrid metrics construction independent of the development methodologies and target system type is proposed. This framework was successfully used in two projects that quantify the analysis phase of the structured methodology and the design phase of the object oriented real-time system, respectively. Any organization can quantify system entities in a short time using this framework.

  • PDF

A Study of Estimation for Web Application Complexity (웹 어플리케이션의 복잡도 예측에 관한 연구)

  • Oh Sung-Kyun;Kim Mi-Jin
    • Journal of the Korea Society of Computer and Information
    • /
    • v.9 no.3
    • /
    • pp.27-34
    • /
    • 2004
  • As software developing paradigm has been changing to complicate Web environment, study of complexity becomes vigorous. Yet still it seems that general agreement has not to be reached to architecture or complexity measure of Web application. And so traditional complexity metrics - program size(LOC) and Cyclomatic Complexity can be derived from the source code after implementation. it is not helpful to the early phase of software development life cycle - analysis and design phase. In this study 6 Web projects has been used for deriving applications with possible errors suited by Complexity Indicator. Using 61 programs derived, linear correlation between complexity, number of classes and number of methods has been proposed. As Web application complexity could be estimated before implementation, effort and cost management will be processed more effectively.

  • PDF

A Study of Cyclomatic Complexity for Web Application (웹 어플리케이션의 순환복잡도 메트릭스에 관한 연구)

  • An, Jong-Geun;Yu, Hae-Yeong
    • The KIPS Transactions:PartD
    • /
    • v.9D no.3
    • /
    • pp.447-456
    • /
    • 2002
  • Web applications haute different structural characteristics from conventional applications. A web application typically consists of server-side script elements which run on web sowers, client-side script elements which run on the client web-browser, link elements that the user clicks, and event elements that connect user-triggered request to the client script elements. These four elements are combined to form a web application. In such environments, direct application of conventional methods for measuring application complexity may not be possible, because they are primarily designed to measure complexity of modules and classes. In this paper, therefore, we propose metrics of Cyclomatic Complexity for Web Application (CCWA). We developed a tool to measure such metrics and applied it to the real-world examples. We found that the proposed CCWA metrics can be used for measuring complexity of highly complex web applications, which is not possible with conventional module and class based measurement techniques.

Metrics Approach in aspect of Code Smell for LEA Code (LEA 코드를 위한 코드 스멜 관점에서 메트릭 접근)

  • Jin-Keun Hong
    • The Journal of the Institute of Internet, Broadcasting and Communication
    • /
    • v.24 no.4
    • /
    • pp.49-55
    • /
    • 2024
  • Code smells, used by Kent Beck, indicate potential quality issues and suggest the need for refactoring. This paper evaluates code smells in the LEA codebase, focusing on categorization and associated metrics. The research analyze LEA_core.c and LEA.cpp, highlighting differences in code quality and complexity. And metrics such as LOC, NOM, NOA, CYCLO, MAXNESTING, and FANOUT are used to assess size, complexity, coupling, encapsulation, inheritance, and cohesion. In the result of research, LEA_core.c is found to be more complex and challenging to maintain compared to LEA.cpp. In future work, we will develop automated tools for real-time code smell detection and refactoring suggestions

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

  • Ahamad, Shahanawaj
    • International Journal of Computer Science & Network Security
    • /
    • v.22 no.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.

Component Metrics to Measure Component Quality (컴포넌트 품질 측정을 위한 컴포넌트 메트릭)

  • Kim, Chul-Jin;Cho, Eun-Sook
    • Journal of the Korea Academia-Industrial cooperation Society
    • /
    • v.10 no.12
    • /
    • pp.3715-3724
    • /
    • 2009
  • Recently, component-based software development is getting accepted in industry as a new effective software development paradigm. Since the introduction of component-based software engineering (CBSE) in later 90's, the CBSD research has focused largely on component modeling, methodology, architecture and component platform. However, as the number of components available on the market increases, it becomes more important to devise metrics to quantify the various characteristics of components. In this Paper, we propose metrics for measuring the complexity, customizability, and reusability of software components. Complexity metric can be used to evaluate the complexity of components. Customizability is used to measure how efficiently and widely the components can be customized for organization specific requirement. Reusability can be used to measure the degree of features that are reused in building applications. We expect that these metrics can be effectively used to quantify the characteristics of components.

Analysis of Cyclomatic Complexity for Web Application (웹 어플리케이션의 순환복잡도 분석)

  • Park, Chul;Yoo, Haey-Oung
    • The KIPS Transactions:PartD
    • /
    • v.11D no.4
    • /
    • pp.865-872
    • /
    • 2004
  • Web applications have different structural characteristics from conventional applications with the structural language or object-oriented language or 4GL. A web application typically consists of server-side script elements which run on web sewers, client-side script elements which run on the client web-browser, HTML elements that contains context. Therefore web applications developer concurrently uses 3 or more development language. Cyclomatic Complexity for Web Application(CCWA) metrics reflected composite complexity of each element. In this paper, we applied cyclomatic complexity for web application metrics with Complexity level indicator to web application. We applied it to 10 web applications that were developed in practical business. High complexity web applications classify into four type(MENU, FORM, CTRL, GEN). This paper has contributed to practical use of engineering approach for web application.

Adaptive K-best Sphere Decoding Algorithm Using the Characteristics of Path Metric (Path Metric의 특성을 이용한 적응형 K-best Sphere Decoding 기법)

  • Kim, Bong-Seok;Choi, Kwon-Hue
    • The Journal of Korean Institute of Communications and Information Sciences
    • /
    • v.34 no.11A
    • /
    • pp.862-869
    • /
    • 2009
  • We propose a new adaptive K-best Sphere Decoding (SD) algorithm for Multiple Input Multiple Output (MIMO) systems where the number of survivor paths, K is changed based on the characteristics of path metrics which contain the instantaneous channel condition. In order to overcome a major drawback of Maximum Likelihood Detection (MLD) which exponentially increases the computational complexity with the number of transmit antennas, the conventional adaptive K-best SD algorithms which achieve near to MLD performance have been proposed. However, they still have redundant computation complexity since they only employ the channel fading gain as a channel condition indicator without instantaneous Signal to Noise Ratio (SNR) information. hi order to complement this drawback, the proposed algorithm use the characteristics of path metrics as a simple channel indicator. It is found that the ratio of the minimum path metric to the other path metrics reflects SNR information as well as channel fading gain. By adaptively changing K based on this ratio, the proposed algorithm more effectively reduce the computation complexity compared to the conventional K-best algorithms which achieve same performance.

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.