skip to main content
10.1145/3382026.3425773acmconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
research-article

A Python framework for the automated analysis of feature models: A first step to integrate community efforts

Published: 27 October 2020 Publication History

Abstract

Feature modeling is the "de facto" standard to describe the common and variant parts of software product lines. Different tools, approaches, and operations for the automated analysis of feature models (AAFM) have been proposed in the last 20 years. The increasing popularity of languages such as Python made the usage of AAFM techniques require lots of integration efforts with exiting Java-based tools. In this paper, we present a design for a Python-based framework to analyze feature models. This framework implements the most common operations while enabling support for multiple solvers and backends.

References

[1]
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.
[2]
Don Batory, David Benavides, and Antonio Ruiz-Cortes. 2006. Automated Analysis of Feature Models: Challenges Ahead. Commun. ACM 49, 12 (Dec. 2006), 45--47. https://doi.org/10.1145/1183236.1183264
[3]
D. Benavides, S. Segura, and A. Ruiz-Cortés. 2010. Automated analysis of feature models 20 years later. Information Systems 35, 6 (2010), 615--636.
[4]
Thorsten Berger and Philippe Collet. 2019. Usage scenarios for a common feature modeling language. In Proceedings of the 23rd International Systems and Software Product Line Conference, SPLC 2019, Volume B, Paris, France, September 9-13, 2019. ACM, 86:1--86:8. https://doi.org/10.1145/3307630.3342403
[5]
Danilo Beuche. 2012. Modeling and building software product lines with pure:: variants. In Proceedings of the 16th International Software Product Line Conference-Volume 2. 255--255.
[6]
Megha Bhushan, Arun Negi, Piyush Samant, Shivani Goel, and Ajay Kumar. 2020. A classification and systematic review of product line feature model defects. Software Quality Journal (2020), 1--44.
[7]
Paul Clements and Linda Northrop. 2002. Software product lines. Addison-Wesley Boston.
[8]
Philippe Collet, Philippe Lahire, Mathieu Acher, and Robert France. 2013. Feature Model Management: Smart Operations and Language Support (tutorial). In ACM/IEEE 16th International Conference on Model Driven Engineering Languages and Systems (MODELS'13). Miami, États-Unis. http://hal.inria.fr/hal-00913157
[9]
Holger Eichelberger and Klaus Schmid. 2015. Mapping the design-space of textual variability modeling languages: a refined analysis. International Journal on Software Tools for Technology Transfer 17, 5 (2015), 559--584.
[10]
José Angel Galindo, David Benavides, and Sergio Segura. 2010. Debian Packages Repositories as Software Product Line Models. Towards Automated Analysis. In Proceedings of the 1st International Workshop on Automated Configuration and Tailoring of Applications, Antwerp, Belgium, September 20, 2010 (CEUR Workshop Proceedings), Vol. 688. CEUR-WS.org, 29--34. http://ceur-ws.org/Vol-688/acota2010_paper5_galindo.pdf
[11]
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, 5 (2019), 387--433.
[12]
Jesús García-Galán, Pablo Trinidad, Omer F. Rana, and Antonio Ruiz Cortés. 2016. Automated configuration support for infrastructure migration to the cloud. Future Generation Comp. Syst. 55 (2016), 200--212. https://doi.org/10.1016/j.future.2015.03.006
[13]
Ruben Heradio, Hector Perez-Morago, David Fernandez-Amoros, Francisco Javier Cabrerizo, and Enrique Herrera-Viedma. 2015. A Science Mapping Analysis of the Literature on Software Product Lines. In Intelligent Software Methodologies, Tools and Techniques, Hamido Fujita and Guido Guizzi (Eds.). Communications in Computer and Information Science, Vol. 532. Springer International Publishing, 242--251. https://doi.org/10.1007/978-3-319-22689-718
[14]
Kyo C Kang, Sholom G Cohen, James A Hess, William E Novak, and A Spencer Peterson. 1990. Feature-oriented domain analysis (FODA) feasibility study. Technical Report. DTIC Document. http://www.sei.cmu.edu/reports/90tr021.pdf
[15]
Niklas Landin, Axel Niklasson, Grace Bosson, and Björn Regnell. 1995. Development of object-oriented frameworks. Department of Communication System. Lund Institute of Technology, Lund University. Lund, Sweden (1995), 79.
[16]
J. A. Pereira, C. Souza, E. Figueiredo, R. Abilio, G. Vale, and H. A. X. Costa. 2013. Software Variability Management: An Exploratory Study with Two Feature Modeling Tools. In 2013 VII Brazilian Symposium on Software Components, Architectures and Reuse. 20--29.
[17]
Clément Quinton, Daniel Romero, and Laurence Duchien. 2013. Cardinality-based feature models with constraints: a pragmatic approach. In Proceedings of the 17th International Software Product Line Conference. 162--166.
[18]
Jorge Rodas-Silva, José Angel 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. https://doi.org/10.1109/ACCESS.2019.2918469
[19]
Fabricia Roos-Frantz, José A Galindo, David Benavides, and Antonio Ruiz-Cortés. 2012. FaMa-OVM: a tool for the automated analysis of OVMs. In Proceedings of the 16th International Software Product Line Conference-Volume 2. 250--254.
[20]
Steven She, Rafael Lotufo, Thorsten Berger, Andrzej Wasowski, and Krzysztof Czarnecki. 2010. The Variability Model of The Linux Kernel. In Fourth International Workshop on Variability Modelling of Software-Intensive Systems, Linz, Austria, January 27-29, 2010. Proceedings. 45--51. http://www.vamos-workshop.net/proceedings/VaMoS_2010_Proceedings.pdf
[21]
IEEE Spectrum. [n.d.]. https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2020 note = Online; accessed 15 Agoust 2020, year=2020.
[22]
Maurice H. ter Beek, Klaus Schmid, and Holger Eichelberger. 2019. Textual variability modeling languages: an overview and considerations. In Proceedings of the 23rd International Systems and Software Product Line Conference, SPLC 2019, Volume B, Paris, France, September 9-13, 2019. ACM, 82:1--82:7. https://doi.org/10.1145/3307630.3342398
[23]
Thomas Thüm, Christian Kästner, Fabian Benduhn, Jens Meinicke, Gunter Saake, and Thomas Leich. 2014. FeatureIDE: An extensible framework for feature-oriented software development. Science of Computer Programming 79 (2014), 70--85.

Cited By

View all
  • (2025)UVL: Feature modelling with the Universal Variability LanguageJournal of Systems and Software10.1016/j.jss.2024.112326225(112326)Online publication date: Jul-2025
  • (2024)Extensions and Scalability Experiments of a Generic Model-Driven Architecture for Variability Model ReasoningProceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems10.1145/3640310.3674090(126-137)Online publication date: 22-Sep-2024
  • (2024)Variability in data transformation: towards data migration product linesProceedings of the 18th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3634713.3634724(83-92)Online publication date: 7-Feb-2024
  • Show More Cited By

Index Terms

  1. A Python framework for the automated analysis of feature models: A first step to integrate community efforts

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SPLC '20: Proceedings of the 24th ACM International Systems and Software Product Line Conference - Volume B
    October 2020
    139 pages
    Publication rights licensed to ACM. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 27 October 2020

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Automated Analysis
    2. Feature Models
    3. Python
    4. Variability Models

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Funding Sources

    • Consejería de Economía, Innovación, Ciencia y Empleo, Junta de Andalucía
    • Ministerio de Economía y Competitividad
    • MINECO

    Conference

    SPLC '20
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 167 of 463 submissions, 36%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)25
    • Downloads (Last 6 weeks)2
    Reflects downloads up to 05 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2025)UVL: Feature modelling with the Universal Variability LanguageJournal of Systems and Software10.1016/j.jss.2024.112326225(112326)Online publication date: Jul-2025
    • (2024)Extensions and Scalability Experiments of a Generic Model-Driven Architecture for Variability Model ReasoningProceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems10.1145/3640310.3674090(126-137)Online publication date: 22-Sep-2024
    • (2024)Variability in data transformation: towards data migration product linesProceedings of the 18th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3634713.3634724(83-92)Online publication date: 7-Feb-2024
    • (2024)UVLHubJournal of Systems and Software10.1016/j.jss.2024.112150216:COnline publication date: 1-Oct-2024
    • (2024)Local featuresJournal of Systems and Software10.1016/j.jss.2024.112035213:COnline publication date: 1-Jul-2024
    • (2024)Data visualization guidance using a software product line approachJournal of Systems and Software10.1016/j.jss.2024.112029213:COnline publication date: 1-Jul-2024
    • (2024)Operationalizing Decision Tables: A Step-by-Step Framework for Efficient Software Product Line CustomizationEvaluation of Novel Approaches to Software Engineering10.1007/978-3-031-64182-4_8(165-188)Online publication date: 10-Jul-2024
    • (2023)Generating Constraint Programs for Variability Model Reasoning: A DSL and Solver-Agnostic ApproachProceedings of the 22nd ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3624007.3624060(138-152)Online publication date: 22-Oct-2023
    • (2023)Elimination of constraints for parallel analysis of feature modelsProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A10.1145/3579027.3608981(99-110)Online publication date: 28-Aug-2023
    • (2023)Large Language Models to generate meaningful feature model instancesProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A10.1145/3579027.3608973(15-26)Online publication date: 28-Aug-2023
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media