DOI QR코드

DOI QR Code

A Study of Cyclomatic Complexity for Web Application

웹 어플리케이션의 순환복잡도 메트릭스에 관한 연구

  • Published : 2002.06.01

Abstract

Web applications haute different structural characteristics from conventional applications. A web application typically consists of server-side script elements which run on web sowers, client-side script elements which run on the client web-browser, link elements that the user clicks, and event elements that connect user-triggered request to the client script elements. These four elements are combined to form a web application. In such environments, direct application of conventional methods for measuring application complexity may not be possible, because they are primarily designed to measure complexity of modules and classes. In this paper, therefore, we propose metrics of Cyclomatic Complexity for Web Application (CCWA). We developed a tool to measure such metrics and applied it to the real-world examples. We found that the proposed CCWA metrics can be used for measuring complexity of highly complex web applications, which is not possible with conventional module and class based measurement techniques.

웹 어플리케이션은 기존의 어플리케이션과는 다른 구조적인 특징을 가지고 있다. 웹 서버 상에서 실행되는 프로그램 코드인 서버측 스크립트 요소, 웹 브라우저에서 수행되는 프로그램 코드인 클라이언트측 스크립트 요소, 웹 브라우저에서 사용자가 선택하는 링크 요소 그리고 사용자의 선택을 클라이언트 스크립트로 연결시켜 주는 이벤트 요소, 이렇게 네 가지 요소들이 상호 연관되어 웹 어플리케이션을 구성한다. 기존의 어플리케이션들보다 다양한 요소들로 구성된 웹 어플리케이션에서 복잡도 측정에 기존의 모듈 또는 클래스 단위로 적용되는 복잡도 측정 방법을 그대로 적용하기 힘들다. 이에 본 논문에서는 웹 어플리케이션의 구조적인 복잡함을 반영하는 웹 어플리케이션의 순환복잡도(CCWA : Cyclomatic Complexity for Web Application) 메트릭스를 제안한다. 제안된 CCWA 도구를 개발하여, 현재 기업에서 사용중인 웹 어플리케이션에 적용하여 평가하였다. 그 결과 제안된 CCWA 도구는 각 요소들에 순환복잡도를 각각 적용했을 때에는 발견할 수 없었던 복잡도가 높은 웹 어플리케이션 파일을 발견하게 해주었다.

Keywords

References

  1. Boldyreff, Cornelia, Warren, Paul, Gakell, Craig, and Mar-shall, Angus, 'Web-SEM Project : Establishing Effect Web Site Evaluation Metrics,' Proceedings of 2nd International Workshop on Web Site Evaluation WSE'2000, p. WSE17, 2000
  2. Dennis Kafura, Geereddy R. Reddy, 'The Use of Software Complexity Metrics in Software Engineering,' IEEE Trans. on Software eng., Vol.SE-13, No.3, 1987 https://doi.org/10.1109/TSE.1987.233164
  3. A. E. Hatzimanikatis, C. T. Tsalidis and D. Christodoulakis, Measuring the Readability and Maintainability of Hyper-documents,' Software Maintenance Research and Practice, Vol.7, 1995 https://doi.org/10.1002/smr.4360070203
  4. W. Harrison, K. Magel, R. Kluczny and A. Decock, 'Ap-plying Software Complexity Metrics to Program Mainte-nance,' IEEE Computer, Vol.15, No.9, pp.65-79, Sep., 1982
  5. S. D. Conte, H. E. Dunsmore, V. Y. Shen, 'Software En-gineering Metrics and Model,' The Benjamin/Cumming Publishing Company, Inc., 1995
  6. M. Halstead, 'Elements of Software Science,' Elsevier Nor-th Holland, New York, 1977
  7. T. J. McCabe, 'A Complexity Measure,' IEEE Trans. on Software eng., Vol.2, No.4, 1976 https://doi.org/10.1109/TSE.1976.233837
  8. 류성열, 이성은, 안재홍, '유지보수를 위한 프로그램의 복잡도 측정요소', 숭실대학교논문집 공학편 제26집 제2호, pp.83-90, 1996
  9. 김태공, 우치수, '프로그램경로에 기반을 둔 복잡도의 척도', 한국정보과학회논문지, Vol.2o, No.1, pp.34-42, 1993
  10. 최은만, 남윤석, '재사용 소프트웨어 품질평가도구 개발', http : //se.dongguk.ac.kr/menu_data/reusequality.htm, 2001
  11. 김유경, 박재년, '객체지향 설계의 특성을 고려한 품질 평가 메트릭스', 한국정보처리학회논문지, 제7권 제2호, pp.373-384, 2000
  12. 최영완, '웹 사이트 공학', http : //www.hci.or.kr/colum/19990802.html, 1999
  13. 한규정, 이경환, '혼합적 방법에 의한 소프트웨어 복잡도 측정', 한국정보과학회논문지 Vol.16, No.2, pp.148-156, 1989
  14. L. J. Artur, 'Measuring Programmer Productivity and So-ftware Quality,' Jon Wiley ^ Sons, Inc., 1985
  15. 강규욱, 'ASP 어플리케이션의 유지보수를 지원하는 모듈리티 측정도구의 설계와 구현', 단국대학교 석사학위 청구논문, 2000