ABSTRACT
Nowadays, feature models are the de facto standard when representing commonalities and variability, with modern examples spanning up to 7000 features. Manual analysis of such models is challenging and error-prone due to sheer size. To help in this task, automated analysis of feature models (AAFM) has emerged over the past three decades. However, the diversity of these tools and their supported languages presents a significant challenge that motivated the MOD-EVAR community to initiate a project for a new tool that supports the UVL language. Despite the rise of machine learning and data science, along with robust Python-based libraries, most AAFM tools have been implemented in Java, creating a collaboration gap. This paper introduces Flama, an innovative framework that automates the analysis of variability models. It focuses on UVL model analysis and aims for easy integration and extensibility to bridge this gap and foster better community and cross-community collaboration.
- Mathieu Acher, Philippe Collet, Philippe Lahire, and Robert B France. 2013. Familiar: A domain-specific language for large scale management of feature models. Science of Computer Programming 78, 6 (2013), 657--681.Google ScholarDigital Library
- Kacper Bąk, Zinovy Diskin, Michał Antkiewicz, Krzysztof Czarnecki, and Andrzej Wąsowski. 2016. Clafer: unifying class and feature modeling. Software & Systems Modeling 15 (2016), 811--845.Google ScholarDigital Library
- David Benavides, Sergio Segura, and Antonio Ruiz-Cortés. 2010. Automated analysis of feature models 20 years later: A literature review. Information systems 35, 6 (2010), 615--636.Google ScholarDigital Library
- David Benavides, Pablo Trinidad, Antonio Ruiz-Cortés, and Sergio Segura. 2013. Fama. Systems and Software Variability Management: Concepts, Tools and Experiences (2013), 163--171.Google Scholar
- Brajesh De and Brajesh De. 2017. API documentation. API Management: An Architect's Guide to Developing and Managing APIs for Your Organization (2017), 59--80.Google ScholarCross Ref
- José Angel Galindo, David Benavides, and Sergio Segura. 2010. Debian Packages Repositories as Software Product Line Models. Towards Automated Analysis. In 1st International Workshop on Automated Configuration and Tailoring of Applications (CEUR Workshop Proceedings, Vol. 688). CEUR-WS.org, 29--34.Google Scholar
- José A Galindo, David Benavides, Pablo Trinidad, Antonio-Manuel Gutiérrez-Fernández, and Antonio Ruiz-Cortés. 2019. Automated analysis of feature models: Quo vadis? Computing 101 (2019), 387--433.Google ScholarDigital Library
- Ruben Heradio, David Fernández-Amorós, José A. Galindo, David Benavides, and Don S. Batory. 2022. Uniform and scalable sampling of highly configurable systems. Empir. Softw. Eng. 27, 2 (2022), 44.Google ScholarDigital Library
- José Miguel Horcas, José A. Galindo, Mónica Pinto, Lidia Fuentes, and David Benavides. 2022. FM fact label: a configurable and interactive visualization of feature model characterizations. In 26th ACM International Systems and Software Product Line Conference (SPLC), Vol. B. ACM, 42--45.Google ScholarDigital Library
- José Miguel Horcas, Mónica Pinto, and Lidia Fuentes. 2023. Empirical analysis of the tool support for software product lines. Softw. Syst. Model. 22, 1 (2023), 377--414. https://doi.org/10.1007/s10270-022-01011-2Google ScholarDigital Library
- Christian Kastner, Thomas Thum, Gunter Saake, Janet Feigenspan, Thomas Leich, Fabian Wielgorz, and Sven Apel. 2009. FeatureIDE: A tool framework for feature-oriented software development. In IEEE 31st International Conference on Software Engineering. IEEE, 611--614.Google ScholarDigital Library
- A. Germán Márquez, José A. Galindo, Ángel Jesús Varela-Vaca, María Teresa Gómez López, and David Benavides. 2022. Advisory: vulnerability analysis in software development project dependencies. In 26th ACM International Systems and Software Product Line Conference (SPLC), Vol. B. ACM, 99--102.Google ScholarDigital Library
- Simone Nasser Matos and Clovis Torres Fernandes. 2006. Early Definition of Frozen and Hot Spots in the Development of Domain Frameworks. In 14th ACM SIGSOFT Symposium on Foundations of Software Engineering.Google Scholar
- Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, and Gunter Saake. 2014. An overview on analysis tools for software product lines. In 18th International Software Product Line Conference (SPLC): Companion Volume for Workshops, Demonstrations and Tools-Volume 2. 94--101.Google ScholarDigital Library
- Steven D Prestwich. 2009. CNF Encodings. Handbook of satisfiability 185 (2009), 75--97.Google Scholar
- Jorge Rodas-Silva, José A Galindo, Jorge García-Gutiérrez, and David Benavides. 2019. Selection of software product line implementation components using recommender systems: An application to wordpress. IEEE Access 7 (2019), 69226--69245.Google ScholarCross Ref
- Sergio Segura, José A Galindo, David Benavides, José A Parejo, and Antonio Ruiz-Cortés. 2012. BeTTy: benchmarking and testing on the automated analysis of feature models. In 6th International Workshop on Variability Modeling of Software-Intensive Systems (VaMoS). 63--71.Google ScholarDigital Library
- Steven She, Rafael Lotufo, Thorsten Berger, Andrzej Wasowski, and Krzysztof Czarnecki. 2010. The Variability Model of The Linux Kernel. VaMoS 10, 10 (2010), 45--51.Google Scholar
- Guido Van Rossum, Barry Warsaw, and Nick Coghlan. 2001. PEP 8-style guide for python code. Python. org 1565 (2001), 28.Google Scholar
Index Terms
- FLAMA: A collaborative effort to build a new framework for the automated analysis of feature models
Recommendations
Modeling Variability in Software Product Line Using First Order Logic
SERA '09: Proceedings of the 2009 Seventh ACIS International Conference on Software Engineering Research, Management and ApplicationsSoftware Product Line (SPL) is a new methodology that develops software products by configuring a software product from artifacts repository. Variability is one of the important issues in designing SPL. It reflects the diversity and commonality of the ...
Extending the Common Variability Language (CVL) Engine: A practical tool
SPLC '17: Proceedings of the 21st International Systems and Software Product Line Conference - Volume BThe Common Variability Language (CVL) has become a reference in the specification and resolution of variability in the last few years. Despite the multiple advantages of CVL (orthogonal variability, architecture variability resolution, MOF-compliant, ...
Recovering traceability links between feature models and source code of product variants
VARY '12: Proceedings of the VARiability for You Workshop: Variability Modeling Made Useful for EveryoneUsually software product variants, developed by clone-and-own approach, form often a starting point for building Software Product Line (SPL). To migrate software products that deemed similar into a product line, it is essential to trace variability ...
Comments