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.
웹 앱은 빠르게 진화하며 나날이 복잡해지고 있다. 이에 따라 웹 앱의 검증(validation & verification)이 웹 앱의 개발 및 유지보수를 위해 더욱 중요해 지고 있다. 효율적인 검증을 위해서는 웹 앱 실행 시 일어나는 웹 컴포넌트 사이의 협력 과정(collaboration)에 대한 이해가 선행되어야 한다. 이를 위해 본 논문에서는 웹 페이지 요청 시 페이지 생성을 위해 실행되는 웹 컴포넌트와 이들의 협력 과정을 자동적으로 추출하는 기법을 제안한다. 제안하는 기법은 복잡한 웹 개발 언어 및 기술에 덜 의존하는 동적 기법이며 웹 앱 소스를 블랙박스로 보고 웹 앱의 기능 변화 없이 협력 과정을 추출한다. 오픈 소스 웹 앱에 적용하는 실험을 통해 제안하는 기법의 유효성을 확인할 수 있다.