Published June 16, 2022 | Version v1
Preprint Open

Nemo: A Tool to Transform Feature Models with Numerical Features and Arithmetic Constraints

  • 1. ITIS Software, CAOSD, Universidad de Málaga
  • 2. Department of Computer Science, University of Texas at Austin, Texas, USA

Description

This is a pre-print, please access and cite the published version:

https://doi.org/10.1007/978-3-031-08129-3_4

Real-world Software Product Lines (SPLs) need Numerical Feature Models (NFMs) whose features not only have boolean values satisfying boolean constraints, but also have numeric attributes satisfying arithmetic constraints. A key operation on NFMs finds near-optimal performing products, which requires counting the number of SPL products. Typical constraint satisfaction solvers perform poorly on counting.

Nemo (Numbers, features, models) supports NFMs by bit-blasting, the technique that encodes arithmetic as boolean clauses. Nemo translates NFMs to propositional formulas whose products can be counted efficiently by #SAT solvers, enabling near-optimal products to be found. We evaluate Nemo with a diverse set of real-world NFMs, complex arithmetic constraints, and counting experiments in this paper.

Notes

Munoz, Pinto and Fuentes work is supported by the European Union's H2020 research and innovation programme under grant agreement DAEMON 101017109, by the projects co-financed by FEDER funds LEIA UMA18-FEDERJA-15, MEDEA RTI2018-099213-B-I00 and Rhea P18-FR-1081 and the PRE2019-087496 grant from the Ministerio de Ciencia e Innovación. Batory is retired, writing free textbooks [5], and is walking dogs for wages.

Files

ICSR_22_Paper_35.pdf

Files (913.6 kB)

Name Size Download all
md5:0d68f467fb7c069dd9b36e7ef19b9f7d
913.6 kB Preview Download

Additional details

Related works

Is previous version of
Conference paper: 10.1007/978-3-031-08129-3_4 (DOI)
Is supplemented by
Presentation: 10.5281/zenodo.6672326 (DOI)
Video/Audio: 10.5281/zenodo.6672342 (DOI)

Funding

European Commission
DAEMON – Network intelligence for aDAptive and sElf-Learning MObile Networks 101017109

References

  • Agh, H., García, F., Piattini, M.: A checklist for the evaluation of software process line approaches. Information and Software Technology 146(1) (sep 2022)
  • Apel, S., Batory, D., Kästner, C., Saake, G.: Feature-oriented Software Product Lines. Springer, NY, USA (2016)
  • Barrett, C.: Decision Procedures: An Algorithmic Point of View, Springer-Verlag, 2008. Journal of Automated Reasoning 51(4) (2013)
  • Barrett, C., Tinelli, C.: Satisfiability Modulo Theories. In: Handbook of Model Checking. Springer, NY, USA (2018)
  • Batory, D.: Automated Software Design, Vol. 1. Lulu.com (2021)
  • B¸ak, K., Czarnecki, K., W¸asowski, A.: Feature and Meta-models in Clafer: Mixed, Specialized, and Coupled. In: SLE (2010)
  • Benavides, D., Segura, S., Ruiz-Cortés, A.: Automated Analysis of Feature Models 20 Years Later: A Literature Review. Information Systems 35(6) (2010)
  • Berger, T., She, S., Lotufo, R., W¸asowski, A., Czarnecki, K.: A Study of Variability Models and Languages in the Systems Software Domain. IEEE TSE 39(12) (2013)
  • Biere, A., Heule, M., van Maaren, H.: Handbook of Satisfiability. IOS press, IEEE (2009)
  • Brummayer, R., Biere, A.: Boolector: An Efficient SMT Solver for Bit-vectors and Arrays. In: TACAS. Springer, NY, USA (2009)
  • Bryant, R., et al.: Deciding Bit-vector Arithmetic with Abstraction. In: TACAS. Springer, NY, USA (2007)
  • Bryant, R.: Binary Decision Diagrams. In: Clarke, E., Henzinger, T., Veith, H., Bloem, R. (eds.) Handbook of Model Checking. Springer (2018)
  • Chakraborty, S., et al.: Approximate model counting. FRONTIERS (2021)
  • Chistikov, D., Dimitrova, R., Majumdar, R.: Approximate Counting in SMT and Value Estimation for Probabilistic Programs. Acta Informatica 54(8) (2017)
  • Döller, V., Karagiannis, D.: Formalizing Conceptual Modeling Methods with MetaMorph. In: Enterprise, Business-Process and Information Systems Modeling. Springer, Springer (2021)
  • Ganesh, V., Dill, D.: The Simple Theorem Prover (STP) solver. https://stp.github.io/ (2006)
  • Henard, C., Papadakis, M., Harman, M., Traon, Y.L.: Combining Multi-objective Search and Constraint Solving for Configuring Large Software Product Lines. In: SPLC. IEEE Press, NJ, USA (2015)
  • Horcas, J., Pinto, M., Fuentes, L.: Variability Models for Generating Efficient Configurations of Functional Quality Attributes. IST Journal 95 (2018)
  • Horcas, J., Pinto, M., Fuentes, L.: Extensible and modular abstract syntax for feature modeling based on language constructs. In: SPLC. ACM (2020)
  • Kästner, C., et al.: Variability-aware Parsing in the Presence of Lexical Macros and Conditional Compilation. In: OOPSLA. vol. 46. IEEE/ACM, NJ, USA (2011)
  • Liang, J., Ganesh, V., Czarnecki, K., Raman, V.: SAT-based Analysis of Large Real-world Feature Models Is Easy. In: SPLC. IEEE/ACM, NJ, USA (2015)
  • Marchezan, L., Rodrigues, E., Assunção, W.K.G., Bernardino, M., Basso, F.P., Carbonell, J.: Software product line scoping: A systematic literature review. Journal of Systems and Software 186 (2022)
  • Moura, L.D., Bjørner, N.: Z3: An Efficient SMT Solver. In: TACAS. Springer, NY, USA (2008)
  • Munoz, D., et al.: Category Theory Framework for Variability Models with Nonfunctional Requirements. In: CAiSE. Springer International Publishing (2021)
  • Munoz, D.J., Pinto, M., Fuentes, L.: Finding correlations of features affecting energy consumption and performance of web servers using the hadas eco-assistant. Computing 100(11), 1155–1173 (2018)
  • Munoz, D., Oh, J., Pinto, M., Fuentes, L., Batory, D.: Uniform Random Sampling Product Configurations of Feature Models That Have Numerical Features. In: SPLC (2019)
  • Munoz, D., Pinto, M., Fuentes, L.: HADAS: Analysing Quality Attributes of Software Configurations. In: SPLC. SPLC '19, ACM (2019)
  • Oh, J., Batory, D., Myers, M., Siegmund, N.: Finding Near-optimal Configurations in Product Lines by Random Sampling. In: ESEC/FSE (2017)
  • Oh, J., Gazillo, P., Batory, D., Heule, M., Myers, M.: Uniform Sampling from Kconfig Feature Models. Tech. Rep. TR-19-02, University of Texas at Austin, Department of Computer Science (2019)
  • Pett, T., Thüm, T., Runge, T., Krieter, S., Lochau, M., Schaefer, I.: Product Sampling for Product Lines: The Scalability Challenge. In: SPLC. SPLC '19, Association for Computing Machinery (2019)
  • Phan, Q.: Model Counting Modulo Theories. Ph.D. thesis, Queen Mary University of London (apr 2015)
  • R. Heradio, D. Fernandez-Amoros, J. Galindo, D. Benavides, D. Batory: Uniform and Scalable Sampling of Highly Configurable Systems. Empirical Software Engineering (Jan 2022)
  • Raatikainen, M., Tiihonen, J., Mannisto, T.: Software Product Lines and Variability Modeling: A Tertiary Study. Journal of Systems and Software 149 (2019)
  • Rossi, F., Beek, P.V., Walsh, T.: Handbook of Constraint Programming. Elsevier (2006)
  • Schmitt, A., Wiersch, S., Weis, S.: Glencoe-a Visualization Prototyping Framework. In: ICCE (2015)
  • Shi, K.: Combining Evolutionary Algorithms with Constraint Solving for Configuration Optimization. In: ICSME. IEEE/ACM (sep 2017)
  • Siegmund, N., Grebhahn, A., Apel, S., Kästner, C.: Performance-influence Models for Highly Configurable Systems. In: FSE. ACM, New York, NY, USA (2015)
  • Sorensson, N., Een, N.: Minisat V1. 13-a Sat Solver with Conflict-clause Minimization. SAT 2005(53) (2005)
  • Sundermann, C., Nieke, M., Bittner, P.M., Heß, T., Thüm, T., Schaefer, I.: Applications of #SAT Solvers on Feature Models. In: VaMoS. ACM, NY, USA (2021)
  • Systems, C.: Sample Size Calc. https://www.surveysystem.com/sscalc.htm
  • Thüm, T., et al.: FeatureIDE: An Extensible Framework for Feature-oriented Software Development. Science of Computer Programming 79 (2014)
  • Thurley, M.: SharpSAT–counting Models with Advanced Component Caching and Implicit BCP. In: SAT. Springer Berlin Heidelberg (2006)
  • Tseitin, G.: On the Complexity of Derivation in Propositional Calculus. In: Siekmann, J., Wrightson, G. (eds.) Automation of Reasoning: 2: Classical Papers on Computational Logic 1967–1970. Springer Berlin Heidelberg (1983)