Supporting the Requirements Prioritization Process. A Machine Learning approach

Requirements prioritization plays a key role in the requirements engineering process, in particular with respect to critical tasks such as requirements negotiation and software release planning. This paper presents a novel framework which is based on a requirements prioritization process that interleaves human and machine activities, enabling for an accurate prioritization of requirements. Similarly to the Analytic Hierarchy Process (AHP) method, our framework adopts an elicitation process based on the acquisition of pairwise preferences. Differently from AHP, where scalability is a big issue, the framework enables a prioritization process even over a large set of requirements, thanks to the exploitation of machine learning techniques that induce requirements ranking approximations at run time, and to the use of a boolean metrics. Moreover the new approach allows to reduce the bias of a dominance hierarchy, a strategy introduced by AHP to deal with the scalability issue. The paper describes also a methodology for the experimental evaluation of the framework and discusses the results of a first set of experiments designed on a real casestudy which shows that an high accuracy in the final ranking can be obtained within a limited elicitation effort.

[1]  Bernard Roy,et al.  Aide multicritère à la décision : méthodes et cas , 1993 .

[2]  Dietmar Pfahl,et al.  Quantitative WinWin: a new method for decision support in requirements negotiation , 2002, SEKE '02.

[3]  Paolo Avesani,et al.  Collaborative Case-Based Recommender Systems , 2002, ECCBR.

[4]  Yoji Akao,et al.  Quality Function Deployment : Integrating Customer Requirements into Product Design , 1990 .

[5]  Pamela Zave Classification of research efforts in requirements engineering , 1997, ACM Comput. Surv..

[6]  Yoav Freund,et al.  A Short Introduction to Boosting , 1999 .

[7]  T. Saaty Fundamentals of the analytic network process — Dependence and feedback in decision-making with a single network , 2004 .

[8]  Günther Ruhe,et al.  Requirements Negotiation under Incompleteness and Uncertainty , 2003, SEKE.

[9]  Angelo Susi,et al.  Case-Based Ranking for Decision Support Systems , 2003, ICCBR.

[10]  B. Nuseibeh,et al.  Linking the Selection of Requirements to Market Value : A Portfolio-Based Approach Siv , 2001 .

[11]  Frank Moisiadis,et al.  The fundamentals of prioritising requirements , 2002 .

[12]  Hoh Peter In,et al.  Multi-criteria preference analysis for systematic requirements negotiation , 2002, Proceedings 26th Annual International Computer Software and Applications.

[13]  Joachim Karlsson,et al.  Software requirements prioritizing , 1996, Proceedings of the Second International Conference on Requirements Engineering.

[14]  Yoram Singer,et al.  An Efficient Boosting Algorithm for Combining Preferences by , 2013 .