Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2362536.2362553acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
research-article

Efficient synthesis of feature models

Published: 02 September 2012 Publication History

Abstract

Variability modeling, and in particular feature modeling, is a central element of model-driven software product line architectures. Such architectures often emerge from legacy code, but, unfortunately creating feature models from large, legacy systems is a long and arduous task.
We address the problem of automatic synthesis of feature models from propositional constraints. We show that this problem is NP-hard. We design efficient techniques for synthesis of models from respectively CNF and DNF formulas, showing a 10- to 1000-fold performance improvement over known techniques for realistic benchmarks.
Our algorithms are the first known techniques that are efficient enough to be applied to dependencies extracted from real systems, opening new possibilities of creating reverse engineering and model management tools for variability models. We discuss several such scenarios in the paper.

References

[1]
M. Acher. Managing Multiple Feature Models: Foundations, Language, and Applications. PhD thesis, University of Nice Sophia Antipolis, France, 2011.
[2]
N. Andersen. Automatic synthesis of feature models based on satisfiability checking. Master's thesis, IT University of Copenhagen, 2009.
[3]
D. Batory. Feature models, grammars, and propositional formulas. In SPLC, volume 3714 of LNCS, pages 7--20. Springer, 2005.
[4]
D. Benavides, S. Segura, and A. Ruiz-Cortés. Automated analysis of feature models 20 years later: a literature review. Information Systems, 2010.
[5]
T. Berger, S. She, R. Lotufo, K. Czarnecki, and A. Wąsowski. Feature-to-code mapping in two large product lines. In SPLC, 2010.
[6]
T. Berger, S. She, R. Lotufo, A. Wąsowski, and K. Czarnecki. Variability modeling in the real: a perspective from the operating systems domain. In ASE, 2010.
[7]
R. K. Brayton, G. D. Hachtel, C. T. McMullen, and A. L. Sangiovanni-Vincentelli. Logic Minimization Algorithms for VLSI Synthesis. Kluwer, 1984.
[8]
C. Bron and J. Kerbosch. Algorithm 457: finding all cliques of an undirected graph. Commun. ACM, 1973.
[9]
H. K. Büning and T. Lettman. Propositional Logic: Deduction and Algorithms. Cambridge University Press, 1999.
[10]
V. Chandru and J. Hooker. Optimization Methods For Logical Inference. Wiley, 1999.
[11]
A. Classen, P. Heymans, P. Y. Schobbens, A. Legay, and J. F. Raskin. Model checking lots of systems: efficient verification of temporal properties in software product lines. In ICSE, 2010.
[12]
O. Coudert and J. C. Madre. Implicit and incremental computation of primes and essential primes of boolean functions. In 29th ACM/IEEE Conference on Design Automation. IEEE Computer, 1992.
[13]
K. Czarnecki, M. Antkiewicz, C. H. P. Kim, S. Lau, and K. Pietroszek. fmp and fmp2rsm: Eclipse plug-ins for modeling features using model templates. In OOPSLA Companion, pages 200--201. ACM, 2005.
[14]
K. Czarnecki and U. W. Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Boston, MA, 2000.
[15]
K. Czarnecki, S. She, and A. Wąsowski. Sample spaces and feature models: There and back again. In SPLC '08. IEEE, 2008.
[16]
K. Czarnecki and A. Wąsowski. Feature models and logics: There and back again. In SPLC '07. IEEE, 2007.
[17]
B. Dit, M. Revelle, M. Gethers, and D. Poshyvanyk. Feature location in source code: a taxonomy and survey. Journal of Software Maintenance and Evolution: Research and Practice, 2011.
[18]
N. Eén and N. Sörensson. An extensible SAT-solver. In SAT, LNCS. Springer, 2003.
[19]
B. Errico, F. Pirri, and C. Pizzuti. Finding prime implicants by minimizing integer programming problems. In Australian Joint Conference on AI, 1995.
[20]
M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman & Co., 1979.
[21]
M. L. Griss, J. Favaro, and M. d. Alessandro. Integrating feature modeling with the RSEB. In Proceedings of the 5th International Conference on Software Reuse, ICSR '98. IEEE Computer, 1998.
[22]
Ø. Haugen, B. Møller-Pedersen, J. Oldevik, G. K. Olsen, and A. Svendsen. Adding standardized variability to domain specific languages. In SPLC, pages 139--148. IEEE Computer, 2008.
[23]
F. Heidenreich, J. Kopcsek, and C. Wende. FeatureMapper: Mapping Features to Models. In ICSE'08, 2008.
[24]
P. Jackson. Computing prime implicates incrementally. In CADE, 1992.
[25]
P. Jackson and J. Pais. Computing prime implicants. In CADE. Springer, 1990.
[26]
M. Janota, V. Kuzina, and A. Wąsowski. Model construction with external constraints: An interactive journey from semantics to syntax. In MoDELS, 2008.
[27]
K. Kang, S. Cohen, J. Hess, W. Nowak, and S. Peterson. Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, CMU, 1990.
[28]
A. Kean and G. Tsiknis. An incremental method for generating prime implicants/implicates. Journal of Symbolic Computation, 9(2), 1990.
[29]
T. Kishi and N. Noda. Formal verification and software product lines. Commun. ACM, 49(12), 2006.
[30]
F. Loesch and E. Ploedereder. Optimization of variability in software product lines. In SPLC '07. IEEE Computer, 2007.
[31]
V. M. Manquinho, P. F. Flores, J. P. M. Silva, and A. L. Oliveira. Prime implicant computation using satisfiability algorithms. In ICTAI. IEEE Computer, 1997.
[32]
M. Mendonca, A. Wąsowski, and K. Czarnecki. SAT-based analysis of feature models is easy. In SPLC '09. IEEE, 2009.
[33]
M. Mendonca, A. Wąsowski, K. Czarnecki, and D. Cowan. Efficient compilation techniques for large scale feature models. In GPCE '08, 2008.
[34]
OMG. ad/09-12-03. Common Variability Language RFP with ab changes, 2009.
[35]
U. Ryssel, J. Ploennigs, and K. Kabitzsch. Extraction of feature models from formal contexts. In FOSD, 2011.
[36]
K. Schmid, R. Rabiser, and P. Gruenbacher. A comparison of decision modeling approaches in product lines. In VAMOS, 2011.
[37]
P. Y. Schobbens, P. H., J.-C. Trigaux, and Y. Bontemps. Generic semantics of feature diagrams. Computer Networks, 51(2), 2007.
[38]
S. She, R. Lotufo, T. Berger, A. Wasowski, and K. Czarnecki. The variability model of the linux kernel. In VaMoS, 2010.
[39]
S. She, R. Lotufo, T. Berger, A. Wąsowski, and K. Czarnecki. Reverse engineering feature models. In ICSE, 2011.
[40]
J. P. M. Silva. On computing minimum size prime implicants. In International Workshop in Logic Synthesis, 1997.
[41]
S. Subbarayan and D. Pradhan. Niver: Non-increasing variable elimination resolution for preprocessing sat instances. In SAT. Springer, 2004.
[42]
L. Zhang. On subsumption removal and on-the-fly CNF simplification. In SAT, 2005.

Cited By

View all
  • (2022)It's your lossProceedings of the 26th ACM International Systems and Software Product Line Conference - Volume A10.1145/3546932.3546990(67-78)Online publication date: 12-Sep-2022
  • (2022)Bridging the gap between academia and industryProceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B10.1145/3503229.3547056(123-131)Online publication date: 12-Sep-2022
  • (2021)TRAVART: An Approach for Transforming Variability ModelsProceedings of the 15th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3442391.3442400(1-10)Online publication date: 9-Feb-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
SPLC '12: Proceedings of the 16th International Software Product Line Conference - Volume 1
September 2012
310 pages
ISBN:9781450310949
DOI:10.1145/2362536
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

  • Pure-Systems: Pure-Systems GmbH
  • Petrobras: Petróleo Brasileiro S/A
  • SEBRAE: Serviço Brasileiro de Apoio às Micro E Pequenas Empresas
  • FAPESB: Fundação de Amparo à Pesquisa do Estado da Bahia
  • Hitachi
  • INES: National Institute of Science and Technology for Software Engineering
  • IEEE: Institute of Electrical and Electronics Engineers
  • Software Eng Inst: Software Engineering Institute
  • Biglever: BigLever Software, Inc.
  • CAPES: Brazilian Higher Education Funding Council

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 September 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. feature models
  2. software product lines
  3. variability models

Qualifiers

  • Research-article

Conference

SPLC '12
Sponsor:
  • Pure-Systems
  • Petrobras
  • SEBRAE
  • FAPESB
  • INES
  • IEEE
  • Software Eng Inst
  • Biglever
  • CAPES

Acceptance Rates

SPLC '12 Paper Acceptance Rate 22 of 66 submissions, 33%;
Overall Acceptance Rate 167 of 463 submissions, 36%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)23
  • Downloads (Last 6 weeks)3
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2022)It's your lossProceedings of the 26th ACM International Systems and Software Product Line Conference - Volume A10.1145/3546932.3546990(67-78)Online publication date: 12-Sep-2022
  • (2022)Bridging the gap between academia and industryProceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B10.1145/3503229.3547056(123-131)Online publication date: 12-Sep-2022
  • (2021)TRAVART: An Approach for Transforming Variability ModelsProceedings of the 15th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3442391.3442400(1-10)Online publication date: 9-Feb-2021
  • (2021)An empirical investigation of organic software product linesEmpirical Software Engineering10.1007/s10664-021-09940-026:3Online publication date: 25-Mar-2021
  • (2020)Towards Transforming Variability ModelsProceedings of the 24th ACM International Systems and Software Product Line Conference - Volume B10.1145/3382026.3425768(44-51)Online publication date: 19-Oct-2020
  • (2019)Principles of feature modelingProceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3338906.3338974(62-73)Online publication date: 12-Aug-2019
  • (2019)Covert and Phantom Features in AnnotationsProceedings of the 23rd International Systems and Software Product Line Conference - Volume A10.1145/3336294.3336296(218-230)Online publication date: 9-Sep-2019
  • (2019)Answering the Call of the Wild?Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B10.1145/3307630.3342400(143-150)Online publication date: 9-Sep-2019
  • (2019)FM-CFJournal of Systems and Software10.1016/j.jss.2019.04.026154:C(1-21)Online publication date: 1-Aug-2019
  • (2019)Extracting core requirements for software product linesRequirements Engineering10.1007/s00766-018-0307-0Online publication date: 1-Jan-2019
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media