DOI QR코드

DOI QR Code

웹 프로그래밍을 위한 복잡도 한계값의 적정성

Relevance of the Cyclomatic Complexity Threshold for the Web Programming

  • 김지현 (서일대학 컴퓨터소프트웨어과)
  • 투고 : 2012.05.21
  • 심사 : 2012.06.28
  • 발행 : 2012.06.30

초록

본 연구는 웹 환경에서 어플리케이션 복잡도의 빈도분포를 근거로 한계값의 적정성을 분석하기 위한 실험을 하였으며 두 가지 가정을 기준으로 작업하였다. 즉, 절차적 프로그래밍에서 McCabe의 상한값 10과 자바 프로그래밍에서의 Lopez의 상한값 5에 대하여 웹 프로그래밍 구문에 이들 설정값의 적용이 가능한가?에 대한 실험으로 10 웹 사이트 프로젝트를 수집하였고 4,000여개의 ASP파일 표본이 측정되었다. 웹 어플리케이션에 대한 복잡도 빈도분포를 파악한 결과 통합된 웹 어플리케이션의 90% 이상이 복잡도 50이하의 값을 가짐으로써 한계값 50이 제안되었다. 서버, 클라이언트, HTML이 통합된 웹 어플리케이션의 구조상 HTML의 복잡도가 35~40의 값을 가지게 되는데 이는 HTML이 주로 홈 페이지나 사이트 맵을 구성하는 메뉴 형태로 되어 있어 높은 복잡도의 적합성이 설명되었다. 향후 웹 어플리케이션의 구조상 복잡도와 관련된 숨어 있는 속성은 없는지 관련성을 찾아보는 노력이 필요하다.

In this empirical study at the Web environment based on the frequency distribution of the cyclomatic complexity number of the application, the relevance of the threshold has been analyzed with the next two assumptions. The upper bound established by McCabe in the procedural programming equals 10 and the upper bound established by Lopez in the Java programming equals 5. Which numerical value can be adapted to Web application contexts? In order to answer this 10 web site projects have been collected and a sample of more than 4,000 ASP files has been measured. After analyzing the frequency distribution of the cyclomatic complexity of the Web application, experiment result is that more than 90% of Web application have a complexity less than 50 and also 50 is proposed as threshold of Web application. Web application has the complex architecture with Server, Client and HTML, and the HTML side has the high complexity 35~40. The reason of high complexity is that HTML program is usually made of menu type for home page or site map, and the relevance of that has been explained. In the near future we need to find out if there exist some hidden properties of the Web application architecture related to complexity.

키워드

참고문헌

  1. Miguel Lopez, Naji Habra, "Relevance of the Cyclomatic Complexity Threshold for the Java Programming Language", In Proceedings of the Software Measurement European Forum(SMEF 2005), 2005.
  2. Boldyreff, Cornelia, Warren, Paul, Gakell, Craig, and Marshall, Angus, "Web-SEM Project: Establishing Effect Web Site Evaluation Metrics", Proceedings of 2nd International Workshop on Web Site Evaluation WSE'2000", p. WSE17, 2000
  3. Habra, N., Abran A., Lopez, M. & Paulus, V. "Towards a framework for Measurement Lifecycle", University of Namur, Technical Report, TR37/04, 2004
  4. Britoe e Abreu, P., Poels, G., Sahraoui H.A., and Zuse, H., "Quantitative Approaches in Object-Oriented Software Engineering", Kogan Page Science, 2004
  5. T. J. McCabe, "A Complexity Measure" IEEE Transactions on Software Engineering, Vol. 2, No. 4, 1976
  6. Stark G., Durst, R.C., "Using Metrics in Management Decision Making", Computer(IEEE), 1994
  7. Victor Laing and Charles Coleman, "Principal Components of Orthogonal Object-Oriented Metrics", www.gsfc.nasa.gov/support/OSMASASMSEP01/, 2001.10
  8. V.B.Misic, D.N.Tesic, "Estimation of effort and complexity: An object-oriented case study", Journal of Systems and Software, Jan 1999
  9. Abran, A., Lopez, M., and Habra, N., "An Analysis of the McCabe Cyclomatic Complexity Number", in IWSM Proceedings, Berlin, 2004
  10. Linda Rosenberg, Ph.D., Lawrence Hyatt, "Developing a successful metrics program", International Conference On Software Engineering(IASTED) SanFrancisco CA, November 1997
  11. Thomas A. Powell , "WebSite Engineering", Prentice Hall PTR, 1998
  12. V.R. Basili, L.C. Briand, and W.L. Melo, "A Validation of Object Oriented Design Metrics as Quality Indicators," IEEE Trans. Software Eng., vol. 22, no. 10, pp. 751-761, Oct. 1996 https://doi.org/10.1109/32.544352
  13. JeeHyun Kim, Chel Park, "Implementation of the Module Risk Levels Measurement Tools for Web Application", Journal of the Korea Society of Computer and Information vol. 7, no. 2, Jun. 2002
  14. Chel Park, HaeYoung Yoo, "Analysis of Cyclomatic Complexity for Web Application", Journal of the Korea Information Processing Society, v.11-D, n.4, pp.865-872, Aug. 2004 https://doi.org/10.3745/KIPSTD.2004.11D.4.865
  15. JeeHyun Kim, HaeYoung Yoo, "A Study of Estimation for Web Software Size", Journal of the Korea Information Processing Society, vol. 12-D. no. 3, May 2005 https://doi.org/10.3745/KIPSTD.2005.12D.3.409

피인용 문헌

  1. 웹 소프트웨어의 순환복잡도에 대한 정량적 분석 vol.19, pp.2, 2014, https://doi.org/10.9708/jksci.2014.19.2.183