자바 웹 앱에서 서블릿 필터와 래퍼를 이용한 컴포넌트 협력 과정 자동 추출 기법
Automatic Extraction of Component Collaboration in Java Web Applications by Using Servlet Filters and Wrappers
0
조회
0
다운로드
4
인용
0
참고문헌
키워드
초록
웹 앱은 빠르게 진화하며 나날이 복잡해지고 있다. 이에 따라 웹 앱의 검증(validation & verification)이 웹 앱의 개발 및 유지보수를 위해 더욱 중요해 지고 있다. 효율적인 검증을 위해서는 웹 앱 실행 시 일어나는 웹 컴포넌트 사이의 협력 과정(collaboration)에 대한 이해가 선행되어야 한다. 이를 위해 본 논문에서는 웹 페이지 요청 시 페이지 생성을 위해 실행되는 웹 컴포넌트와 이들의 협력 과정을 자동적으로 추출하는 기법을 제안한다. 제안하는 기법은 복잡한 웹 개발 언어 및 기술에 덜 의존하는 동적 기법이며 웹 앱 소스를 블랙박스로 보고 웹 앱의 기능 변화 없이 협력 과정을 추출한다. 오픈 소스 웹 앱에 적용하는 실험을 통해 제안하는 기법의 유효성을 확인할 수 있다.
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.
참고문헌 (17)
- M. Han, "Modeling request routing in web applications", Proceedings of the WSE (2006)
- W. GJ. Halfond, "Identifying inter-component control flow in web applications", Proceedings of the ICWE (2015)
- G. C. Murphy, "Software reflexion models : bridging the gap between design and implementation", IEEE Transactions on Software Engineering, 27(4) (2001)
- T. Parsons, "Non-intrusive end-to-end runtime path tracing for J2EE systems", IEEE Proceedings-Software, 153(4) (2006)
- M. H. Alalfi, "Automated reverse engineering of UML sequence diagrams for dynamic web applications", Proceedings of the ICSTW (2009)
- "The Essentials of Filters"[URL]
- D. Altar, "Core J2EE Pattern" (2003), Prentice Hall
- J. Oh, "Automated transformation of template-based web applications into single-page applications", Proceedings of the IEEE COMPSAC (2013)
- "JSR-000340 Java Servlet 3.1 Specification for Evaluation"[URL]
- A. Mesbah, "Crawling ajax-based web applications through dynamic analysis of user interface state changes", ACM Transactions on the Web, 6(1) (2012)
- A. Marchetto, "Reajax : a reverse engineering tool for ajax web applications", IET Software, 6(1) (2012)
- S. Mirshokraie, "Guided mutation testing for javascript web applications", IEEE Transactions on Software Engineering, 41(5) (2015)
- S. Mirshokraie, "JSeft: automated javascript unit test generation", Proceedings of the ICST (2015)
- A. Guha, "Using static analysis for ajax intrusion detection", Proceedings of the WWW (2009)
- S. Hallé, "Eliminating navigation errors in web applications via model checking and runtime enforcement of navigation state machines", Proceedings of the ASE (2010)
- R. Rodriguez-Echeverria, "Generation of WebML hypertext models from legacy web applications", Proceedings of the WSE (2012)
- J. Oh, "MVC architecture driven restructuring to achieve client-side web page composition", Proceedings of the ICSESS (2016)
