WebSPL: A Software Product Line for Web Applications (2404.03061v1)
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.
- Apache. 2021. Welcome to Apache Maven. https://maven.apache.org/
- A Web-based Software Product Line Engineering Framework. In 2019 International Conference on Advanced Computer Science and information Systems (ICACSIS). 21–26. https://doi.org/10.1109/ICACSIS47736.2019.8979729
- A product line architecture for web applications. In Proceedings of the 2005 ACM symposium on Applied computing - SAC ’05. ACM Press, New York, New York, USA, 1689. https://doi.org/10.1145/1066677.1067059
- Integration of feature models: A systematic mapping study. Information and Software Technology 105 (2019), 209–225.
- R. Capilla and J.C. Duenas. 2003. Light-weight product-lines for evolution and maintenance of Web sites. In Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings. IEEE Comput. Soc, 53–62. https://doi.org/10.1109/CSMR.2003.1192410
- Software development effort estimation: a systematic mapping study. IET Software 14, 4 (2020), 328–344.
- Paul Clements and Linda Northrop. 2001. Software Product Lines: Practices and Patterns (3 ed.). Addison-Wesley Professional. 608 pages.
- Multiple View Interactive Environment to Analyze Software Product Line Tools. In Proceedings of the XII Brazilian Symposium on Information Systems on Brazilian Symposium on Information Systems: Information Systems in the Cloud Computing Era - Volume 1 (Florianopolis, Santa Catarina, Brazil) (SBSI 2016). Brazilian Computer Society, Porto Alegre, BRA, 240–247.
- Krzysztof Czarnecki and Ulrich W. Eisenecker. 2000. Generative programming: methods, tools, and applications (1 ed.). Addison-Wesley Professional. 864 pages.
- Measuring Product Line Architectures. In Software Product-Family Engineering, Frank Linden (Ed.). Lecture Notes in Computer Science, Vol. 2290. Springer Berlin Heidelberg, Berlin, Heidelberg. https://doi.org/10.1007/3-540-47833-7_31
- Kleinner Farias. 2010. Empirical evaluation of effort on composing design models. In 2010 ACM/IEEE 32nd International Conference on Software Engineering, Vol. 2. IEEE, 405–408.
- Evaluating the effects of stability on model composition effort: an exploratory study. In VIII Experimental Software Engineering Latin American Workshop collocated at XIV Iberoamerican Conference on Software Engineering, Rio de Janeiro. Citeseer.
- Effects of stability on model composition effort: an exploratory study. Software & Systems Modeling 13, 4 (2014), 1473–1494.
- Assessing the impact of aspects on model composition effort. In Proceedings of the 9th International Conference on Aspect-Oriented Software Development. 73–84.
- Analyzing the effort of composing design models of large-scale software in industrial case studies. In International Conference on Model Driven Engineering Languages and Systems. Springer, 639–655.
- Martin Fowler. 2004. Inversion of Control Containers and the Dependency Injection pattern. http://martinfowler.com/articles/injection.html
- Software Product Line Engineering: A Practical Experience. In Proceedings of the 23rd International Systems and Software Product Line Conference - Volume A (Paris, France) (SPLC ’19). Association for Computing Machinery, New York, NY, USA, 164–176. https://doi.org/10.1145/3336294.3336304
- Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report. Software Engineering Institute. 161 pages. http://www.sei.cmu.edu/library/abstracts/reports/90tr021.cfm
- Applied software product line engineering. Taylor and Francis Group, LLC.
- Technical Debt: From Metaphor to Theory and Practice. IEEE Software 29, 6 (nov 2012), 18–21. https://doi.org/10.1109/MS.2012.167
- W. Li. 2000. Software product metrics. IEEE Potentials 18, 5 (2000), 24–27. https://doi.org/10.1109/45.807276
- S.P.L.O.T.: Software Product Lines Online Tools. In Proceedings of the 24th ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages and Applications (Orlando, Florida, USA) (OOPSLA ’09). Association for Computing Machinery, New York, NY, USA, 761–762. https://doi.org/10.1145/1639950.1640002
- Linda Northrop. 2008. Software product lines essentials. Software Engineering Institute, Carnegie Mel-Ion … (2008). http://www.sei.cmu.edu/library/assets/spl-essentials.pdf
- University of Magdeburg. 2014. FeatureIDE: An extensible framework for feature-oriented software development. https://featureide.github.io/
- BRCode: An interpretive model-driven engineering approach for enterprise applications. Computers in Industry 96 (2018), 86–97.
- Empirical Validation of Complexity and Extensibility Metrics for Software Product Line Architectures. In 2010 Fourth Brazilian Symposium on Software Components, Architectures and Reuse. IEEE, 31–40. https://doi.org/10.1109/SBCARS.2010.13
- Linda Northrop Paul Clements. 2002. Software Product Lines: Practices and Patterns. Addison-Wesley.
- Software product line engineering: foundations, principles, and techniques. Vol. 1. Springer.
- Software Product Line Engineering. SPLC ’11, Vol. 49. Springer. 29 – 35 pages. https://doi.org/10.1007/3-540-28901-1
- Iris Reinhartz-Berger and Mark Kemelman. 2020. Extracting core requirements for software product lines. Requirements Engineering 25, 1 (2020), 47–65.
- SEI. 2014. Architectural Technical Debt. http://www.sei.cmu.edu/architecture/research/arch{_}tech{_}debt/
- Mon4Aware: A multi-objective and context-aware approach to decompose monolithic applications. In XVII Brazilian Symposium on Information Systems. 1–9.
- Using service utilization metrics to assess the structure of product line architectures. In Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717). IEEE Comput. Soc, 298–308. https://doi.org/10.1109/METRIC.2003.1232476
- Comparing practices for reuse in integration-oriented software product lines and large open source software projects. Software—Practice & Experience 40, 4 (2010), 285–312. https://doi.org/10.1002/spe.v40:4
- M. Yoshida and N. Iwane. 2005. Knowledge-based experimental development of Web application systems. In The Fifth International Conference on Computer and Information Technology (CIT’05). 876–880. https://doi.org/10.1109/CIT.2005.136
- Makoto Yoshida and Noriyuki Iwane. 2006. An approach to the software product line system for web applications. In 2006 International Conference on Computing & Informatics. IEEE, 1–6. https://doi.org/10.1109/ICOCI.2006.5276435
- Platform Engineering in Enterprise Application Development. In International Conference on E-Business and E-Government. 112–115. https://doi.org/10.1109/ICEE.2010.36