The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.05 - Sept.-Oct. (2012 vol.38)
pp: 1195-1212
Jifeng Xuan , Dalian University of Technology, Dalian
He Jiang , Dalian University of Technology, Dalian
Zhilei Ren , Dalian University of Technology, Dalian
Zhongxuan Luo , Dalian University of Technology, Dalian
ABSTRACT
The Next Release Problem (NRP) aims to optimize customer profits and requirements selection for the software releases. The research on the NRP is restricted by the growing scale of requirements. In this paper, we propose a Backbone-based Multilevel Algorithm (BMA) to address the large scale NRP. In contrast to direct solving approaches, the BMA employs multilevel reductions to downgrade the problem scale and multilevel refinements to construct the final optimal set of customers. In both reductions and refinements, the backbone is built to fix the common part of the optimal customers. Since it is intractable to extract the backbone in practice, the approximate backbone is employed for the instance reduction while the soft backbone is proposed to augment the backbone application. In the experiments, to cope with the lack of open large requirements databases, we propose a method to extract instances from open bug repositories. Experimental results on 15 classic instances and 24 realistic instances demonstrate that the BMA can achieve better solutions on the large scale NRP instances than direct solving approaches. Our work provides a reduction approach for solving large scale problems in search-based requirements engineering.
INDEX TERMS
Approximation algorithms, Software, Software algorithms, Algorithm design and analysis, Optimization, Polynomials, Search problems, search-based requirements engineering, The next release problem, backbone, soft backbone, multilevel algorithm, requirements instance generation
CITATION
Jifeng Xuan, He Jiang, Zhilei Ren, Zhongxuan Luo, "Solving the Large Scale Next Release Problem with a Backbone-Based Multilevel Algorithm", IEEE Transactions on Software Engineering, vol.38, no. 5, pp. 1195-1212, Sept.-Oct. 2012, doi:10.1109/TSE.2011.92
REFERENCES
[1] S. Ali, L.C. Briand, H. Hemmati, and R.K. Panesar-Walawege, "A Systematic Review of the Application and Empirical Investigation of Search-Based Test Case Generation," IEEE Trans. Software Eng., vol. 36, no. 6, pp. 742-762, Nov./Dec. 2010, doi:10.1109/TSE.2009.52.
[2] J. Anvik, L. Hiew, and G.C. Murphy, "Who Should Fix This Bug?" Proc. 28th Int'l Conf. Software Eng., pp. 361-370, May 2010, doi:10.1145/1134285.1134336.
[3] J. Azar, R.K. Smith, and D. Cordes, "Value-Oriented Requirements Prioritization in a Small Development Organization," IEEE Software, vol. 24, no. 1, pp. 32-37, Jan./Feb. 2007, doi:10.1109/MS.2007.30.
[4] A. Bagnall, V. Rayward-Smith, and I. Whittley, "The Next Release Problem," Information and Software Technology, vol. 43, no. 14, pp. 883-890, Dec. 2001, doi:10.1016/S0950-5849(01)00194-X.
[5] P. Baker, M. Harman, K. Steinhofel, and A. Skaliotis, "Search Based Approaches to Component Selection and Prioritization for the Next Release Problem," Proc. 22nd Int'l Conf. Software Maintenance, pp. 176-185, Sept. 2006, doi:10.1109/ICSM.2006.56.
[6] M. Bowman, L.C. Briand, and Y. Labiche, "Solving the Class Responsibility Assignment Problem in Object-Oriented Analysis with Multi-Objective Genetic Algorithms," IEEE Trans. Software Eng., vol. 36, no. 6, pp. 817-837, Nov./Dec. 2010, doi:10.1109/TSE.2010.70.
[7] Bugzilla, http:/www.bugzilla.org/, July 2011.
[8] P. Carlshamre, K. Sandahl, M. Lindvall, B. Regnell, and J. Natt och Dag, "An Industrial Survey of Requirements Interdependencies in Software Product Release Planning," Proc. IEEE Int'l Symp. Requirements Eng., pp. 84-91, Aug. 2001, doi:10.1109/ISRE.2001. 948547.
[9] C. Castro-Herrera, C. Duan, J. Cleland-Huang, and B. Mobasher, "A Recommender System for Requirements Elicitation in Large-Scale Software Projects," Proc. ACM Symp. Applied Computing, pp. 1419-1426, Mar. 2009, doi:10.1145/1529282.1529601.
[10] B.H.C Cheng and J.M. Atlee, "Research Directions in Requirements Engineering," Proc. Int'l Conf. Software Eng. Workshop Future of Software Eng., pp. 285-303, May 2007, doi:10.1109/FOSE. 2007.17.
[11] S. Climer and W. Zhang, "Searching for Backbones and Fat: A Limit-Crossing Approach with Applications," Proc. Nat'l Conf. Artificial Intelligence, pp. 707-712, Aug. 2002.
[12] A.M. Davis, "The Art of Requirements Triage," Computer, vol. 36, no. 3, pp. 42-49, Mar. 2003, doi:10.1109/MC.2003.1185216.
[13] J. del Sagrado, I.M. delÁguila, and F.J. Orellana, "Ant Colony Optimization for the Next Release Problem: A Comparative Study," Proc. Second Int'l Symp. Search Based Software Eng., pp. 67-76, Sept. 2010, doi:10.1109/SSBSE.2010.18.
[14] C. Duan, P. Laurent, J. Cleland-Huang, and C. Kwiatkowski, "Towards Automated Requirements Prioritization and Triage," Requirements Eng., vol. 14, no. 2, pp. 73-89, June 2009, doi:10.1007/s00766-009-0079-7.
[15] Eclipse, http:/www.eclipse.org/, July 2011.
[16] M.S. Feather, S.L. Cornford, J.D. Kiper, and T. Menzies, "Experiences Using Visualization Techniques to Present Requirements, Risks to Them, and Options for Risk Mitigation," Proc. First Int'l Workshop Requirements Eng. Visualization, p. 10, Sept. 2006, doi:10.1109/REV.2006.2.
[17] A. Finkelstein, M. Harman, S.A. Mansouri, J. Ren, and Y. Zhang, "A Search Based Approach to Fairness Analysis in Requirement Assignments to Aid Negotiation, Mediation and Decision Making," Requirements Eng., vol. 14, no. 4, pp. 231-245, Dec. 2009, doi:10.1007/s00766-009-0075-y.
[18] M.R. Garey and D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, pp. 109-117. W.H. Freeman, 1979.
[19] Gnome, http:/www.gnome.org/, July 2011.
[20] T. Gorschek and A.M. Davis, "Requirements Engineering: In Search of the Dependent Variables," Information and Software Technology, vol. 50, nos. 1/2, pp. 67-75, Jan. 2008, doi:10.1016/j.infsof.2007.10.003.
[21] D. Greer and G. Ruhe, "Software Release Planning: An Evolutionary and Iterative Approach," Information and Software Technology, vol. 46, no. 4, pp. 243-253, Mar. 2004, doi:10.1016/j.infsof.2003.07.002.
[22] S. Gueorguiev, M. Harman, and G. Antoniol, "Software Project Planning for Robustness and Completion Time in the Presence of Uncertainty Using Multi Objective Search Based Software Engineering," Proc. 11th Ann. Conf. Genetic and Evolutionary Computation, pp. 1673-1680, July 2009, doi:10.1145/1569901. 1570125.
[23] M. Harman, "The Current State and Future of Search Based Software Engineering," Proc. Workshop Future of Software Eng., pp. 342-357, May 2007, doi:10.1109/FOSE.2007.29.
[24] M. Harman and B.F. Johns, "Search Based Software Engineering," Information and Software Technology, vol. 43, no. 14, pp. 833-839, Dec. 2001, doi:10.1016/S0950-5849(01)00189-6.
[25] M. Harman, J. Krinke, J. Ren, and S. Yoo, "Search Based Data Sensitivity Analysis Applied to Requirement Engineering," Proc. 11th Ann. Conf. Genetic and Evolutionary Computation, pp. 1681-1688, July 2009, doi:10.1145/1569901.1570126.
[26] F. Hutter, H.H. Hoos, K. Leyton-Brown, and T. Stützle, "ParamILS: An Automatic Algorithm Configuration Framework," J. Artificial Intelligence Research, vol. 36, no. 1, pp. 267-306, Sept. 2009, doi:10.1613/jair.2861.
[27] H. Jiang and Y. Chen, "An Efficient Algorithm for Generalized Minimum Spanning Tree Problem," Proc. 12th Ann. Conf. Genetic and Evolutionary Computation, pp. 217-224, July 2010, doi:10.1145/1830483.1830525.
[28] H. Jiang, J. Xuan, and Z. Ren, "Approximate Backbone Based Multilevel Algorithm for Next Release Problem," Proc 12th Ann. Conf. Genetic and Evolutionary Computation, pp. 1333-1340, July 2010, doi:10.1145/1830483.1830730.
[29] H. Jiang, J. Xuan, and X. Zhang, "An Approximate Muscle Guided Global Optimization Algorithm for the Three-Index Assignment Problem," Proc. IEEE Congress on Evolutionary Computation, pp. 2404-2410, June 2008, doi:10.1109/CEC.2008. 4631119.
[30] H. Jiang, X. Zhang, G. Chen, and M. Li, "Backbone Analysis and Algorithm Design for the Quadratic Assignment Problem," Science in China Series F: Information Science, vol. 51, no. 5, pp. 476-488, May 2008, doi:10.1007/s11432-008-0042-0.
[31] H. Jiang, J. Zhang, J. Xuan, Z. Ren, and Y. Hu, "A Hybrid ACO Algorithm for the Next Release Problem," Proc. Int'l Conf. Software Eng. and Data Mining, pp. 166-171, June 2010.
[32] J. Karlsson and K. Ryan, "A Cost-Value Approach for Prioritizing Requirements," IEEE Software, vol. 14, no. 5, pp. 67-74, Sept./Oct. 1997, doi:10.1109/52.605933.
[33] P. Kilby, J. Slaney, and T. Walsh, "The Backbone of the Travelling Salesperson," Proc. 19th Int'l Joint Conf. Artificial Intelligence, pp. 175-180, July 2005.
[34] K. Krogmann, M. Kuperberg, and R. Reussner, "Using Genetic Search for Reverse Engineering of Parametric Behaviour Models for Performance Prediction," IEEE Trans. Software Eng., vol. 36, no. 6, pp. 865-877, Nov./Dec. 2010, doi:10.1109/TSE.2010.69.
[35] S. Kryazhimskiy, G. Tkačik, and J.B. Plotkin, "The Dynamics of Adaptation on Correlated Fitness Landscapes," Proc. Nat'l Academy of Sciences USA, vol. 106, no. 44, pp. 18638-18643, Nov. 2009, doi:10.1073/pnas.0905497106.
[36] Z. Li, M. Harman, and R.M. Hierons, "Search Algorithms for Regression Test Case Prioritization," IEEE Trans. Software Eng., vol. 33, no. 4, pp. 225-237, Apr. 2007, doi:10.1109/TSE.2007.38.
[37] Y. Liu, T.M. Khoshgoftaar, and N. Seliya, "Evolutionary Optimization of Software Quality Modeling with Multiple Repositories," IEEE Trans. Software Eng., vol. 36, no. 6, pp. 852-864, Nov./Dec. 2010, doi:10.1109/TSE.2010.51.
[38] K. Mahdavi, M. Harman, and R.M. Hierons, "A Multiple Hill Climbing Approach to Software Module Clustering," Proc. 19th Int'l Conf. Software Maintenance, pp. 315-324, Sept. 2003, doi:10.1109/ICSM.2003.1235437.
[39] R. Martí, "Multi-Start Methods," Handbook of Metaheuristics, Int'l Series Operations Research and Managements Science, F. Glover and G.A. Kochenberger, eds., pp. 355-368, Kluwer, 2003.
[40] J. McElroy and G. Ruhe, "When-to-Release Decisions for Features with Time-Dependent Value Functions," Requirements Eng., vol. 15, no. 3, pp. 337-358, Sept. 2010, doi:10.1007/s00766-010-0097-5.
[41] R. McGill, J.W. Tukey, and W.A. Larsen, "Variations of Box Plots," The Am. Statistician, vol. 32, no. 1, pp. 12-16, Feb. 1978.
[42] P. McMinn, "Search-Based Software Test Data Generation: A Survey," Software Testing, Verification and Reliability, vol. 14, no. 2, pp. 105-156, June 2004, doi:10.1002/stvr.294.
[43] P. McMinn, M. Harman, K. Lakhotia, Y. Hassoun, and J. Wegener, "Input Domain Reduction through Irrelevant Variable Removal and its Effect on Local, Global and Hybrid Search-Based Structural Test Data Generation," IEEE Trans. Software Eng., vol. 38, no. 2, pp. 453-477, Feb. 2011, doi:10.1109/TSE.2011.18.
[44] P. Merz and B. Freisleben, "Fitness Landscape Analysis and Memetic Algorithms for the Quadratic Assignment Problem," IEEE Trans. Evolutionary Computation, vol. 4, no. 4, pp. 337-352, Nov. 2000, doi:10.1109/4235.887234.
[45] Z. Michalewicz and F.B. Fogel, How to Solve It: Modern Heuristics, pp. 35-43, Springer-Verlag, 2000.
[46] Mining Challenges 2007 and 2009 of IEEE Working Conf. Mining Software Repositories (MSR), http://msr.uwaterloo.ca/msr2007challenge / and http://msr.uwaterloo.ca/msr2009challenge /, July 2011.
[47] Mozilla, http:/www.mozilla.org/, July 2011.
[48] J. Natt och Dag, B. Regnell, V. Gervasi, and S. Brinkkemper, "A Linguistic-Engineering Approach to Large-Scale Requirements Management," IEEE Software, vol. 22, no. 1, pp. 32-39, Jan./Feb. 2005, doi:10.1109/MS.2005.1.
[49] J. Natt och Dag, T. Thelin, and B. Regnell, "An Experiment on Linguistic Tool Support for Consolidation of Requirements from Multiple Sources in Market-Driven Product Development," Empirical Software Eng., vol. 11, no. 2, pp. 303-329, June 2006, doi:10.1007/s10664-006-6405-5.
[50] A. Ngo-The and G. Ruhe, "Optimized Resource Allocation for Software Release Planning," IEEE Trans. Software Eng., vol. 35, no. 1, pp. 109-123, Jan./Feb. 2009, doi:10.1109/TSE.2008.80.
[51] M. O'Keeffe and M.Ó. Cinnéidea, "Search-Based Refactoring for Software Maintenance," J. Systems and Software, vol. 81, no. 4, pp. 502-516, Apr. 2008, doi:10.1016/j.jss.2007.06.003.
[52] M.N. Omidvar, X. Li, Z. Yang, and X. Yao, "Cooperative Co-Evolution for Large Scale Optimization through More Frequent Random Grouping," Proc. IEEE Congress on Evolutionary Computation, pp. 1754-1761, July 2010, doi:10.1109/CEC.2010.5586127.
[53] K. Praditwong, M. Harman, and X. Yao, "Software Module Clustering as a Multi-Objective Search Problem," IEEE Trans. Software Eng., vol. 37, no. 2, pp. 264-282, Mar./Apr. 2011, doi:10.1109/TSE.2010.26.
[54] M. Qasem and A. Prügel-Bennett, "Learning the Large-Scale Structure of the MAX-SAT Landscape Using Populations," IEEE Trans. Evolutionary Computation, vol. 14, no. 4, pp. 518-529, Aug. 2010, doi:10.1109/TEVC.2009.2033579.
[55] B. Regnell, L. Karlsson, and M. Host, "An Analytical Model for Requirements Selection Quality Evaluation in Product Software Development," Proc. IEEE Int'l Conf. Requirements Eng., pp. 254-263, Sept. 2003, doi:10.1109/ICRE.2003.1232757.
[56] G. Ruhe and M.O. Saliu, "The Art and Science of Software Release Planning," IEEE Software, vol. 22, no. 6, pp. 47-53, Nov. 2005, doi:10.1109/MS.2005.164.
[57] M.O. Saliu and G. Ruhe, "Bi-Objective Release Planning for Evolving Software Systems," Proc. Sixth Joint Meeting European Software Eng. Conf. and ACM SIGSOFT Symp. Foundations of Software Eng., pp. 105-114, Sept. 2007, doi:10.1145/1287624. 1287641.
[58] J. Slaney and T. Walsh, "Backbones in Optimization and Approximation," Proc. 17th Int'l Joint Conf. Artificial Intelligence, pp. 254-259, 2001.
[59] M. Svahnberg, T. Gorschek, R. Feldt, R. Torkar, S.B. Saleem, and M.U. Shafique, "A Systematic Review on Strategic Release Planning Models," Information and Software Technology, vol. 52, no. 3, pp. 237-248, Mar. 2010, doi:10.1016/j.infsof.2009.11.006.
[60] C. Walshaw, "A Multilevel Approach to the Traveling Salesman Problem," Operations Research, vol. 50, no. 5, pp. 862-877, Sept. 2002.
[61] Z. Wang, K. Tang, and X. Yao, "Multi-Objective Approaches to Optimal Testing Resource Allocation in Modular Software Systems," IEEE Trans. Reliability, vol. 59, no. 3, pp. 563-575, Sept. 2010, doi:10.1109/TR.2010.2057310.
[62] B. Yang, H. Hu, and L. Jia, "A Study of Uncertainty in Software Cost and Its Impact on Optimal Software Release Time," IEEE Trans. Software Eng., vol. 34, no. 6, pp. 813-825, Nov./Dec. 2008, doi:10.1109/TSE.2008.47.
[63] Z. Yang, K. Tang, and X. Yao, "Large Scale Evolutionary Optimization Using Cooperative Coevolution," Information Sciences, vol. 178, no. 15, pp. 2985-2999, Aug. 2008, doi:10.1016/j.ins.2008.02.017.
[64] W. Zhang, "Configuration Landscape Analysis and Backbone Guided Local Search. Part I: Satisfiability and Maximum Satisfiability," Artificial Intelligence, vol. 158, no. 1, pp. 1-26, Sept. 2004, doi:10.1016/j.artint.2004.04.001.
[65] W. Zhang, H. Mei, and H. Zhao, "Feature-Driven Requirement Dependency Analysis and High-Level Software Design," Requirements Eng., vol. 11, no. 3, pp. 205-220, June 2006, doi:10.1007/s00766-006-0033-x.
[66] Y. Zhang, E. Alba, J.J. Durillo, S. Eldh, and M. Harman, "Today/Future Importance Analysis," Proc. 12th Ann. Conf. Genetic and Evolutionary Computation, pp. 1357-1364, July 2010, doi:10.1145/1830483.1830733.
[67] Y. Zhang, A. Finkelstein, and M. Harman, "Search Based Requirements Optimisation: Existing Work and Challenges," Requirements Eng.: Foundation for Software Quality, B. Paech et al., eds., pp. 88-94, Springer-Verlag, 2008, doi:10.1007/978-3-540-69062-7_8.
[68] Y. Zhang and M. Harman, "Search Based Optimization of Requirements Interaction Management," Proc. Second Int'l Symp. Search Based Software Eng., pp. 47-56, Sept. 2010, doi:10.1109/SSBSE.2010.16.
[69] Y. Zhang, M. Harman, and S.A. Mansouri, "The Multi-Objective Next Release Problem," Proc. Ninth Ann. Conf. Genetic and Evolutionary Computation, pp. 1129-1136, July 2007, doi:10.1145/1276958.1277179.
332 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool