Design of the Metrics Suite $\pi_{java}$for Java Program Complexity

자바 프로그램의 복잡도 측정을 위한 척도 $\pi_{java}$의 설계

  • Published : 2001.03.01

Abstract

In this paper we propose a suite of metrics $\pi_{java}$ Java/, for evaluating the complexity of Java Programs based on a suite of metrics $\pi_{java}$ c++/, which we previously presented for C++ programs. So far, a lot of metrics for C++ are proposed for C++ programs. But since the specific properties of Java programs are not explicitly considered in those metrics, it is hard to apply them to Java programs. Thus we aim to develop a metric suite that is applicable to Java Programs. At first, we decide if any properties are commonly possessed by both C++ programs and Java programs, or not. For example, the multiple inheritance of the class in C++ is not implemented in Java. On the other hand, the features such as package and interface are newly implemented in Java, and therefore we cannot discuss the complexity of Java programs without considering these new features. Then we define a new suite of metrics $\pi_{java}$ Java/ for Java programs by deleting 3 metrics $\pi_{java}$/c++/, and then incorporating 3 metrics which are newly defined or modified for Java programs to $\pi_{java}$ c++/. Finally, we analytically evaluate the new metric with regard to Weyuker's measurement principles and also compare it with conventional metrics for Java.

본 논문에서는 C++ 프로그램을 측정하기 위하여 제안된 척도 $\pi_{java}$ c++/를 기반으로 Java 프로그램 복잡도를 측정하기 위한 척도 $\pi_{java}$ Java/을 제안한다. C++를 측정하기 위해 많은 척도들이 제안되어 왔으나 이들은 Java 프로그램만이 가지는 특성들을 고려하지 않았기 때문에 C++ 프로그램과 다른 성질을 가지고 있는 Java프로그램에 이들을 그대로 적용하는 것은 어렵다. 따라서, 본 논문에서는C++와 Java 언어의 공통점과 차이점을 분석한 결과와 본 연구팀이 C++ 프로그램의 복잡도를 측정하기 위해 제안했던 척도 $\pi_{java}$ c++/을 바탕으로 Java 프로그램의 복잡도를 측정하기 위한 새로운 척도 $\prod$$_{Java}$을 제안한다. 마지막으로 제안한 척도를 Weyuker의 성질에 적용하여 분석하며, 기존의 척도들과도 비교한다.

Keywords