Browse > Article
http://dx.doi.org/10.6109/jkiice.2018.22.3.458

An Automatic Extraction Scheme of Dependency Relations between Web Components and Web Resources in Java Web Applications  

Oh, Jaewon (School of Computer Science and Information Engineering, The Catholic University of Korea)
Lee, Seunghyun (School of Computer Science and Information Engineering, The Catholic University of Korea)
Kim, Ah Hyoung (School of Computer Science and Information Engineering, The Catholic University of Korea)
Ahn, Woo Hyun (School of Software, Kwangwoon University)
Abstract
As the requirements of web apps become complex and rapidly changing, the maintenance of web apps becomes more important. However, web apps have a problem that more often than not there is not enough documentation to understand and maintain them. Thus, their effective maintenance requires models that represent their internal behavior occurring when they dynamically generate web pages. Previous works identify web components (such as JSPs and Servlets) as participants in the behavior but not web resources (such as images, CSS files, and JavaScript files). Moreover, they do not identify dependency relations between web components and web resources. This paper dynamically analyzes Java web apps to extract such dependency relations, which are included in our graph model for page generation. Case studies using open-source web apps show the applicability of the proposed approach.
Keywords
Web Component Collaboration; Web Component; Web Resource; Dependency Relation; Web Engineering;
Citations & Related Records
Times Cited By KSCI : 2  (Citation Analysis)
연도 인용수 순위
1 H. M. Kienle and H. A. Muller, "A WSAD-based fact extractor for J2EE web projects," in Proceedings of the 9th IEEE International Workshop on Web Site Evolution, Paris, pp. 57-64, 2007.
2 I. Zahoor, O. Maqbool, and R. Naseem, "Web application fact extractor (WAFE)," in Proceedings of the 2013 8th International Conference on Digital Information Management, Islamabad, pp. 379-384, 2013.
3 H. M. Kienle and D. Distante, "Evolution of web systems," in Evolving Software Systems, 1st ed. Heidelberg: Springer-Verlag Berlin Heidelberg, ch. 7, pp. 201-228, 2014.
4 A. E. Hassan and R. C. Holt, "Architecture recovery of web applications," in Proceedings of the 24th International Conference on Software Engineering, Orlando, pp. 349-359, 2002.
5 Z. Mushtaq, G. Rasool, and B. Shehzad. (2017, June). Multilingual source code analysis: A systematic literature review. IEEE Access [Online]. Available: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7953501.
6 A. Zaidman, N. Matthijssen, M. A. Storey, and A. Van Deursen, "Understanding AJAX applications by connecting client and server-side execution traces," Empirical Software Engineering, vol. 18, no. 2, pp. 181-218, Apr. 2013.   DOI
7 J. Oh, W. H. Ahn, and T. Kim, "Automatic extraction of component collaboration in Java web applications by using servlet filters and wrappers," KIPS Transactions on Software and Data Engineering, vol. 6, no. 7, pp. 329-336, July 2017.   DOI
8 M. Han and C. Hofmeister, "Modeling request routing in web applications," in Proceedings of the 8th IEEE International Symposium on Web Site Evolution, Philadelphia, pp. 103-110, 2006.
9 J. Buckley, N. Ali, M. English, J. Rosik, and S. Herold, "Real-time reflexion modelling in architecture reconciliation: A multi case study," Information and Software Technology, vol. 61, pp. 107-123, May 2015.   DOI
10 W. G. Halfond, "Identifying inter-component control flow in web applications," in Proceedings of the 15th International Conference on Web Engineering, Rotterdam, pp. 52-70, 2015.
11 MDN Web Docs. Browser extensions [Internet], Available: https://developer.mozilla.org/en-US/Add-ons/WebExtensions.
12 T. Forster, T. Keuler, J. Knodel, and M. C. Becker, "Recovering component dependencies hidden by frameworks--experiences from analyzing OSGi and Qt," in Proceedings of the 17th European Conference on Software Maintenance and Reengineering, Genova, pp. 295-304, 2013.
13 J. Oh, W. H. Ahn, and T. Kim, "MVC architecture driven restructuring to achieve client-side web page composition," in Proceedings of the 2016 7th IEEE International Conference on Software Engineering and Service Science, Beijing, pp. 45-53, 2016.
14 Oracle. The essentials of filters [Internet], Available: http://www.oracle.com/technetwork/java/filters-137243.html.
15 J. Oh, W. H. Ahn, and T. Kim, "MVC architecture-aware restructuring of web apps," Journal of the Korea Institute of Information and Communication Engineering, vol. 21, no. 11, pp. 2153-2166, Nov. 2017.   DOI
16 J. Oh, W. H. Ahn, and T. Kim, "Web app restructuring based on shadow DOMs to improve maintainability," in Proceedings of the 2017 8th IEEE International Conference on Software Engineering and Service Science, Beijing, pp. 118-122, 2017.
17 Y. Qu, X. Guan, Q. Zheng, T. Liu, J. Zhou, and J. Li, "Calling network: A new method for modeling software runtime behaviors," ACM SIGSOFT Software Engineering Notes, vol. 40, no. 1, pp.1-8, Feb. 2015.
18 A. Mesbah and A. Van Deursen, "Migrating multi-page web applications to single-page AJAX interfaces," in Proceedings of the 11th European Conference on Software Maintenance and Reengineering, Amsterdam, pp. 181-190, 2007.
19 D. Shen, Q. Luo, D. Poshyvanyk, and M. Grechanik, "Automating performance bottleneck detection using search-based application profiling," in Proceedings of the 2015 International Symposium on Software Testing and Analysis, Maryland, pp. 270-281, 2015.