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
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
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)