The Community for Technology Leaders
RSS Icon
Issue No.04 - April (2013 vol.39)
pp: 445-461
Anna Perini , Fondazione Bruno Kessler. CIT - IRST, Trento
Angelo Susi , Fondazione Bruno Kessler. CIT - IRST, Trento
Paolo Avesani , Fondazione Bruno Kessler. CIT - IRST, Trento
Deciding which, among a set of requirements, are to be considered first and in which order is a strategic process in software development. This task is commonly referred to as requirements prioritization. This paper describes a requirements prioritization method called Case-Based Ranking (CBRank), which combines project's stakeholders preferences with requirements ordering approximations computed through machine learning techniques, bringing promising advantages. First, the human effort to input preference information can be reduced, while preserving the accuracy of the final ranking estimates. Second, domain knowledge encoded as partial order relations defined over the requirement attributes can be exploited, thus supporting an adaptive elicitation process. The techniques CBRank rests on and the associated prioritization process are detailed. Empirical evaluations of properties of CBRank are performed on simulated data and compared with a state-of-the-art prioritization method, providing evidence of the method ability to support the management of the tradeoff between elicitation effort and ranking accuracy and to exploit domain knowledge. A case study on a real software project complements these experimental measurements. Finally, a positioning of CBRank with respect to state-of-the-art requirements prioritization methods is proposed, together with a discussion of benefits and limits of the method.
Approximation methods, Accuracy, Software, Humans, Data models, Boosting, machine learning, Requirements management, requirements prioritization
Anna Perini, Angelo Susi, Paolo Avesani, "A Machine Learning Approach to Software Requirements Prioritization", IEEE Transactions on Software Engineering, vol.39, no. 4, pp. 445-461, April 2013, doi:10.1109/TSE.2012.52
[1] A. Aamodt and E. Plaza, "Case-Based Reasoning: Foundational Issues, Methodological Variations, and System Approaches," Artificial Intelligence Comm., vol. 7, no. 1, pp. 39-59, 1994.
[2] V. Ahl, "An Experimental Comparison of Five Prioritization Methods—Investigating Ease of Use, Accuracy and Scalability," master's thesis, School of Eng., Blekinge Inst. of Tech nology, Aug. 2005.
[3] Y. Akao, Quality Function Deployment: Integrating Customer Requirements into Product Design. Productivity Press, 1990.
[4] P. Avesani, C. Bazzanella, A. Perini, and A. Susi, "Supporting the Requirements Prioritization Process. A Machine Learning Approach," Proc. 16th Int'l Conf. Software Eng. and Knowledge Eng., pp. 306-311, June 2004.
[5] P. Avesani, C. Bazzanella, A. Perini, and A. Susi, "Exploiting Domain Knowledge in Requirements Prioritization," Proc. 17th Int'l Conf. Software Eng. and Knowledge Eng., pp. 467-472, July 2005.
[6] P. Avesani, C. Bazzanella, A. Perini, and A. Susi, "Facing Scalability Issues in Requirements Prioritization with Machine Learning Techniques," Proc. 13th IEEE Int'l Conf. Requirements Eng., pp. 297-306, Sept. 2005.
[7] P. Avesani, S. Ferrari, and A. Susi, "Case-Based Ranking for Decision Support Systems," Proc. Fifth Int'l Conf. Case-Based Reasoning: Research and Development, pp. 35-49, 2003.
[8] P. Avesani, A. Susi, and D. Zanoni, "Collaborative Case-Based Preference Elicitation," Proc. Int'l Conf. Innovations in Applied Artificial Intelligence, pp. 752-761, 2005.
[9] K. Beck, Extreme Programming Explained. Addison-Wesley, 1999.
[10] P. Berander and A. Andrews, "Requirements Prioritization," Eng. and Managing Software Requirements, A. Aurum and C. Wohlin, eds., Springer, 2005.
[11] P. Berander, K.A. Khan, and L. Lehtola, "Towards a Research Framework on Requirements Prioritization," Proc. Sixth Conf. Software Eng. Research and Practice in Sweden, Oct. 2006.
[12] M. Daneva and A. Herrmann, "Requirements Prioritization Based on Benefit and Cost Prediction: A Method Classification Framework," Proc. 34th Euromicro Conf. Software Eng. and Advanced Applications, pp. 240-247, 2008.
[13] A. Davis, Just Enough Requirements Management: Where Software Development Meets Marketing. Dorset House, 2005.
[14] 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, 2009.
[15] Y. Freund, R.D. Iyer, R.E. Schapire, and Y. Singer, "An Efficient Boosting Algorithm for Combining Preferences," Proc. 15th Int'l Conf. Machine Learning, pp. 170-178, 1998.
[16] Y. Freund, R.D. Iyer, R.E. Schapire, and Y. Singer, "An Efficient Boosting Algorithm for Combining Preferences," J. Machine Learning Research, vol. 4, pp. 933-969, 2003.
[17] T. Gilb, Competitive Engineering: A Handbook for Systems Engineering, Requirements Engineering, and Software Engineering Using Planguage. Elsevier, 2005.
[18] P.T. Harker, "Incomplete Pairwise Comparisons in the Analitic Hierarchy Process," Math. Modeling, vol. 9, no. 11, pp. 837-848, 1987.
[19] A. Herrmann and M. Daneva, "Requirements Prioritization Based on Benefit and Cost Prediction: An Agenda for Future Research," Proc. IEEE 16th Int'l Conf. Requirements Eng., pp. 125-134, 2008.
[20] F. Hivert, J.-C. Novelli, and J.-Y. Thibon, "The Algebra of Binary Search Trees," Theoretical Computer Science, vol. 339, no. 1, pp. 129-165, 2005.
[21] H. Peter, D. Olson, and T. Rodgers, "Multi-Criteria Preference Analysis for Systematic Requirements Negotiation," Proc. 26th Int'l Computer Software and Applications Conf., pp. 887-892, Aug. 2002.
[22] J. Karlsson, S. Olsson, and K. Ryan, "Improved Practical Support for Large Scale Requirements Prioritizing," J. Requirements Eng., vol. 2, pp. 51-67, 1997.
[23] J. Karlsson and K. Ryan, "A Cost-Value Approach for Prioritizing Requirements," IEEE Software, vol. 14, no. 5, pp. 67-74, Sept./Oct. 1997.
[24] J. Karlsson, C. Wohlin, and B. Regnell, "An Evaluation of Methods for Prioritizing Software Requirements," Information and Software Technology, vol. 39, nos. 14/15, pp. 939-947, 1998.
[25] L. Karlsson, T. Thelin, B. Regnell, P. Berander, and C. Wohlin, "Pair-Wise Comparisons versus Planning Game Partitioning— Experiments on Requirements Prioritisation Techniques," Empirical Software Eng., 2006.
[26] K.A. Khan, "Systematic Review of Requirements Prioritization—A Research Framework," master's thesis, Blekinge Inst. of Tech nology, 2006.
[27] S. Lauesen, Software Requirements: Styles and Techniques. Addison Wesley, 2002.
[28] D. Leffingwell and D. Widrig, Managing Software Requirements: A Unified Approach. Addison-Wesley Longman Inc., 2000.
[29] L. Lehtola, "Providing Value by Prioritizing Requirements Throughout Product Development: State of Practice and Suitability of Prioritization Methods," PhD thesis, HUT/Dept. of Computer Science, 2006.
[30] F. Moisiadis, "Prioritising Software Requirements," Proc. Int'l Conf. Software Eng. Research and Practice, June 2002.
[31] F. Moisiadis, "A Framework for Prioritizing Software Requirements," PhD thesis, Macquarie Univ., July 2003.
[32] A.N. The and G. Ruhe, "Requirements Negotiation under Incompleteness and Uncertainty," Proc. 15th Int'l Conf. Software Eng. and Knowledge Eng., pp. 586-593, July 2003.
[33] A. Perini, F. Ricca, and A. Susi, "Tool-Supported Requirements Prioritization: Comparing the AHP and CBRank Methods," Information and Software Technology, vol. 51, no. 6, pp. 1021-1032, 2009.
[34] G. Ruhe, A. Eberlein, and D. Pfahl, "Quantitative Winwin: A New Method for Decision Support in Requirements Negotiation," Proc. 14th Int'l Conf. Software Eng. and Knowledge Eng., pp. 159-166, 2002.
[35] T.L. Saaty, Fundamentals of the Analytic Hierarchy Process. RWS Publications, 1994.
[36] J.I.A. Siddiqi and M.C. Shekaran, "Requirements Engineering: The Emerging Wisdom," IEEE Software, vol. 13, no. 2, pp. 15-19, Mar. 1996.
[37] S. Sivzattian and B. Nuseibeh, "Linking the Selection of Requirements to Market Value: A Portfolio-Based Approach," Proc. Seventh Int'l Workshop Requirements Eng.: Foundation for Software Quality, June 2001.
[38] P. Tonella, P. Avesani, and A. Susi, "Using the Case-Based Ranking Methodology for Test Case Prioritization," Proc. 22nd IEEE Int'l Conf. Software Maintenance, pp. 123-133, 2006.
[39] A. Villafiorita and G. Fasanelli, "Transitioning to E-Voting: The Provote Project and the Trentino's Experience," Proc. Int'l Conf. Electronic Government, 2006.
[40] K. Weldemariam, A. Villafiorita, and A. Mattioli, "Assessing Procedural Risks and Threats in E-Voting: Challenges and an Approach," Proc. Conf. e-Voting and Identity, 2007.
[41] K.E. Wiegers, Software Requirements. Best Practices. Microsoft Press, 1999.
[42] C. Wohlin, P. Runeson, M. Höst, M.C. Ohlsson, B. Regnell, and A. Wesslén, Experimentation in Software Engineering: An Introduction. Kluwer Academic Publishers, 2000.
148 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool