An Approach for Prioritizing Software Features Based on Node Centrality in Probability Network
Due to the increasing complexity of software products as well as the restriction of the development budget and time, requirements prioritization, i.e., selecting more crucial requirements to be designed and developed firstly, has become increasingly important in the software development lifetime. Considering the fact that a feature in a feature model can be viewed as a set of closely related requirements, feature prioritization will contribute to requirements prioritization to a large extent. Therefore, how to measure the priority of features within a feature model becomes an important issue in requirements analysis. In this paper, a software feature prioritization approach is proposed, which utilizes the dependencies between features to build a feature probability network and measures feature prioritization through the nodes centrality in the network. Experiments conducted on real world feature models show that the proposed approach can accurately prioritize features in feature models.
KeywordsFeature prioritization Feature model Feature probability network Centrality
The work is supported by the National Basic Research Program of China under grant No. 2014CB340404, and the National Natural Science Foundation of China under Nos. 61373037, 61272111, 61572186 and 61562073. The authors would like to thank anonymous reviewers for their valuable suggestions. Jian Wang is the corresponding author.
- 1.Tong, Z., Zhuang, Q., Guo, Q., Ma, P.: Research on technologies of software requirements prioritization. In: Yuan, Y., Wu, X., Lu, Y. (eds.) ISCTCS 2013. CCIS, vol. 426, pp. 9–21. Springer, Heidelberg (2014)Google Scholar
- 4.Peter, H., Olson, D., Rodgers, T.: Multi-criteria preference analysis for systematic requirements negotiation. In: 26th Annual International Conference on Computer Software and Applications, pp. 887–892. IEEE Press, New York (2002)Google Scholar
- 8.Easmin, R., Gias, A.U., Khaled, S.M.: A partial order assimilation approach for software requirements prioritization. In: 3rd International Conference on Informatics, Electronics and Vision (ICIEV), pp. 1–5. IEEE Press, New York (2014)Google Scholar
- 9.Khari, M., Kumar, N.: Comparison of six prioritization techniques for software requirements. J. Glob. Res. Comput. Sci. 4(1), 38–43 (2013)Google Scholar
- 11.Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (FODA) feasibility study. Technical report, Carnegie Mellon University (1990)Google Scholar
- 12.Radatz, J., Geraci, A., Katki, F.: IEEE standard glossary of software engineering terminology. IEEE Stand. 610121990(121990), 3 (1990)Google Scholar
- 15.White, J., Dougherty, B., Schmidt, D.C., Benavides, D.: Automated reasoning for multi-step feature model configuration problems. In: 13th International Conference on Software Product Line, pp. 11–20. Carnegie Mellon University (2009)Google Scholar
- 16.Stoiber, R., Glinz, M.: Supporting stepwise, incremental product derivation in product line requirements engineering. In: 4th International Workshop on Variability Modelling of Software-Intensive Systems. ICB-Research report, pp. 77–84. University Duisburg-Essen (2010)Google Scholar
- 18.Acher, M., Cleve, A., Perrouin, G., Heymans, P., Vanbeneden, C., Collet, P., Lahire, P.: On extracting feature models from product descriptions. In: 6th International Workshop on Variability Modeling of Software-Intensive Systems, pp. 45–54. ACM, New York (2012)Google Scholar
- 20.Davril, J.M., Delfosse, E., Hariri, N., Acher, M., Cleland-Huang, J., Heymans, P.: Feature model extraction from large collections of informal product descriptions. In: 9th Joint Meeting on Foundations of Software Engineering, pp. 290–300. ACM, New York (2013)Google Scholar