• Title/Summary/Keyword: Code Metrics

Search Result 76, Processing Time 0.026 seconds

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

Quality Visualization of Quality Metric Indicators based on Table Normalization of Static Code Building Information (정적 코드 내부 정보의 테이블 정규화를 통한 품질 메트릭 지표들의 가시화를 위한 추출 메커니즘)

  • Chansol Park;So Young Moon;R. Young Chul Kim
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.12 no.5
    • /
    • pp.199-206
    • /
    • 2023
  • The current software becomes the huge size of source codes. Therefore it is increasing the importance and necessity of static analysis for high-quality product. With static analysis of the code, it needs to identify the defect and complexity of the code. Through visualizing these problems, we make it guild for developers and stakeholders to understand these problems in the source codes. Our previous visualization research focused only on the process of storing information of the results of static analysis into the Database tables, querying the calculations for quality indicators (CK Metrics, Coupling, Number of function calls, Bad-smell), and then finally visualizing the extracted information. This approach has some limitations in that it takes a lot of time and space to analyze a code using information extracted from it through static analysis. That is since the tables are not normalized, it may occur to spend space and time when the tables(classes, functions, attributes, Etc.) are joined to extract information inside the code. To solve these problems, we propose a regularized design of the database tables, an extraction mechanism for quality metric indicators inside the code, and then a visualization with the extracted quality indicators on the code. Through this mechanism, we expect that the code visualization process will be optimized and that developers will be able to guide the modules that need refactoring. In the future, we will conduct learning of some parts of this process.

A Pragmatic Framework for Predicting Change Prone Files Using Machine Learning Techniques with Java-based Software

  • Loveleen Kaur;Ashutosh Mishra
    • Asia pacific journal of information systems
    • /
    • v.30 no.3
    • /
    • pp.457-496
    • /
    • 2020
  • This study aims to extensively analyze the performance of various Machine Learning (ML) techniques for predicting version to version change-proneness of source code Java files. 17 object-oriented metrics have been utilized in this work for predicting change-prone files using 31 ML techniques and the framework proposed has been implemented on various consecutive releases of two Java-based software projects available as plug-ins. 10-fold and inter-release validation methods have been employed to validate the models and statistical tests provide supplementary information regarding the reliability and significance of the results. The results of experiments conducted in this article indicate that the ML techniques perform differently under the different validation settings. The results also confirm the proficiency of the selected ML techniques in lieu of developing change-proneness prediction models which could aid the software engineers in the initial stages of software development for classifying change-prone Java files of a software, in turn aiding in the trend estimation of change-proneness over future versions.

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

  • Lee, Jong-Seok;Wu, Chi-Su
    • Journal of KIISE:Software and Applications
    • /
    • v.27 no.6
    • /
    • pp.595-606
    • /
    • 2000
  • Software metrics evaluate the development process, measure the software development effort, and control the software quality effectively. Moreover in a current status to emphasize reusability, it is necessary to study of cohesion and coupling that plays an important role in evaluating reusability. Object oriented methodology to use the concept like encapsulation, inheritance, and polymorphism demands metrics that are different from existing procedural methodology, so a study for object oriented metrics is in progress at the present time. In this paper, we propose cohesion and coupling metrics for object oriented program, evaluate the proposed metrics by using the complexity properties proposed by Weyuker and Briand, and extract cohesion and coupling from C++ code.

  • PDF

Differential space-time coded OFDM using multiple symbol decoding (다중 심벌 디코딩을 이용한 차동 시공간 부호화된 OFDM)

  • Yoo Hang-Youal;Kim Seung-Youal;Kim Chong-Il
    • The Journal of The Korea Institute of Intelligent Transport Systems
    • /
    • v.3 no.1 s.4
    • /
    • pp.117-125
    • /
    • 2004
  • Space-time coding and modulation exploit the presence of multiple transmit antennas to improve performance on multipath Rayleigh fading channels. In this paper, we propose the Trellis-Coded Differential Space Time Modulation-OFDM system with multiple symbol detection. The Trellis-code perform the set partition with unitary group codes. The Viterbi decoder containing new branch metrics is introduced in order to improve the bit error rate (BER) in the differential detection of the Unitary differential space time modulation. Also, we describe the Viterbi algorithm in order to use this branch metrics. Our study shows that such a Viterbi decoder improves BER performance without sacrificing bandwidth and power efficiency.

  • PDF

Improved Differential Detection Scheme of Space-Time Trellis Coded MDPSK For MIMO (MIMO에서 시공간 부호화된 MDPSK의 성능을 향상시키기 위한 차동 검파 시스템)

  • Kim, Chong-Il;Lee, Ho-Jin;Yoo, Hang-Youal;Kim, Jin-Yong;Kim, Seung-Youal
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.10 no.10
    • /
    • pp.1869-1876
    • /
    • 2006
  • Recently, STC techniques have been considered to be candidate to support multimedia services in the next generation mobile radio communications and have been developed the many communications systems in order to achieve the high data rates. In this paper, we Nose the Trellis-Coded Differential Space Time Modulation system with multiple symbol detection. The Trellis-code performs the set partition with unitary group codes. The Viterbi decoder containing new branch metrics is introduced in order to improve the bit error rate (BER) in the differential detection of the unitary differential space time modulation. Also, we describe the Viterbi algorithm in order to use this branch metrics. Our study shows that such a Viterbi decoder improves BER performance without sacrificing bandwidth and power efficiency.

Multiple Symbol Detection of Trellis coded Differential space-time modulation for OFDM (OFDM에서 트렐리스 부호화된 차동 시공간 변조의 다중 심벌 검파)

  • 유항열;한상필;김진용;김성열;김종일
    • Journal of the Institute of Convergence Signal Processing
    • /
    • v.5 no.3
    • /
    • pp.223-229
    • /
    • 2004
  • Recently, OFDM and STC techniques have been considered to be candidate to support multimedia services in the next generation mobile radio communications and have been developed the many communications systems in order to achieve the high data rates. In this paper, we propose the Trellis-Coded Differential Space Time Modulation-OFDM system with multiple symbol detection. The Trellis-code performs the set partition with unitary group codes. The Viterbi decoder containing new branch metrics is introduced in order to improve the bit error rate (BER) in the differential detection of the unitary differential space time modulation. Also, we describe the Viterbi algorithm in order to use this branch metrics. Our study shows that such a Viterbl decoder improves BER performance without sacrificing bandwidth and power efficiency.

  • PDF

Bayesian Network-based Probabilistic Management of Software Metrics for Refactoring (리팩토링을 위한 소프트웨어 메트릭의 베이지안 네트워크 기반 확률적 관리)

  • Choi, Seunghee;Lee, Goo Yeon
    • Journal of KIISE
    • /
    • v.43 no.12
    • /
    • pp.1334-1341
    • /
    • 2016
  • In recent years, the importance of managing software defects in the implementation stage has emerged because of the rapid development and wide-range usage of intelligent smart devices. Even if not a few studies have been conducted on the prediction models for software defects, their outcomes have not been widely shared. This paper proposes an efficient probabilistic management model of software metrics based on the Bayesian network, to overcome limits such as binary defect prediction models. We expect the proposed model to configure the Bayesian network by taking advantage of various software metrics, which can help in identifying improvements for refactoring. Once the source code has improved through code refactoring, the measured related metric values will also change. The proposed model presents probability values reflecting the effects after defect removal, which can be achieved by improving metrics through refactoring. This model could cope with the conclusive binary predictions, and consequently secure flexibilities on decision making, using indeterminate probability values.

$\pi$/4 shift QPSK with Trellis-Code and Lth Phase Different Metrics (Trellis 부호와 L번째 위상차 메트릭(metrics)을 갖는$\pi$/4 shift QPSK)

  • 김종일;강창언
    • The Journal of Korean Institute of Communications and Information Sciences
    • /
    • v.17 no.10
    • /
    • pp.1147-1156
    • /
    • 1992
  • In this paper, in order to apply the $\pi/4$ shift QPSK to TCM, we propose the $\pi/8$ shift 8PSK modulation technique and the trellis-coded $\pi/8$ shift 8PSK performing signal set expansion and partition by phase difference. In addition, the Viterbi decoder with branch metrics of the squared Euclidean distance of the first phase difference as well as the Lth phase different is introduced in order to improve the bit error rate(BER) performance in differential detection of the trellis-coded $\pi/8$ shift 8PSK. The proposed Viterbi decoder is conceptually the same as the sliding multiple detection by using the branch metric with first and Lth order phase difference. We investigate the performance of the uncoded $\pi/4$ shift QPSK and the trellis-coded $\pi/8$ shift 8PSK with or without the Lth phase difference metric in an additive white Gaussian noise (AWGN) using the Monte Carlo simulation. The study shows that the $\pi/4$ shift QPSK with the Trellis-code i.e. the trellis-coded $\pi/8$ shift 8PSK is an attractive scheme for power and bandlimited systems and especially, the Viterbi decoder with first and Lth phase difference metrics improves BER performance. Also, the nest proposed algorithm can be used in the TC $\pi/8$ shift 8PSK as well as TCMDPSK.

  • PDF

Which Code Changes Should You Review First?: A Code Review Tool to Summarize and Prioritize Important Software Changes

  • Song, Myoungkyu;Kwon, Young-Woo
    • Journal of Multimedia Information System
    • /
    • v.4 no.4
    • /
    • pp.255-262
    • /
    • 2017
  • In recent software development, repetitive code fragments (i.e., clones) are common due to the copy-and-paste programming practice, the framework-based development, or the reuse of same design patterns. Such similar code fragments are likely to introduce more bugs but are easily disregarded by a code reviewer or a programmer. In this paper, we present a code review tool to help code reviewers identify important code changes written by other programmers and recommend which changes need to be reviewed first. Specifically, to identify important code changes, our approach detects code clones across revisions and investigates them. Then, to help a code reviewer, our approach ranks the identified changes in accordance with several software quality metrics and statistics on those clones and changes. Furthermore, our approach allows the code reviewer to express their preferences during code review time. As a result, the code reviewer who has little knowledge of a code base can reduce his or her effort by reviewing the most significant changes that require an instant attention. To evaluate our approach, we integrated our approach with a modern IDE (e.g., Eclipse) as a plugin and then analyzed two third-party open source projects. The experimental results indicate that our approach can improve code reviewer's productivity.