Enabling the evolution of J2EE applications through reverse engineering and quality assurance

Enabling the evolution of J2EE applications through reverse engineering and quality assurance is a project funded by the Hasler Foundation (project no. 2234).

!Funding: 352'820.— SFr.
!Period: Oct 1, 2007 - Sept. 30, 2010

Keywords

Software evolution; reverse-engineering; quality assurance.

Summary

Java 2 Platform, Enterprise Edition (J2EE) was first introduced in 1999, and since then it has become one of the standard technologies in enterprise application development. An enterprise application is a complex software product that manipulates much persistent data and interacts with the user through a vast and complex user interface. Like any complex software systems, enterprise applications need to continuously change to adapt to new requirements. However, successive changes lead to a decay in the internal quality unless effort is invested to control it.

To address the complexity of enterprise applications, J2EE offers a conglomerate of several technologies, (e.g. Enterprise Java Beans - EJB or Java Server Pages - JSP) using several languages, (e.g. Java, XML or SQL). In this context, simply applying existing reverse engineering and quality assurance techniques developed for object-oriented systems fails due to two major reasons:

This project aims to conduct a systematic study in reverse engineering and quality assurance of J2EE applications. In particular, we target the following questions each of them being addressed in a separate track:

For more information, please consult the Research Plan of the project [pdf].

Intermediate Report

The intermediate report covers the period from Oct. 1, 2007 through Sept. 30, 2008.

This project focuses on reverse engineering enterprise applications that are implemented in various languages. Some of the most significant results in the first year include:

For further details, please consult the full intermediate report and the associated publications:

2nd Intermediate Report

The 2nd intermediate report covers the period from Oct. 1, 2008 through Sept. 30, 2009. The key results in the second year include:

Final Report

The final report covers the period from Oct. 1, 2009 through Sept. 30, 2010. The most important results results in the third year include: