Browse > Article
http://dx.doi.org/10.3745/KTSDE.2017.6.7.329

Automatic Extraction of Component Collaboration in Java Web Applications by Using Servlet Filters and Wrappers  

Oh, Jaewon (가톨릭대학교 컴퓨터정보공학부)
Ahn, Woo Hyun (광운대학교 컴퓨터소프트웨어학과)
Kim, Taegong (인제대학교 컴퓨터공학부)
Publication Information
KIPS Transactions on Software and Data Engineering / v.6, no.7, 2017 , pp. 329-336 More about this Journal
Abstract
As web apps have evolved faster and become more complex, their validation and verification have become essential for their development and maintenance. Efficient validation and verification require understanding of how web components collaborate with each other to meet user requests. Thus, this paper proposes a new approach to automatically extracting such collaboration when a user issues a request for a new page. The approach is dynamic and less sensitive to web development languages and technologies, compared to static extraction approaches. It considers an orignal web app as a black-box and does not change the app's behavior. The empirical evaluation shows that our approach can be applicable to extract component collaboration and understand the behavior of open source web apps.
Keywords
Web Component Collaboration; Filter and Wrapper; Servlet;
Citations & Related Records
연도 인용수 순위
  • Reference
1 M. Han and C. Hofmeister, "Modeling request routing in web applications," in Proceedings of the WSE, 2006.
2 W. GJ. Halfond, "Identifying inter-component control flow in web applications," in Proceedings of the ICWE, 2015.
3 G. C. Murphy et al., "Software reflexion models: bridging the gap between design and implementation," IEEE Transactions on Software Engineering, Vol.27, No.4, 2001.
4 T. Parsons, A. Mos, and J. Murphy, "Non-intrusive end-to-end runtime path tracing for J2EE systems," IEE Proceedings-Software, Vol.153, No.4, 2006.
5 M. H. Alalfi et al., "Automated reverse engineering of UML sequence diagrams for dynamic web applications," in Proceedings of the ICSTW, 2009.
6 The Essentials of Filters [Internet], http://www.oracle.com/technetwork/java/filters-137243.html.
7 D. Altar et al., "Core J2EE Pattern," 2nd ed., Prentice Hall, 2003.
8 J. Oh et al., "Automated transformation of template-based web applications into single-page applications," in Proceedings of the IEEE COMPSAC, 2013.
9 JSR-000340 Java Servlet 3.1 Specification for Evaluation, http://download.oracle.com/otndocs/jcp/servlet-3_1-fr-evalspec/index.html.
10 A. Mesbah et al., "Crawling ajax-based web applications through dynamic analysis of user interface state changes," ACM Transactions on the Web, Vol.6, No.1, 2012.
11 A. Marchetto et al., "Reajax: a reverse engineering tool for ajax web applications," IET Software, Vol.6, No.1, 2012.
12 S. Mirshokraie et al., "Guided mutation testing for javascript web applications," IEEE Transactions on Software Engineering, Vol.41, No.5, 2015.
13 S. Mirshokraie et al., "JSeft: automated javascript unit test generation," in Proceedings of the ICST, 2015.
14 A. Guha et al., "Using static analysis for ajax intrusion detection," in Proceedings of the WWW, 2009.
15 S. Halle et al., "Eliminating navigation errors in web applications via model checking and runtime enforcement of navigation state machines," in Proceedings of the ASE, 2010.
16 J. Oh et al., "MVC architecture driven restructuring to achieve client-side web page composition," in Proceedings of the ICSESS, 2016.
17 R. Rodriguez-Echeverria et al., "Generation of WebML hypertext models from legacy web applications," in Proceedings of the WSE, 2012.