Codifying Hidden Dependencies in Legacy J2EE Applications. Hecht, G., Mili, H., El Boussaidi, G., Boubaker, A., Abdellatif, M., Gu�h�neuc, Y., Shatnawi, A., Privat, J., & Moha, N. In Washizaki, H. & Zhang, H., editors, Proceedings of the 25<sup>th</sup> Asia-Pacific Software Engineering Conference (APSEC), pages 305–314, December, 2018. IEEE CS Press. 10 pages.
Codifying Hidden Dependencies in Legacy J2EE Applications [pdf]Paper  abstract   bibtex   
J2EE applications tend to be multi-tier and multilanguage applications. They rely on the J2EE platform and containers that offer infrastructure and architectural services to ensure distributed, secure, safe, and scalable executions. These mechanisms hide many program dependencies, which helps development but hinders maintenance, evolution, and reengineering of J2EE applications. In this paper, we study (i) the J2EE specifications to extract a declarative specification of the dependencies that are inherent in the services offered and that are not visible in the user code that uses them. Then, we introduce (ii) a codification of the dependencies into rules, and (iii) a tool that supports the specification of those dependencies and their detection in a J2EE applications. We validate our approach and tool on a sample of 10 J2EE applications. We also compare our tool against JRipples, a state-of-the-art tool for change-impact analysis tasks. Results show that our tool adds, on average, 15% more call dependencies, which would have been missed otherwise. On change impact analysis tasks, our tool outperforms JRipples in all 10 applications, especially for the early iterations of change propagation exploration

Downloads: 0