The rapid diffusion of the Internet has triggered a growing request for new Web sites and Web applications (WA). Due to the pressing market demand, new WAs are usually developed in a very short time, while existing WAs are modified frequently and quickly. In these conditions, well-known software engineering principles are not usually applied, and well-defined software processes and methodologies are rarely adopted. As a consequence, WAs usually present disordered architectures, poor or non-existing documentation, and can be analyzed, comprehended and modified only with considerable effort. Reverse engineering methods and tools are being proposed to reduce the effort required to comprehend existing WAs and to support their maintenance and evolution. In this paper, the experimentation of a reverse engineering approach is described Experimentation was carried out with the aim of assessing which characteristics of a WA mostly affect comprehensibility. The results of the experiments highlighted a set of techniques and best practices that should be applied for producing the best analyzable and maintainable WAs. These best practices are illustrated in the paper.
['G.A. Di Lucca', 'Anna Rita Fasolino', 'Porfirio Tramontana']
Towards a better comprehensibility of web applications: lessons learned from reverse engineering experiments