Codifying Hidden Dependencies in Legacy J2EE Applications

Research output: Contribution to Book/Report typesContribution to conference proceedingspeer-review

4 Citations (Scopus)

Abstract

J2EE applications tend to be multi-tier and multi-language 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 re-engineering 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 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.

Original languageEnglish
Title of host publicationProceedings - 25th Asia-Pacific Software Engineering Conference, APSEC 2018
PublisherIEEE Computer Society
Pages305-314
Number of pages10
ISBN (Electronic)9781728119700
DOIs
Publication statusPublished - 2 Jul 2018
Event25th Asia-Pacific Software Engineering Conference, APSEC 2018 - Nara, Japan
Duration: 4 Dec 20187 Dec 2018

Publication series

NameProceedings - Asia-Pacific Software Engineering Conference, APSEC
Volume2018-December
ISSN (Print)1530-1362

Conference

Conference25th Asia-Pacific Software Engineering Conference, APSEC 2018
Country/TerritoryJapan
CityNara
Period4/12/187/12/18

!!!Keywords

  • Change Impact Analysis
  • Dependencies
  • J2EE
  • Java
  • Legacy

Fingerprint

Dive into the research topics of 'Codifying Hidden Dependencies in Legacy J2EE Applications'. These topics are generated from the title and abstract of the publication. Together, they form a unique fingerprint.

Cite this