Abstract
In search-based software engineering, one actively studied problem is the optimal software product selection from a feature model using multiple (usually more than three) optimization objectives simultaneously. This can be represented as a many-objective optimization problem. The primary goal of solving this problem is to search for diverse and high-quality valid products as rapidly as possible. Previous studies have shown that combining search-based techniques with satisfiability (SAT) solvers was promising for achieving this goal, but it remained open that how different solvers affect the performance of a search algorithm, and that whether the ways to randomize solutions in the solvers make a difference. Moreover, we may need further investigation on the necessity of mixing different types of SAT solving techniques. In this paper, we address the above open research questions by performing a series of empirical studies on 21 features models, most of which are reverse-engineered from industrial software product lines. We examine four conflict-driven clause learning solvers, two stochastic local search solvers, and two different ways to randomize solutions. Experimental results suggest that the performance can be indeed affected by different SAT solvers, and by the ways to randomize solutions in the solvers. This study serves as a practical guideline for choosing and tuning SAT solvers for the many-objective optimal software product selection problem.






Similar content being viewed by others
Notes
SAT4J website: http://www.sat4j.org/
(P)lingeling website: http://fmv.jku.at/lingeling/
Glucose website: http://www.labri.fr/perso/lsimon/glucose/
Kodkod is available at http://emina.github.io/kodkod/.
The LVAT repository can be found at http://code.google.com/p/linux-variability-analysis-tools
The codes of SATVaEA can be downloaded from https://www.researchgate.net/profile/Xiang_Yi9/publications.
The G*Power is available at http://www.gpower.hhu.de/
The original SATVaEA (Xiang et al. 2018) also uses SAT4J with permutated parameters, therefore we keep the name of the algorithm unchanged.
References
Balint A, Schöning U (2012) Choosing Probability Distributions for Stochastic Local Search and the Role of Make versus Break. International Conference on Theory and Applications of Satisfiability Testing, Berlin, pp 16–29
Balint A, Schöning U (2014) ProbSAT and pprobSAT. In: Belov A., Diepold D., Heule M. J., Järvisalo M (eds) Proceedings of SAT Competition 2014: Solver and Benchmark Descriptions. Department of Computer Science Series of Publications B and Department of Computer Science, University of Helsinki, Helsinki, vol B-2014-2, p 63
Balyo T, Biere A, Isera M, Sinza C (2016) SAT Race 2015. Artif Intell 241:45–65
Batory D (2005) Feature models, grammars, and propositional formulas. In: Obbink H., Pohl K. (eds) Proceedings of the 9th International Conference Software Product Lines, SPLC 2005. Springer, Berlin, pp 7–20. https://doi.org/10.1007/11554844_3
Berger T, She S, Lotufo R, Wasowski A, Czarnecki K (2010) Variability modeling in the real: a perspective from the operating systems domain. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, ASE ’10. ACM, New York, pp 73-82. https://doi.org/10.1145/1858996.1859010
Berger T, Lettner D, Rubin J, Grünbacher P, Silva A, Becker M, Chechik M, Czarnecki K (2015) What is a feature?: a qualitative study of features in industrial software product lines. In: Proceedings of the 19th International Conference on Software Product Line (SPLC), pp 16–25
Berre DL, Parrain A (2010) The Sat4j library, release 2.2, system description. Journal on Satisfiability. Boolean Model Comput 7:59–64
Bezerra LCT, López-Ibáñez M, Stützle T (2016) Automatic component-wise design of multiobjective evolutionary algorithms. IEEE Trans Evol Comput 20(3):403–417. https://doi.org/10.1109/TEVC.2015.2474158
Biere A (2010) Lingeling, Plingeling, picoSAT and precoSAT at SAT Race 2010. Tech. rep., Institute for Formal Models and Verification, Johannes Kepler University, Altenbergerstr 69, 4040 Linz, Austria
Biere A (2018) CADICAL, LINGELING, PLINGELING, TREENGELING And YALSAT entering the SAT competition 2018. In: Heule M. JH, Järvisalo MJ, Suda M (eds) Proceedings of SAT Competition 2018: Solver and Benchmark Descriptions. Department of Computer Science Series of Publications B and Department of Computer Science, University of Helsinki, Helsinki, vol B-2018-1, pp 13–14
Cai S (2013) Faster implementation for walksat. Tech. rep., Queensland Research Lab, NICTA, Australia
Chen J (2018a) AbcdSAT and Glucose hack: Various Simplifications and Optimizations for CDCL SAT solvers. In: Heule MJH, Järvisalo MJ, Suda M (eds) Proceedings of SAT Competition 2018: Solver and Benchmark Descriptions. Department of Computer Science Series of Publications B and Department of Computer Science, University of Helsinki, Helsinki, vol B-2018-1, pp 10–12
Chen J, Nair V, Krishna R, Menzies T (2018b) ‘Sampling’ as a Baseline Optimizer for Search-based Software Engineering IEEE Transactions on Software Engineering. https://doi.org/10.1109/TSE.2018.2790925
Clements P, Northrop L (2001) Software product lines: practices and patterns. Addison-wesley Longman Publishing Co. Inc
Coello Coello CA, Lamont GB, Veldhuizen DAV (2007) Evolutionary Algorithms for Solving Multi-objective Problems, 2nd edn. Springer Science + Business Media, LLC, New York
Czarnecki K, Eisenecker U (2000) Generative programming: methods, tools, and applications. Addison-Wesley, Reading
Derrac J, Garcia S, Molina D, Herrera F (2011) A practical tutorial on the use of nonparametric statistical tests as a methodology for comparing evolutionary and swarm intelligence algorithms. Swarm Evol Comput 1(7):3–18
Durillo JJ, Nebro AJ (2011) jMetal: A java framework for multi-objective optimization. Adv Eng Softw 42:760–771
Dutra R, Laeufer K, Bachrach J, Sen K (2018) Efficient sampling of SAT solutions for testing. In: 2018 IEEE/ACM 40Th international conference on software engineering (ICSE). IEEE Computer Society, Los Alamitos, pp 549–559. https://doi.org/10.1145/3180155.3180248
Eén N, Sörensson N (2003) An Extensible SAT-solver. In: International conference on theory and applications of satisfiability testing. Springer, Berlin, pp 502–518
Faul F, Erdfelder E, Buchner A, Lang AG (2009) Statistical power analyses using G*Power 3.1: Tests for correlation and regression analyses. Behav Res Methods 41(4):1149–1160. https://doi.org/10.3758/BRM.41.4.1149
Guo J, Zulkoski E, Olaechea R, Rayside D, Czarnecki K, Apel S, Atlee JM (2014) Scaling exact multi-objective combinatorial optimization by parallelization. In: ACM/IEEE International conference on automated software engineering, ASE ’14, Vasteras, Sweden, pp 409–420. https://doi.org/10.1145/2642937.2642971
Guo J, Liang JH, Shi K, Yang D, Zhang J, Czarnecki K, Ganesh V, Yu H (2017) SMTIBEA: A hybrid multi-objective optimization algorithm for configuring large constrained software product lines Software & Systems Modeling. https://doi.org/10.1007/s10270-017-0610-0
Guo J, Shi K (2018) To preserve or not to preserve invalid solutions in search-based software engineering: a case study in software product lines. In: Proceedings of the 40th International Conference on Software Engineering, ICSE ’18. ACM, New York, pp 1027–1038. https://doi.org/10.1145/3180155.3180163
Henard C, Papadakis M, Harman M, Traon YL (2015) Combining multi-objective search and constraint solving for configuring large software product lines. In: The 37th international conference on software engineering, vol 1, pp 517–528. https://doi.org/10.1109/ICSE.2015.69
Henard C, Papadakis M, Perrouin G, Klein J, Traon YL (2013a) Assessing software product line testing via model-based mutation: an application to similarity testing. In: 2013 IEEE Sixth international conference on software testing, verification and validation workshops, pp 188–197. https://doi.org/10.1109/ICSTW.2013.30
Henard C, Papadakis M, Perrouin G, Klein J, Traon YL (2013b) Multi-objective test generation for software product lines. In: Proceedings of the 17th International Software Product Line Conference, SPLC ’13. ACM, New York, pp 62–71. https://doi.org/10.1145/2491627.2491635
Henard C, Papadakis M, Perrouin G, Klein J, Heymans P, Le Traon Y (2014) Bypassing the combinatorial explosion: Using similarity to generate and prioritize t-wise test configurations for software product lines. IEEE Trans Softw Eng 40(7):650–670. https://doi.org/10.1109/TSE.2014.2327020
Harman M (2007) The current state and future of search based software engineering. In: Future of software engineering, FOSE ’07. IEEE Computer Society, Washington, pp 342–357. https://doi.org/10.1109/FOSE.2007.29
Harman M, Mansouri SA, Zhang Y (2012) Search-based software engineering: trends, techniques and applications. ACM Comput Surv 45(1):11:1–11:61. https://doi.org/10.1145/2379776.2379787
Harman M, Jia Y, Krinke J, Langdon B, Petke J, Zhang Y (2014) Search based software engineering for software product line engineering: a survey and directions for future work. In: Proceedings of the 18th International Software Product Line Conference - Volume 1, SPLC ’14. ACM, New York, pp 5–18. https://doi.org/10.1145/2648511.2648513
Hierons RM, Li M, Liu X, Segura S, Zheng W (2016) SIP: Optimal Product selection from feature models using Many-Objective evolutionary optimization. ACM Trans Softw Eng Methodol 25(2):17:1–17:39. https://doi.org/10.1145/2897760
Ishibuchi H, Masuda H, Nojima Y (2016) Pareto fronts of many-objective degenerate test problems. IEEE Trans Evol Comput 20(5):807–813. https://doi.org/10.1109/TEVC.2015.2505784
Ishibuchi H, Setoguchi Y, Masuda H, Nojima Y (2017) Performance of decomposition-based many-objective algorithms strongly depends on pareto front shapes. IEEE Trans Evol Comput 21(2):169–190. https://doi.org/10.1109/TEVC.2016.2587749
Johansen MF, Haugen Ø, Fleurey F (2012) An algorithm for generating t-wise covering arrays from large feature models. In: Proceedings of the 16th International Software Product Line Conference-Volume 1. ACM, pp 46–55
Kang KC, Cohen SG, Hess JA, Novak WE, Peterson AS (1990) Feature-oriented domain analysis (FODA ) feasibility study. Tech. rep., CMU/SEI-90-TR-21. SEI Georgetown University
Li M, Yang S, Liu X (2014) Shift-based density estimation for pareto-based algorithms in many-objective optimization. IEEE Trans Evol Comput 18:348–65
Li M, Yang S, Liu X (2015a) Bi-goal evolution for many-objective optimization problems. Artif Intell 228:45–65
Li B, Li J, Tang K, Yao X (2015b) Many-objective evolutionary algorithms: A survey. ACM Comput Surv 48(1):1–35
Li M, Chen T, Yao X (2018) A critical review of: ”a practical guide to select quality indicators for assessing pareto-based search algorithms in search-based software engineering”: Essay on quality indicator selection for sbse. In: Proceedings of the 40th International Conference on Software Engineering: New Ideas and Emerging Results, ICSE-NIER ’18. ACM, New York, pp 17–20. https://doi.org/10.1145/3183399.3183405
Li M, Yao X (2019) Quality evaluation of solution sets in multiobjective optimisation: A survey. ACM Comput Surv 52(2):26:1–26:38. https://doi.org/10.1145/3300148
Liang JH, Ganesh V, Czarnecki K, Raman V (2015) SAT-Based Analysis of Large Real-world Feature Models is Easy. In: Proceedings of the 19th International Conference on Software Product Line, SPLC ’15. ACM, New York, pp 91–100. https://doi.org/10.1145/2791060.2791070
Lopez-Herrejon RE, Chicano F, Ferrer J, Egyed A, Alba E (2013) Multi-objective optimal test suite computation for software product line pairwise testing. In: IEEE International conference on software maintenance, pp 404–407
Marques-Silva JP, Sakallah KA (1999) GRASP: A search algorithm for propositional satisfiability. IEEE Trans Comput 48(5):506–521
Mendonca M, Wasowski A, Czarnecki K (2009) SAT-Based Analysis of Feature Models is Easy. In: Proceedings of the 13th International Software Product Line Conference, SPLC ’09. Carnegie Mellon University, Pittsburgh, pp 231–240
Olaechea R, Rayside D, Guo J, Czarnecki K (2014) Comparison of exact and approximate multi-objective optimization for software product lines. In: The international software product line conference, pp 92–101
Perrouin G, Sen S, Baudry JKB, le Traon Y (2010) Automated and Scalable T-wise Test Case Generation Strategies for Software Product Lines. IEEE Sixth Int Conf Softw Test Verif Valid 00:459–468. https://doi.org/10.1109/ICST.2010.43
Pohl R, Lauenroth K, Pohl K (2011) A performance comparison of contemporary algorithmic approaches for automated analysis operations on feature models. In: IEEE/ACM International conference on automated software engineering, pp 313–322
Rayside D, Estler HC, Jackson D (2009) The guided improvement algorithm for exact, general-purpose, many-objective combinatorial optimization. Tech. rep., MIT-CSAIL-TR-2009-033 MIT CSAIL
Sayyad AS, Goseva-Popstojanova K, Menzies T, Ammar H (2013a) On parameter tuning in search based software engineering: a replicated empirical study. In: International workshop on replication in empirical software engineering research, pp 84–90
Sayyad AS, Ingram J, Menzies T, Ammar H (2013b) Scalable product line configuration: a straw to break the camel’s back. In: 2013 28Th IEEE/ACM international conference on automated software engineering (ASE), pp 465–474. https://doi.org/10.1109/ASE.2013.6693104
Sayyad AS, Menzies T, Ammar H (2013c) On the value of user preferences in search-based software engineering: a case study in software product lines. In: 2013 35Th international conference on software engineering (ICSE), pp 492–501. https://doi.org/10.1109/ICSE.2013.6606595
Selman B, Levesque H, Mitchell D (1992) A new method for solving hard satisfiability problems. In: Proceedings of the Tenth National Conference on Artificial Intelligence, AAAI’92. AAAI Press, pp 440–446
Selman B, Kautz HA, Cohen B (1994) Noise strategies for improving local search. In: Proceedings of the Twelfth National Conference on Artificial Intelligence (Vol. 1), AAAI ’94. American Association for Artificial Intelligence, Menlo Park, pp 337–343
She S, Lotufo R, Berger T, Wasowski A, Czarnecki K (2011) Reverse engineering feature models. In: Proceedings of the 33rd International Conference on Software Engineering, ICSE ’11. ACM, New York, pp 461–470. https://doi.org/10.1145/1985793.1985856
Simon L, Audemard G (2009) Predicting learnt clauses quality in modern SAT solver. In: Twenty-first international joint conference on artificial intelligence (IJCAI’09). Pasadena, United States
Srinivas M, Patnaik LM (1994) Genetic algorithms: a survey. Computer 27 (6):17–26
Tan TH, Xue Y, Chen M, Sun J, Liu Y, Dong JS (2015) Optimizing selection of competing features via feedback-directed evolutionary algorithms. In: Proceedings of the 2015 International Symposium on Software Testing and Analysis (ISSTA 2015), pp 246–256
Wang H, Jin Y, Yao X (2017) Diversity assessment in many-objective optimization. IEEE Trans Cybern 47(6):1510–1522. https://doi.org/10.1109/TCYB.2016.2550502
Wilcoxon F (1945) Individual comparisons by ranking methods. Biom Bullet 1 (6):80–83
Xiang Y, Peng J, Zhou Y, Li M, Chen Z (2017a) An angle based constrained many-objective evolutionary algorithm. Appl Intell 47(3):705–720. https://doi.org/10.1007/s10489-017-0929-9
Xiang Y, Zhou Y, Li M, Chen Z (2017b) A vector angle based evolutionary algorithm for unconstrained many-objective problems. IEEE Trans Evol Comput 21(1):131–152. https://doi.org/10.1109/TEVC.2016.2587808
Xiang Y, Zhou Y, Zheng Z, Li M (2018) Configuring software product lines by combining Many-Objective optimization and SAT solvers. ACM Trans Softw Eng Methodol 26(4):14:1–14:46. https://doi.org/10.1145/3176644
Xue Y, Zhong J, Tan TH, Liu Y, Cai W, Chen M, Sun J (2016) IBED: Combining IBEA And DE for optimal feature selection in software product line engineering. Appl Soft Comput 49:1215–1231. https://doi.org/10.1016/j.asoc.2016.07.040
Xue Y, Li YF (2018) Multi-objective Integer Programming Approaches for Solving Optimal Feature Selection Problem: A New Perspective on Multi-objective Optimization Problems in SBSE. In: Proceedings of the 40th International Conference on Software Engineering, ICSE ’18. ACM, New York, pp 1231–1242. https://doi.org/10.1145/3180155.3180257
Zabih R, Mcallester D (1988) A rearrangement search strategy for determining propositional satisfiability. In: National conference on artificial intelligence, pp 155–160
Zhang Q, Li H (2007) MOEA/D: a multiobjective evolutionary algorithm based on decomposition. IEEE Trans Evol Comput 11(6):712–731
Zhang Q, Zhou A, Zhao S, Suganthan PN, Liu W, Tiwari S (2009) Multiobjective optimization test instances for the CEC 2009 special session and competition. University of Essex, Colchester, UK and Nanyang Technological University, Singapore, Special Session on Performance Assessment of Multi-Objective Optimization Algorithms, Technical Report
Zhou Y, Xiang Y, Chen Z, He J, Wang J (2019) A scalar projection and angle based evolutionary algorithm for many-objective optimization problems. IEEE Trans Cybern 49(6):2073–2084. https://doi.org/10.1109/TCYB.2018.2819360
Zitzler E, Thiele L (1999) Multiobjective evolutionary algorithms: a comparative case study and the strength pareto approach. IEEE Trans Evol Comput 3(4):257–271
Zitzler E, Künzli S (2004) Indicator-based selection in multiobjective search. In: Proc. 8th international conference on parallel problem solving from nature, PPSN VIII. Springer, pp 832–842
Acknowledgments
This work was supported in part by the Fundamental Research Funds for the Central Universities under Grant x2rjD2190840, in part by the National Natural Science Foundation of China under Grant 61773410, Grant 61673403, Grant 61703183 and Grant 61876207, in part by the Guangdong Natural Science Funds for Distinguished Young Scholar under Grant 2014A030306050, in part by the Guangdong High-Level Personnel of Special Support Program under Grant 2014TQ01X664, in part by the International Cooperation Project of Guangzhou under Grant 201807010047, in part by the Science and Technology Program of Guangzhou under Grant 201607010069, Grant 201802010007 and Grant 201804010276, in part by Guangdong Province Key Area R&D Program under Grant 2018B010109003, and in part by the Science Technique Department of Guizhou Province under Grant [2019]1164.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by: Mark Harman
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Xiang, Y., Yang, X., Zhou, Y. et al. Going deeper with optimal software products selection using many-objective optimization and satisfiability solvers. Empir Software Eng 25, 591–626 (2020). https://doi.org/10.1007/s10664-019-09761-2
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10664-019-09761-2