An Integer Linear Programming approach to the single and bi-objective Next Release Problem

ContextThe Next Release Problem involves determining the set of requirements to implement in the next release of a software project. When the problem was first formulated in 2001, Integer Linear Programming, an exact method, was found to be impractical because of large execution times. Since then, the problem has mainly been addressed by employing metaheuristic techniques. ObjectiveIn this paper, we investigate if the single-objective and bi-objective Next Release Problem can be solved exactly and how to better approximate the results when exact resolution is costly. MethodsWe revisit Integer Linear Programming for the single-objective version of the problem. In addition, we integrate it within the Epsilon-constraint method to address the bi-objective problem. We also investigate how the Pareto front of the bi-objective problem can be approximated through an anytime deterministic Integer Linear Programming-based algorithm when results are required within strict runtime constraints. Comparisons are carried out against NSGA-II. Experiments are performed on a combination of synthetic and real-world datasets. FindingsWe show that a modern Integer Linear Programming solver is now a viable method for this problem. Large single objective instances and small bi-objective instances can be solved exactly very quickly. On large bi-objective instances, execution times can be significant when calculating the complete Pareto front. However, good approximations can be found effectively. ConclusionThis study suggests that (1) approximation algorithms can be discarded in favor of the exact method for the single-objective instances and small bi-objective instances, (2) the Integer Linear Programming-based approximate algorithm outperforms the NSGA-II genetic approach on large bi-objective instances, and (3) the run times for both methods are low enough to be used in real-world situations.

[1]  El-Ghazali Talbi,et al.  ParadisEO-MOEO: A Software Framework for Evolutionary Multi-Objective Optimization , 2010, Advances in Multi-Objective Nature Inspired Computing.

[2]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[3]  Tim Menzies,et al.  Converging on the optimal attainment of requirements , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[4]  Francisco Javier Orellana,et al.  Ant Colony Optimization for the Next Release Problem: A Comparative Study , 2010, 2nd International Symposium on Search Based Software Engineering.

[5]  Des Greer,et al.  Software release planning: an evolutionary and iterative approach , 2004, Inf. Softw. Technol..

[6]  Andrea Lodi,et al.  MIPLIB 2010 , 2011, Math. Program. Comput..

[7]  Ali Selamat,et al.  Information and Software Technology , 2014 .

[8]  Marco Laumanns,et al.  Performance assessment of multiobjective optimizers: an analysis and review , 2003, IEEE Trans. Evol. Comput..

[9]  Günther Ruhe,et al.  Product Release Planning - Methods, Tools and Applications , 2010 .

[10]  Yuanyuan Zhang,et al.  Empirical evaluation of search based requirements interaction management , 2013, Inf. Softw. Technol..

[11]  Gordon Fraser,et al.  The Seed is Strong: Seeding Strategies in Search-Based Software Testing , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[12]  Camila Loiola Brito Maia,et al.  An Ant Colony Optimization Approach to the Software Release Planning with Dependent Requirements , 2011, SSBSE.

[13]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[14]  R. Wilcox Introduction to Robust Estimation and Hypothesis Testing , 1997 .

[15]  Patrick D. Surry,et al.  Inoculation to Initialise Evolutionary Search , 1996, Evolutionary Computing, AISB Workshop.

[16]  René Beier,et al.  Random knapsack in expected polynomial time , 2003, STOC '03.

[17]  Günther Ruhe,et al.  The art and science of software release planning , 2005, IEEE Software.

[18]  Y. Aneja,et al.  BICRITERIA TRANSPORTATION PROBLEM , 1979 .

[19]  F. Freitas,et al.  Software Next Release Planning Approach through Exact Optimization , 2011 .

[20]  Ludo Gelders,et al.  Solving a bicriterion scheduling problem , 1980 .

[21]  Carlos A. Coello Coello,et al.  Seeding the initial population of a multi-objective evolutionary algorithm using gradient-based information , 2008, 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence).

[22]  Mark Harman,et al.  Exact scalable sensitivity analysis for the next release problem , 2014, ACM Trans. Softw. Eng. Methodol..

[23]  L. Lasdon,et al.  On a bicriterion formation of the problems of integrated system identification and system optimization , 1971 .

[24]  Jingyuan Zhang,et al.  A Hybrid ACO algorithm for the Next Release Problem , 2010, The 2nd International Conference on Software Engineering and Data Mining.

[25]  Yuanyuan Zhang,et al.  The multi-objective next release problem , 2007, GECCO '07.

[26]  Anthony Finkelstein,et al.  Ieee Transactions on Software Engineering, Manuscript Id Stakerare: Using Social Networks and Collaborative Filtering for Large-scale Requirements Elicitation , 2022 .

[27]  Yuanyuan Zhang,et al.  A search based approach to fairness analysis in requirement assignments to aid negotiation, mediation and decision making , 2009, Requirements Engineering.

[28]  G. Nemhauser,et al.  Discrete Dynamic Programming and Capital Allocation , 1969 .

[29]  Sjaak Brinkkemper,et al.  Determination of the Next Release of a Software Product: an Approach using Integer Linear Programming , 2005, CAiSE Short Paper Proceedings.

[30]  Ching-Lai Hwang,et al.  Fuzzy Multiple Attribute Decision Making - Methods and Applications , 1992, Lecture Notes in Economics and Mathematical Systems.

[31]  David K. Smith Theory of Linear and Integer Programming , 1987 .

[32]  Thomas Stützle,et al.  Improving the anytime behavior of two-phase local search , 2011, Annals of Mathematics and Artificial Intelligence.

[33]  Lothar Thiele,et al.  Multiobjective Optimization Using Evolutionary Algorithms - A Comparative Case Study , 1998, PPSN.

[34]  Egon Balas,et al.  An Algorithm for Large Zero-One Knapsack Problems , 1980, Oper. Res..

[35]  Ronald L. Rivest,et al.  Introduction to Algorithms, third edition , 2009 .

[36]  Thomas Stützle,et al.  Exploratory Analysis of Stochastic Local Search Algorithms in Biobjective Optimization , 2010, Experimental Methods for the Analysis of Optimization Algorithms.

[37]  Sjaak Brinkkemper,et al.  Software product release planning through optimization and what-if analysis , 2008, Inf. Softw. Technol..

[38]  Victor J. Rayward-Smith,et al.  The next release problem , 2001, Inf. Softw. Technol..

[39]  Xavier Gandibleux,et al.  Multiobjective Combinatorial Optimization — Theory, Methodology, and Applications , 2003 .

[40]  Des Greer,et al.  Quantitative studies in software release planning under risk and resource constraints , 2003, 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings..

[41]  Aravind Seshadri,et al.  A FAST ELITIST MULTIOBJECTIVE GENETIC ALGORITHM: NSGA-II , 2000 .

[42]  Márcio de Oliveira Barros,et al.  A Systematic Review of Software Requirements Selection and Prioritization Using SBSE Approaches , 2013, SSBSE.

[43]  Gregory Gutin,et al.  Digraphs - theory, algorithms and applications , 2002 .

[44]  Enrique Alba,et al.  A study of the bi-objective next release problem , 2010, Empirical Software Engineering.

[45]  Tim Menzies,et al.  Scalable product line configuration: A straw to break the camel's back , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[46]  Andrea Lodi,et al.  Mixed Integer Programming Computation , 2010, 50 Years of Integer Programming.

[47]  Günther Ruhe,et al.  Hybrid Intelligence in Software Release Planning , 2004, Int. J. Hybrid Intell. Syst..

[48]  Xavier Gandibleux,et al.  Multiple Criteria Optimization: State of the Art Annotated Bibliographic Surveys , 2013 .

[49]  He Jiang,et al.  Solving the Large Scale Next Release Problem with a Backbone-Based Multilevel Algorithm , 2012, IEEE Transactions on Software Engineering.

[50]  C. Hwang Multiple Objective Decision Making - Methods and Applications: A State-of-the-Art Survey , 1979 .

[51]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[52]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[53]  Sjaak Brinkkemper,et al.  Integrated Requirement Selection and Scheduling for the Release Planning of a Software Product , 2007, REFSQ.