Software complexity measure is believed to be the most objective and quantitative measure for the control of a software project. In this thesis, we propose a new approach for representing the software complexity. The complexity measure based on data flow information is defined as the maximum number of definition-use chains potentially contained in a program control graph.
We investigate some characteristics of thus defined measure and compare its properties with those of existing measures, through experiments and statistical analysis with sample programs in order to show that this new measure has several advantages over the others. We also develop a tool which can automatically evaluate this complexity measure for a given program.
소프트웨어 복잡도는 소프트웨어 프로젝트를 객관적이면서도 정량적으로 제어할 수 있는 가장 유용한 척도로 믿어진다. 본 논문에서는 소프트웨어의 복잡도를 나타내는 새로운 방식이 제안되었다. 데이타 흐름정보에 기반을 둔 새로운 복잡도는 프로그램 제어 그래프 내에서 포함될 수 있는 최대의 definition-use chain 들의 수로 정의 된다.
위와 같이 정의된 복잡도의 특성들을 고찰해 보고, 표본 프로그램들을 이용한 실험과 통계적 분석을 통하여 제안된 복잡도가 기존의 복잡도들에 비하여 여러가지 장점을 가지고 있음을 보였다. 그리고 입력 프로그램에 대하여 복잡도를 자동적으로 계산하여 주는 도구를 설계하고 구현하였다.