• Title/Summary/Keyword: software metrics

Search Result 316, Processing Time 0.023 seconds

Software Quality Prediction based on Defect Severity (결함 심각도에 기반한 소프트웨어 품질 예측)

  • Hong, Euy-Seok
    • Journal of the Korea Society of Computer and Information
    • /
    • v.20 no.5
    • /
    • pp.73-81
    • /
    • 2015
  • Most of the software fault prediction studies focused on the binary classification model that predicts whether an input entity has faults or not. However the ability to predict entity fault-proneness in various severity categories is more useful because not all faults have the same severity. In this paper, we propose fault prediction models at different severity levels of faults using traditional size and complexity metrics. They are ternary classification models and use four machine learning algorithms for their training. Empirical analysis is performed using two NASA public data sets and a performance measure, accuracy. The evaluation results show that backpropagation neural network model outperforms other models on both data sets, with about 81% and 88% in terms of accuracy score respectively.

Predicting Program Code Changes Using a CNN Model (CNN 모델을 이용한 프로그램 코드 변경 예측)

  • Kim, Dong Kwan
    • Journal of the Korea Convergence Society
    • /
    • v.12 no.9
    • /
    • pp.11-19
    • /
    • 2021
  • A software system is required to change during its life cycle due to various requirements such as adding functionalities, fixing bugs, and adjusting to new computing environments. Such program code modification should be considered as carefully as a new system development becase unexpected software errors could be introduced. In addition, when reusing open source programs, we can expect higher quality software if code changes of the open source program are predicted in advance. This paper proposes a Convolutional Neural Network (CNN)-based deep learning model to predict source code changes. In this paper, the prediction of code changes is considered as a kind of a binary classification problem in deep learning and labeled datasets are used for supervised learning. Java projects and code change logs are collected from GitHub for training and testing datasets. Software metrics are computed from the collected Java source code and they are used as input data for the proposed model to detect code changes. The performance of the proposed model has been measured by using evaluation metrics such as precision, recall, F1-score, and accuracy. The experimental results show the proposed CNN model has achieved 95% in terms of F1-Score and outperformed the multilayer percept-based DNN model whose F1-Score is 92%.

Improving Cohesion Metrics for Classes By Considering Dependent Instance Variables (의존 인스턴스 변수를 고려한 클래스 응집도 척도의 개선)

  • Chae Heung Seok;Kwon Yong Rae;Bae Doo Hwan
    • Journal of KIISE:Software and Applications
    • /
    • v.31 no.9
    • /
    • pp.1131-1141
    • /
    • 2004
  • Cohesion refers to the degree of the relatedness of the elements in a module, and it is widely accepted that the module of higher cohesion is easier to understand, maintain, and reuse. Recently, several cohesion metrics have been proposed to measure the cohesiveness of classes in an object-oriented program. However, the existing cohesion metrics do not consider the characteristics of dependent instance variables that are commonly used in a class and, thus, do not properly reflect the cohesiveness of the class. This paper presents an approach for improving the cohesion metrics by considering the characteristics of the dependent instance variables in an object-oriented program. To demonstrate the importance of the dependent instance variables, a case study has been conducted on a class library.

Metrics Measuring a Quality based on Object-Oriented Design Characteristics (객체지향 설계의 특성을 고려한 품질 평가 메트릭스)

  • Kim, Yu-Kyung;Park, Jai-Nyun
    • The Transactions of the Korea Information Processing Society
    • /
    • v.7 no.2
    • /
    • pp.373-384
    • /
    • 2000
  • There are many researches about metrics to measure a quality of Object-Oriented(OO) software. However, most of them have only discussed a concept or properties of metrics, and have not shown the detailed procedure for measuring them. They also define a measurement indicator as a threshold, but it has been influenced on a project size or application domains. In this paper, we propose metrics based on characteristics of OO design such as size, complexity, coupling and cohesion, and use a propotion to an average as the measurement indicator. It is easy to classify classes which have a result above the average, and to predict classes which reduced the quality of OO design. They will be modified to hold the average. Proposed metrics are analytically evaluated by Weyuker's nine properties. They are satisfied with seven properties except two properties co not apply to OO metrics. Also, we design a quality assessment system, ASSOD(ASsessment System of Object oriented Design), to measure the quality of the OO design independent of the platform.

  • PDF

A Study on Design, Implementation and Reusability Analysis of the X system using Ada Language (Ada 언어를 이용한 X시스템의 설계, 구현 및 재사용성 분석에 관한 연구)

  • Lee Gwang-Geon;Gang Seok-Gyun;Park Hyeong-Chun;Yun Chang-Seop
    • Journal of the military operations research society of Korea
    • /
    • v.15 no.2
    • /
    • pp.38-55
    • /
    • 1989
  • Reusing software is a promising solution which overcomes the software crisis in the software development environment by improving the software productivity, reliability and maintainability. To develop software, some developers reuse existing softwares, but without an adequate design environment, software reuse would not be applicable. The purpose of this paper is to design and implement the X system, and measure empirically its resuability in the development phases. The development processes of the X system used a software reuse design guidelines within the Object-Oriented Design method and the Ada programming language. In order to measure the resuability, metrics was proposed and applied for each phase of development. The results of this paper address some reusability measurement that may be used as basic data when estimating the amount of reuse for a combined development project of military applications.

  • PDF

Software Quality Classification Model using Virtual Training Data (가상 훈련 데이터를 사용하는 소프트웨어 품질 분류 모델)

  • Hong, Euy-Seok
    • The Journal of the Korea Contents Association
    • /
    • v.8 no.7
    • /
    • pp.66-74
    • /
    • 2008
  • Criticality prediction models to identify most fault-prone modules in the system early in the software development process help in allocation of resources and foster software quality improvement. Many models for identifying fault-prone modules using design complexity metrics have been suggested, but most of them are training models that need training data set. Most organizations cannot use these models because very few organizations have their own training data. This paper builds a prediction model based on a well-known supervised learning model, error backpropagation neural net, using design metrics quantifying SDL system specifications. To solve the problem of other models, this model is trained by generated virtual training data set. Some simulation studies have been performed to investigate feasibility of this model, and the results show that suggested model can be an alternative for the organizations without real training data to predict their software qualities.

Constructing A Visualization & Reusable Metrics based on Static/Dynamic Analysis (정적/동적 분석 기반의 재사용 메트릭과 가시화 구축)

  • Byun, Eun-Young;Son, Hyun-Seoung;Moon, So-Young;Jang, Woo-Sung;Park, Bo-Kyung;Kim, R. Youngchul
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2017.04a
    • /
    • pp.621-624
    • /
    • 2017
  • 소프트웨어의 적용 분야가 다양화되면서 시장 환경의 변화와 사용자 요구사항의 다양화가 급속도로 진행되고 있다. 하지만 부족한 시간, 예산, 인력 문제로 고품질의 소프트웨어 개발은 더 어려워졌다. 이런 문제의 해결을 위해 레거시 시스템의 모듈을 재사용하여 고품질화하고자 한다. 기존에는 정적 분석 기반의 재사용 모듈/덩어리 식별만 이루어졌지만, 실제 실행 환경에서 적용되는 동적 분석 기반의 재사용 식별이 더욱 중요하다. 이를 위해, 재사용 메트릭을 정의하고 재사용 모듈/덩어리 자동식별 및 가시화를 제안한다. 이는 새로운 프로젝트 개발의 재사용성을 높여, 신뢰성과 생산성 향상시키고 품질 개선에 기여한다.

Multi-focus Image Fusion using Fully Convolutional Two-stream Network for Visual Sensors

  • Xu, Kaiping;Qin, Zheng;Wang, Guolong;Zhang, Huidi;Huang, Kai;Ye, Shuxiong
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • v.12 no.5
    • /
    • pp.2253-2272
    • /
    • 2018
  • We propose a deep learning method for multi-focus image fusion. Unlike most existing pixel-level fusion methods, either in spatial domain or in transform domain, our method directly learns an end-to-end fully convolutional two-stream network. The framework maps a pair of different focus images to a clean version, with a chain of convolutional layers, fusion layer and deconvolutional layers. Our deep fusion model has advantages of efficiency and robustness, yet demonstrates state-of-art fusion quality. We explore different parameter settings to achieve trade-offs between performance and speed. Moreover, the experiment results on our training dataset show that our network can achieve good performance with subjective visual perception and objective assessment metrics.

A software reliability model with a Burr Type III fault detection rate function

  • Song, Kwang Yoon;Chang, In Hong;Choi, Min Su
    • International Journal of Reliability and Applications
    • /
    • v.17 no.2
    • /
    • pp.149-158
    • /
    • 2016
  • We are enjoying a very comfortable life thanks to modern civilization, however, comfort is not guaranteed to us. Development of software system is a difficult and complex process. Therefore, the main focus of software development is on improving the reliability and stability of a software system. We have become aware of the importance of developing software reliability models and have begun to develop software reliability models. NHPP software reliability models have been developed through the fault intensity rate function and the mean value functions within a controlled testing environment to estimate reliability metrics such as the number of residual faults, failure rate, and reliability of the software. In this paper, we present a new NHPP software reliability model with Burr Type III fault detection rate, and present the goodness-of-fit of the fault detection rate software reliability model and other NHPP models based on two datasets of software testing data. The results show that the proposed model fits significantly better than other NHPP software reliability models.

A Metrics-Based Approach to the Reorganization of Class Hierarchy Structures (클래스계층구조의 품질평가척도를 기반으로 하는 재구성기법)

  • Hwang, Sun-Hyung;Yang, Hea-Sool;Hwang, Young-Sub
    • The KIPS Transactions:PartD
    • /
    • v.10D no.5
    • /
    • pp.859-872
    • /
    • 2003
  • Class hierarchies often constitute the backbone of object-oriented software. Their quality is therefore quite crucial. Building class hierarchies with good qualify is a very important and common tasks on the object oriented software development, but such hierarchies are not so easy to build. Moreover, the class hierarchy structure under construction is frequently restructured and refined until it becomes suitable for the requirement on the iterative and incremental development lifecycle. Therefore, there has been renewal of interest in all methodologies and tools to assist the object oriented developers in this task. In this paper, we define a set of quantitative metrics which provide a wav of capturing features of a rough estimation of complexity of class hierarchy structure. In addition to, we suggest a set of algorithms that transform a original class hierarchy structure into reorganized one based on the proposed metrics for class hierarchy structure. Furthermore, we also prove that each algorithm is "object-preserving". That is, we prove that the set of objects are never changed before and after applying the algorithm on a class hierarchy. The technique presented in this paper can be used as a guidelines of the construction, restructuring and refinement of class hierarchies. Moreover, the proposed set of algorithms based on metrics can be helpful for developers as an useful instrument for the object-oriented software development.velopment.