Combining Multi-Objective Search and Constraint Solving for Configuring Large Scale Software Product Lines

Christopher Henard*, Mike Papadakis*, Mark Harman+, and Yves Le Traon*

*Interdisciplinary Centre for Security Reliability and Trust (SnT), University of Luxembourg, Luxembourg
+University College London (UCL), Gower Street, London
Contact: *{firstname.lastname}@uni.lu,+{firstname.lastname}@ucl.ac.uk

Resources regarding the paper:

References:
[1] Linux Variability Analysis Tools
[2] Sat4j: the boolean satisfaction and optimization library for Java
[3] jMetal: Metaheuristic Algorithms in Java

About the source code and the implementation (Java)

  • To use the implementation:
    			java -jar satibea.jar fmDimacs timeMS
    		
    For instance, the command
    			java -jar satibea.jar 2.6.28.6-icse11.dimacs 3600000
    		
    runs the approach on the Linux feature model with an execution time of one hour (3600000 milliseconds).
    Note: the .augment, .dead, .mandatory and .richseed files (that can be found in the section below) should be in the same directory as the feature model. Thus, along with the feature model used in the command above are the files
    2.6.28.6-icse11.dimacs, 2.6.28.6-icse11.dimacs.augment, 2.6.28.6-icse11.dimacs.dead, 2.6.28.6-icse11.dimacs.mandatory, 2.6.28.6-icse11.dimacs.richseed

  • About the empirical study data