본문 바로가기
HOME> 논문 > 논문 검색상세

논문 상세정보

Java 프로그램에 대한 복잡도 척도들의 실험적 검증
An Empirical Validation of Complexity Metrics for Java Programs

김재웅   (전북대학교 컴퓨터과학과UU0001120  ); 유철중   (전북대학교 컴퓨터과학과UU0001120  ); 장옥배   (전북대학교 컴퓨터과학과UU0001120  );
  • 초록

    본 논문에서는 Java 프로그램의 복잡도를 측정하기 위해 필요한 인자들을 제안하였다. 이러한 인자들을 추출하기 위해 Java 프로그램을 분석하여 객체지향 설계 척도 값들을 계산하고 통계적 분석을 수행하였다. 그 결과 기존의 연구에서 발견되었던 클래스의 크기 인자 외에도 메소드 호출 빈도, 응집도, 자식 클래스의 수, 내부 클래스 및 상속 계층의 깊이가 주요 인자임이 파악되었다. 클래스의 크기 척도로 분류되었던 자식 클래스의 수는 다른 크기 척도들과 다른 성질을 가진다는 것을 발견하였다. 또한 프로그램의 크기가 커지고 결합도가 높아질수록 응집도가 떨어진다는 것을 입증하였다. 그리고 인자 분석을 바탕으로 인간의 인지 능력과 인자의 상관관계를 고려한 가중치를 적용하기 위해 인자별로 회귀분석을 수행하였다. 보다 적은 척도를 가지고 인자를 설명할 수 있는 회귀식을 도출하였다. 두 그룹에 대한 교차 검증 결과 회귀식이 높은 신뢰도를 가지는 것으로 나타났다. 따라서 본 논문에서 제안한 인자들을 이용하는 경우 Java 프로그램의 복잡도를 측정할 수 있는 새로운 척도로 사용할 수 있다.


  • 참고문헌 (19)

    1. Mohammad A., 'Putting Metrics into Software Perspectives,' http://www.cs.usask.ca/homepages/ grads/moa135/856/metrics/metrics.html, Oct. 1995 
    2. Chidamber S. R. and Kemerer C. F., 'A Metrics Suite for Object-Oriented Design,' IEEE Trans. on Software Engineering, Vol. 20, No.6, pp. 476-493, Jun. 1994 
    3. Fenton N., Software Metrics - A Rigorous Approach, Chapman and Hall, 1991 
    4. Hitz M., Montazeri B., 'Measuring Coupling and Cohesion in Object-Oriented Systems,' in Proc. Int. Symposium on Applied Corporate Computing, Monterey, Mexico, Oct. 1995 
    5. Bieman J. M., Kang B. K., 'Cohesion and Reuse in an Object-Oriented System,' in Proc. ACM Symp. Software Reusability(SSR'94), pp. 259-262, 1995 
    6. Henderson-sellers B., 'Object-Oriented Metrics: Measures of Complexity,' Prentice-Hall, Hemel Hempstead, UK, 1996 
    7. Briand L., Morasca S., and Basili V., 'Property Based Software Engineering Measurement,' IEEE Trans. on Software Engineering, Vol. 22, No.1, pp, 68-86, Jan. 1996 
    8. Ramon A. Mata-Toledo, David A. Gustafson, 'A Factor Analysis of Software Complexity Measures,' Journal of Systems and Software, Vol. 17, pp, 267-273, 1992 
    9. Daniel Coupal and Pierre N. Robillard, 'Factor Analysis of Source Code Metrics,' Journal of Systems and Software, Vol. 12, pp, 263-269, 1990 
    10. Li Wei, Henry Sallie, 'Object-Oriented Metrics that Predict Maintainability,' Journal of Systems and Software, Vol. 23, pp. 111-122, 1993 
    11. Samuel B. Green, Neil Salkind, Teresa Akcy, and Neil J. Salkind, Using SPSS for Windows: Analyzing and Understanding Data, Upper Saddle River, NJ: Prentice Hall, 1997 
    12. Lakshmanian K. B., Iavaprakasb S., and Sinha P. K, 'Properties of Control-Flow Complexity Measures,' IEEE Trans. on Software Engineering, Vol. 17, No. 12, pp. 1289-1295, Dec. 1991 
    13. Tian J. and Zelkowitz M. V., 'A Formal Program Complexity Model and Its Application,' Journal of Systems and Software, Vol. 17, pp, 253-266, 1992 
    14. Weyuker E. J, 'Evaluating Software Complexity Measures,' IEEE Trans. on Software Engineering, Vol. 14, No.9, pp. 1357-1365, Sept. 1988 
    15. Roger S. Pressman, Software Engineering - A Practitioner's Approach, McGraw-Hill, 1998 
    16. Briand L., Daly J., and Wust J., 'A Unified Framework for Cohesion Measurement in Object Oriented Systems,' Empirical Software Engineering Journal, 3(1), pp. 65-117, 1998 
    17. McCabe, T. J., 'A Complexity Measure,' IEEE Trans. on Software Engineering, Vol. 2, No.4, pp. 308-320, April 1976 
    18. Brian W. Bush, BANDA Java Packages, http:// www.siadon.com/java 
    19. Andrew Cain, Rajcsh Vasa, Java Metric Analyser, http://www.csse.swin.edu.au/cotar/jmetric/ index.html 
  • 이 논문을 인용한 문헌 (1)

    1. 2003. "Forward/Reverse Engineering Approaches of Java Source Code using JML" 정보과학회논문지. Journal of KIISE. 소프트웨어 및 응용, 30(1): 19~30     

 저자의 다른 논문

  • 유철중 (53)

    1. 1993 "ATSN을 이용한 Ada Tasking 실행 시간 복잡도 표현에 관한 연구" 한국통신학회논문지 = The journal of the Korean institute of communication science 18 (5): 695~707    
    2. 1998 "자연어 처리, 통계적 기법, 적합성 검증을 이용한 자동색인 시스템에 관한 연구" 정보처리논문지 = The transactions of the Korea Information Processing Society 5 (6): 1552~1562    
    3. 1998 "C++프로그램의 유지보수 지원 시스템 개발" 정보처리논문지 = The transactions of the Korea Information Processing Society 5 (7): 1759~1773    
    4. 1998 "객체지향 소프트웨어의 설계 스타일 지침을 기반으로 하는 객체점수 척도" 정보처리논문지 = The transactions of the Korea Information Processing Society 5 (10): 2533~2545    
    5. 1998 "Java 통합 개발 환경에서 기능 컴포넌트들의 상호연동 기법" 정보처리논문지 = The transactions of the Korea Information Processing Society 5 (11): 2862~2873    
    6. 1998 "뉴스 비디오의 내용기반 검색을 위한 자동 인덱싱" 정보처리논문지 = The transactions of the Korea Information Processing Society 5 (5): 1130~1139    
    7. 1999 "자동 인덱싱에 기반한 뉴스 비디오 검색 시스템의 설계 및 구현" 정보과학회논문지. Journal of KISS (c) : computing practices. C 5 (1): 43~52    
    8. 1999 "JAVA 프로그램의 메트릭스 측정 시스템 설계" 소프트웨어공학논문지 = Journal of Software engineering 2 (2): 10~18    
    9. 2000 "공장설비 제어를 위한 레거시 소프트웨어 시스템 분석 및 재공학" 소프트웨어공학회지 = Software engineering review 13 (3): 55~70    
    10. 2000 "J2EE 플랫폼에서의 커넥터 아키텍처의 개선 방안" 소프트웨어공학논문지 = Journal of Software engineering 3 (3): 40~47    
  • 장옥배 (47)

 활용도 분석

  • 상세보기

    amChart 영역
  • 원문보기

    amChart 영역

원문보기

무료다운로드
  • NDSL :
유료다운로드

유료 다운로드의 경우 해당 사이트의 정책에 따라 신규 회원가입, 로그인, 유료 구매 등이 필요할 수 있습니다. 해당 사이트에서 발생하는 귀하의 모든 정보활동은 NDSL의 서비스 정책과 무관합니다.

원문복사신청을 하시면, 일부 해외 인쇄학술지의 경우 외국학술지지원센터(FRIC)에서
무료 원문복사 서비스를 제공합니다.

NDSL에서는 해당 원문을 복사서비스하고 있습니다. 위의 원문복사신청 또는 장바구니 담기를 통하여 원문복사서비스 이용이 가능합니다.

이 논문과 함께 출판된 논문 + 더보기