WebSPL: A Software Product Line for Web Applications
Maicon Azevedo da Luz, Kleinner Farias
TL;DR
WebSPL addresses the challenge of building high-quality Web applications with reduced cost and time by applying software product line engineering to the Web domain. The authors implement a two-stage process—domain engineering and application engineering—using feature diagrams, Maven for dependency management, and CDI for loose coupling, and they validate the approach with a controlled case study. The evaluation contrasts an ad hoc Web app with an SPL-derived product, reporting metrics such as complexity, lines of code, duplication, and technical debt, which reveal trade-offs: increased SPL overhead but potential gains in reuse, modularity, and maintainability. The work demonstrates the viability of WebSPL as a practical framework for Web app families and offers a baseline for future empirical Web-SPL studies.
Abstract
Companies developing Web applications have faced an increasing demand for high-quality products with low cost and production time ever smaller. However, developing such applications is still considered a time-consuming and error-prone task, mainly due to the difficulty of promoting the reuse of features (or functionalities) and modules, and the heterogeneity of Web frameworks. Nowadays, companies must face ever-changing requirements. Software product lines emerged as an alternative to face this challenge by creating a collection of applications from a core of software assets. Despite the potential, the current literature lacks works that propose a product line for Web applications. This paper, therefore, presents WebSPL, a product line for Web applications that supports the main features found in Wed applications in real-world settings. The proposed WebSPL was evaluated by comparing it with a Web application developed based on a traditional approach. A case study that involves the development of two Web applications enabled data collection. Two Web applications were developed -- one with and another without the support of the proposed WebSPL. We compared these two applications using software design metrics, including complexity, size, duplicate lines, and technical debt. The initial results were encouraging and showed the potential for using WebSPL to support the development of Web applications.
