DOI QR코드

DOI QR Code

A Structural Complexity Metric for Web Application based on Similarity

유사도 기반의 웹 어플리케이션 구조 복잡도

  • 정우성 (서울대학교 공과대학 컴퓨터공학부) ;
  • 이은주 (경북대학교 IT대학 컴퓨터학부)
  • Received : 2010.05.02
  • Accepted : 2010.05.30
  • Published : 2010.08.31

Abstract

Software complexity is used to evaluate a target system's maintainability. The existing complexity metrics on web applications are count-based, so it is hard to incorporate the understandability of developers or maintainers. To make up for this shortcomings, entropy-theory can be applied to define complexity, however, it is assumed that information quantity of each paper is identical. In this paper, structural complexity of a web application is defined based on information theory and similarity. In detail, the proposed complexity is defined using entropy as the previous approach, but the information quantity of individual pages is defined using similarity. That is, a page which are similar with many pages has smaller information quantity than a page which are dissimilar to others. Furthermore, various similarity measures can be used for various views, which results in many-sided complexity measures. Finally, several complexity properties are applied to verify the proposed metric and case studies shows the applicability of the metric.

소프트웨어 복잡도는 대상 시스템의 유지보수성을 평가하는 주요한 메트릭인데 기존의 웹 어플리케이션 기반 복잡도는 대부분 단순히 개수 기반으로 정의되어 실제 개발자나 유지보수자의 관점에서 느끼는 이해도를 반영하기 어렵다. 이를 보완하기 위하여 정보이론의 엔트로피를 이용하여 복잡도를 정의할 수 있으나, 개별 페이지의 정보량을 동일하게 취급하고 있다. 본 논문에서는 웹 어플리케이션의 구조 복잡도를 유사도 및 정보이론에 기반하여 제안하였다. 즉, 엔트로피에 기반하되, 기존의 유사도를 이용하여 타 페이지들과 유사성이 높은 페이지의 내부 정보량은 그렇지 않은 페이지보다 낮도록 정의하여 이러한 단점을 보완하였다. 또한 관점에 따라 각기 다른 유사도를 적용할 수 있도록 함으로써 복잡도를 여러 관점에서 측정할 수 있도록 하였다. 이후 복잡도 속성을 이용하여 이론적으로 검증하였고, 사례 연구를 통하여 본 기법의 유용성을 보였다.

Keywords

References

  1. W. Jung, E. Lee, K. Kim, and C. Wu, "A Complexity Metric for Web Applications Based on the Entropy Theory," in Proc. of Asia-Pacific Software Engineering Conference, pp. 511-518, 2008.
  2. 김지현, 오성균, "웹 소프트웨어의 위험분석 모델에 대한 연구," 한국컴퓨터정보학회논문지, 제 11권, 제 3호, 281-289쪽, 2006년 7월.
  3. Y. Zhang, H. Zhu, and S. Greenwood, "Website Complexity Metrics for Measuring Navigability," in Proc. of International Conference on Quality Software, pp. 172-179, 2004.
  4. E. Mendes, N, Mosley and S. Counsell, "Comparison of Web Size Measures for Predicting Web Design and Authoring Effort," IEE Proceedings-Software, Vol. 149, No. 3, pp. 86-92, June 2002.
  5. C. E. Shannon, "A Mathematical Theory of Communications," Bell System Technical Journal, Vol. 27, pp. 379-423, July 1948. https://doi.org/10.1002/j.1538-7305.1948.tb01338.x
  6. S. K. Abd-El-Hafiz, "Entropies as Measures of Software Information," in Proc. of IEEE Int'l Conference on Software Maintenance, pp. 110-117, 2001.
  7. E. B. Allen, "Measuring Graph Abstractions of Software: An Information-Theory Approach," in Proc. of IEEE Symposium on Software Metrics, pp.182-193, 2002.
  8. A. Bianchi, D. Caivano, F. Lanubile, and C.A.Visagio, "Evaluating Software Degradation through Entropy," in Proc. of Int'l Software Metrics Symposium, pp. 210-219, 2001.
  9. W. Harrison, "An Entropy-Based Measure of Software Complexity," IEEE Trans. on Software Engineering, Vol. 18, No. 11, pp. 1025-1029, 1992. https://doi.org/10.1109/32.177371
  10. J. Bansiya, C. Davis, and L. Etzkorn, "An Entropy-Based Complexity Measure for Object-Oriented Designs," Theory and Practice of Object Systems, Vol. 5, No. 2, pp. 111-118, Apr. 1999. https://doi.org/10.1002/(SICI)1096-9942(1999)5:2<111::AID-TAPO4>3.0.CO;2-0
  11. K. Kim, Y. Shin, and C. Wu, "Complexity Measures for Object-Oriented Program Based on the Entropy," in Proc. of Asia-Pacific Software Engineering Conference, pp. 127-136, Nov. 1995.
  12. 오성균, 김미진, "웹 어플리케이션의 복잡도 예측에 관한 연구," 한국컴퓨터정보학회논문지, 제 9권, 제 3호, 27-34쪽, 2004년 9월.
  13. I. Ivan, A Felician and M. Popa, "The Impact of the Operations upon Complexity of Web Applications," in Proceedings of Romanian Symposium on Computer Science, pp. 55-64, 2006.
  14. C. Mao and Y. Lu, "A Method for Measuring the Structure Complexity of Web Application," Wuhan University Journal of Natural Science, Vol. 11, No. 1, pp.143-150, 2006. https://doi.org/10.1007/BF02831720
  15. P. Chandra and G. Manjunath, "Navigational Complexity in Web Interactions," in Proceedings of World Wide Web, pp. 1075-1076, 2010.
  16. 이은영, 최병주, 송화정, 황상철, "프레임워크 웹 어플리케이션을 위한 BizUnit 테스트 코드 생성," 정보과학회논문지:컴퓨팅의 실제 및 레터 제 15권 제 12호, 899-912쪽, 2009년 12월.
  17. T. Laakso and J. Niemi, "An Evaluation of AJAX-enabled JAVA-based Web Application Frameworks," in Proceedings of International Conference on Advances in Mobile Computing and Multimedia, pp. 431-437, 2008.
  18. G. A. Di Lucca, A. R. Fasolino, F. Pace, P. Tramontana, U. De Carlini, "Comprehending Web Applications by a Clustering Based Approach," in Proc. of the International Workshop on Program Comprehension, pp.261-270, 2002.
  19. W. Jung, E. Lee, and C. Wu, "WSIM: Detecting Clone Pages based on 3-Levels of Similarity Clues," in Proc. of International Conference on Computer and Information Science, 2010 (accepted).
  20. B. J. Lee, E. J. Lee, and C. S. Wu, "Genetic Algorithm Based Restructuring of Web Applications Using Web Page Relationships and Metrics," Lecture Notes in Computer Science, Springer-Verlag, Vol. 4113, pp.697-702, 2006.
  21. E. J. Weyuker, "Evaluating Software Complexity Measures," IEEE Transations on Software Engineering, Vol. 14, No. 9, pp. 1357-1365, Sep. 1988. https://doi.org/10.1109/32.6178
  22. J. Tian, "Complexity Measure Evaluation and Selection," IEEE Trans. on Software Engineering, Vol. 21, No. 8, pp. 641-650, Aug. 1995. https://doi.org/10.1109/32.403788
  23. GIMS, http://sourceforge.net/projects/gims2007/
  24. GraphViz, http://www.graphviz.org/
  25. F. Calefato, F. Lanubile, and T. Mallardo, "Function Clone Detection in Web Applications: A Semiautomated Approach," Journal of Web Engineering, Vol. 3, No. 1, pp. 003-021, 2004.