This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
A Machine Learning Approach to Software Requirements Prioritization
April 2013 (vol. 39 no. 4)
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.
Index Terms:
Approximation methods,Accuracy,Software,Humans,Data models,Boosting,machine learning,Requirements management,requirements prioritization
Citation:
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
Usage of this product signifies your acceptance of the Terms of Use.