ABSTRACT
This paper is concerned with the Multi-Objective Next Release Problem (MONRP), a problem in search-based requirements engineering. Previous work has considered only single objective formulations. In the multi-objective formulation, there are at least two (possibly conflicting) objectives that the software engineer wishes to optimize. It is argued that the multi-objective formulation is more realistic, since requirements engineering is characterised by the presence of many complex and conflicting demands, for which the software engineer must find a suitable balance. The paper presents the results of an empirical study into the suitability of weighted and Pareto optimal genetic algorithms, together with the NSGA-II algorithm, presenting evidence to support the claim that NSGA-II is well suited to the MONRP. The paper also provides benchmark data to indicate the size above which the MONRP becomes non--trivial.
- Antoniol, G., Penta, M. D., and Harman, M. Search-based techniques applied to optimization of project planning for a massive maintenance project. In 21st IEEE International Conference on Software Maintenance (Los Alamitos, California, USA, 2005), pp. 240--249. Google ScholarDigital Library
- Bagnall, A., Rayward-Smith, V., and Whittley, I. The next release problem. Information and Software Technology 43, 14 (Dec. 2001), 883--890.Google ScholarCross Ref
- Chicano, F., and Alba, E. Management of software projects with gas. In 6th Metaheuristics International Conference (MIC2005) (Vienna, Austria, Aug. 2005).Google Scholar
- Coello Coello, C. A., Van Veldhuizen, D. A., and Lamont, G. B. Evolutionary Algorithms for Solving Multi-Objective Problems. Kluwer Academic Publishers, New York, May 2002. Google ScholarDigital Library
- Cohen, M., Kooi, S. B., and Srisa-an, W. Clustering the heap in multi-threaded applications for improved garbage collection. In GECCO 2006: Proceedings of the 8th annual conference on Genetic and evolutionary computation (Seattle, Washington, USA, 8--12 July 2006), M. Keijzer, M. Cattolico, D. Arnold, V. Babovic, C. Blum, P. Bosman, M. V. Butz, C. Coello Coello, D. Dasgupta, S. G. Ficici, J. Foster, A. Hernandez--Aguirre, G. Hornby, H. Lipson, P. McMinn, J. Moore, G. Raidl , F. Rothlauf, C. Ryan, and D. Thierens, Eds., vol. 2, ACM Press, pp. 1901--1908 Google ScholarDigital Library
- Collette, Y., and Siarry, P. Multiobjective Optimization: Principles and Case Studies. Springer, 2004.Google Scholar
- Deb, K. Multi-Objective Optimization Using Evolutionary Algorithms. Wiley, Chichester, UK, 2001. Google ScholarDigital Library
- Deb, K., Pratap, A., Agarwal, S., and Meyarivan, T. A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation 6, 2 (Apr. 2002), 182--197. Google ScholarDigital Library
- Doval, D., Mancoridis, S., and Mitchell, B. S. Automatic clustering of software systems using a genetic algorithm. In International Conference on Software Tools and Engineering Practice (STEP'99) (Pittsburgh, PA, 30 August - 2 September 1999). Google ScholarDigital Library
- Greer, D., and Ruhe, G. Software release planning: an evolutionary and iterative approach. Information & Software Technology 46, 4 (2004), 243--253.Google ScholarCross Ref
- Harman, M., SteinhÄofel, K., and Skaliotis, A. Search based approaches to component selection and prioritization for the next release problem. In 22nd International Conference on Software Maintenance (ICSM 06) (Philadelphia, Pennsylvania, USA, Sept. 2006). To appear. Google ScholarDigital Library
- Harman, M., Swift, S., and Mahdavi, K. An empirical study of the robustness of two module clustering fitness functions. In Genetic and Evolutionary Computation Conference (GECCO 2005) (Washington DC, USA, June 2005), pp. 1029--1036. Google ScholarDigital Library
- Horn, J., and Nafpliotis, N. Multiobjective optimization using the niched pareto genetic algorithm. Tech. Rep. IllIGAL 93005, Illinois Genetic Algorithms Laboratory, University of Illinois at Urbana--Champaign, Urbana, IL, 1993.Google Scholar
- Karlsson, J., Wohlin, C., and Regnell, B. An evaluation of methods for priorizing software requirements. Information and Software Technology 39 (1998), 939--947.Google ScholarCross Ref
- Kirsopp, C., Shepperd, M., and Hart, J. Search heuristics, case--based reasoning and software project effort prediction. In GECCO 2002: Proceedings of the Genetic and Evolutionary Computation Conference (San Francisco, CA 94104, USA, 9--13 July 2002), W. B. Langdon, E. Cant--Paz, K. Mathias, R. Roy, D. Davis, R. Poli, K. Balakrishnan, V. Honavar, G. Rudolph, J. Wegener, L. Bull, M. A. Potter, A. C. Schultz, J. F. Miller, E. Burke, and N. Jonoska, Eds., Morgan Kaufmann Publishers, pp. 1367--1374. Google ScholarDigital Library
- Mahdavi, K., Harman, M., and Hierons, R. M. A multiple hill climbing approach to software module clustering. In IEEE International Conference on Software Maintenance (Los Alamitos, California, USA, Sept. 2003), pp. 315--324. Google ScholarDigital Library
- Mancoridis, S., Mitchell, B. S., Chen, Y.-F., and Gansner, E. R. Bunch: A clustering tool for the recovery and maintenance of software system structures. In Proceedings; IEEE International Conference on Software Maintenance (1999), IEEE Computer Society Press, pp. 50--59. Google ScholarDigital Library
- Mancoridis, S., Mitchell, B. S., Rorres, C., Chen, Y.-F., and Gansner, E. R. Using automatic clustering to produce high--level system organizations of source code. In International Workshop on Program Comprehension (IWPC'98) (Los Alamitos, California, USA, 1998), pp. 45--53. Google ScholarDigital Library
- Mitchell, B. S., and Mancoridis, S. On the automatic modularization of software systems using the bunch tool. 193--208. Google ScholarDigital Library
- O'Keeffe, M., and O'Cinneide, M. Search-based software maintenance. In Conference on Software Maintenance and Reengineering (CSMR'06) (Mar. 2006), pp. 249--260. Google ScholarDigital Library
- Osyczka, A. In Multicriteria optimization for engineering design (1985), Design Optimization, pp. 193--227.Google Scholar
- Papadimitriou, C. H., and Steiglitz, K. Combinatorial Optimization: Algorithms and Complexity. Dover, 1998. Google ScholarDigital Library
- Seng, O., Stammel, J., and Burkhart, D. Search-based determination of refactorings for improving the class structure of object--oriented systems. In GECCO 2006: Proceedings of the 8th annual conference on Genetic and evolutionary computation (Seattle, Washington, USA, 8-12 July 2006), M. Keijzer, M. Cattolico, D. Arnold, V. Babovic, C. Blum, P. Bosman, M. V. Butz, C. Coello Coello, D. Dasgupta, S. G. Ficici, J. Foster, A. Hernandez-Aguirre, G. Hornby, H. Lipson, P. McMinn, J. Moore, G. Raidl, F. Rothlauf, C. Ryan, and D. Thierens, Eds., vol. 2, ACM Press, pp. 1909--1916 Google ScholarDigital Library
- Srinivas, N., and Deb, K. Multiobjective Optimization Using Nondominated Sorting in Genetic Algorithms. Evolutionary Computation 2, 3 (Fall 1994), 221--248.Google ScholarDigital Library
- Szidarovsky, F., Gershon, M. E., and Dukstein, L. Techniques for multiobjective decision making in systems management. Elsevier, New York, 1986.Google Scholar
Index Terms
- The multi-objective next release problem
Recommendations
Evolving Dynamic Multi-Objective Optimization Problems with Objective Replacement
This paper studies the strategies for multi-objective optimization in a dynamic environment. In particular, we focus on problems with objective replacement, where some objectives may be replaced with new objectives during evolution. It is shown that the ...
Applied Pareto multi-objective optimization by stochastic solvers
It is well known that many engineering design problems with different objectives, some of which can be opposed to one another, can be formulated as multi-objective functions and resolved with the construction of a Pareto front that helps to select the ...
Multi-objective integer programming approaches to Next Release Problem — Enhancing exact methods for finding whole pareto front
Abstract Context:Project planning is a crucial part of software engineering, it involves selecting requirements to develop for the next release. How to make a good release plan is an optimization problem to maximize the goal of ...
Comments