Enhancing requirements engineering process using hybrid recommender systems

Document Type : Original Article

Authors

Department of Electrical and Computer Engineering, University of Science and Technology of Mazandaran, Behshahr, Iran

Abstract

Requirements engineering is a critical phase within the software development lifecycle, with its effective execution being pivotal to the overall success of a project. To improve the quality and efficiency of requirements engineering, the reuse of previous requirements has emerged as a promising strategy. By employing methodologies such as collaborative filtering, content-based filtering, knowledge-based techniques, and hybrid approaches, recommender systems support stakeholders in the precise identification and prioritization of requirements. This paper presents a hybrid method combining collaborative filtering and content-based filtering to improve the performance of recommendation systems in requirements engineering. In this method, the semantic similarity between requirements is calculated using the Global Vectors for Word Representation (GloVe) model, and the semantic features extracted from textual descriptions are combined with predefined categories. This process enhances the accuracy of predicting stakeholder interest or need for requirements and their prioritization. The experimental results obtained from the RALIC dataset indicate that the proposed approach significantly enhances prediction accuracy and coverage. This improvement is particularly evident in addressing challenges related to data sparsity and the cold start problem, highlighting the superior efficiency of this method compared to existing approaches.

Keywords

Main Subjects


[1] R. S. Pressman, Software Engineering: A Practitioner’s Approach, 6th ed. New York, NY, USA: McGraw-Hill, 2005.
[2] C. Palomares, C. Quer, and X. Franch, “Requirements Reuse and Requirement Patterns: A State of the Practice Survey,” Empir. Softw. Eng., vol. 22, no. 6, pp. 2719-2762, 2017, doi: 10.1007/s10664-016-9485-x.
[3] C. C. Aggarwal, Recommender Systems. Cham, Switzerland: Springer International Publishing, 2016, doi: 10.1007/978-3-319-29659-3.
[4] F. Zarrinkalam and M. Kahani, “Using Semantic Relations to Improve Quality of a Citation Recommendation System,” Soft Comput. J., vol. 1, no. 2, pp. 36-45, 2013, dor: 20.1001.1.23223707.1391.1.2.61.0 [In Persian].
[5] M. Zamzame, S. Sedighian Kashi, and A. Nikanjam, “Energy-Aware Evolutionary Multi-Objective Refactoring for Bad Code Smells Correction of Android Applications,” Soft Comput. J., vol. 12, no. 2, pp. 78-95, 2024, doi: 10.22052/scj.2023.246479.1074 [In Persian].
[6] N. Moosarrezayi and J. Hamidzadeh, “Design a Hybrid Recommender System Solving Cold-Start Problem Using Clustering and Chaotic PSO Algorithm,” Soft Comput. J., vol. 7, no. 1, pp. 50-61, 2018, doi: 10.22052/7.1.50 [In Persian].
[7] N. Hariri, C. Castro-Herrera, J. Cleland-Huang, and B. Mobasher, “Recommendation Systems in Requirements Discovery,” in Recommendation Systems in Software Engineering, Berlin, Germany: Springer, 2014, pp. 455-476, doi: 10.1007/978-3-642-45135-5_17.
[8] H. Dumitru et al., “On-Demand Feature Recommendations Derived from Mining Public Product Descriptions,” in Proc. 33rd Int. Conf. Softw. Eng. (ICSE), 2011, pp. 181-190, doi: 10.1145/1985793.1985819.
[9] G. Ninaus et al., “INTELLIREQ: Intelligent Techniques for Software Requirements Engineering,” in Proc. 21st Eur. Conf. Artif. Intell. (ECAI), 2014, pp. 1161-1166, doi: 10.3233/978-1-61499-419-0-1161.
[10] S. Ahmad and M. Sadiq, “Recommender Systems for Software Requirements Negotiation and Prioritization,” Int. J. Comput. Appl., vol. 117, no. 13, pp. 27-33, 2015, doi: 10.5120/20611-3261.
[11] M. I. Lunarejo, “Requirements Prioritization Based on Multiple Criteria Using Artificial Intelligence Techniques,” in Proc. IEEE 29th Int. Req. Eng. Conf. (RE), 2021, pp. 480-485, doi: 10.1109/RE51729.2021.00072.
[12] S. AlZu’bi, B. Hawashin, M. ElBes, and M. Al-Ayyoub, “A Novel Recommender System Based on Apriori Algorithm for Requirements Engineering,” in Proc. 5th Int. Conf. Soc. Netw. Anal. Manag. Secur. (SNAMS), 2018, pp. 323-327, doi: 10.1109/SNAMS.2018.8554909.
[13] S. S. Tanveer and Z. A. Rana, “Prioritizing Software Requirements by Combining the Usage Monitoring and User Feedback Data,” IEEE Access, vol. 12, pp. 82825-82841, 2024, doi: 10.1109/ACCESS.2024.3409847.
[14] M. Muhairat, S. AlZu’bi, B. Hawashin, M. W. Elbes, and M. Al-Ayyoub, “An Intelligent Recommender System Based on Association Rule Analysis for Requirement Engineering,” J. Univers. Comput. Sci., vol. 26, no. 1, pp. 33-49, 2020, doi: 10.3897/jucs.2020.003.
[15] Q. Y. Shambour, A. H. Hussein, Q. M. Kharma, and M. M. Abualhaj, “Effective Hybrid Content-Based Collaborative Filtering Approach for Requirements Engineering,” Comput. Syst. Sci. Eng., vol. 40, no. 1, pp. 247-261, 2022, doi: 10.32604/csse.2022.017221.
[16] S. L. Lim, “Social Networks and Collaborative Filtering for Large-Scale Requirements Elicitation,” Ph.D. dissertation, School Comput. Sci. Eng., UNSW Sydney, Sydney, Australia, 2010.
[17] P. Resnick, N. Iacovou, M. Suchak, P. Bergstrom, and J. Riedl, “GroupLens: An Open Architecture for Collaborative Filtering of Netnews,” in Proc. ACM Conf. Comput. Support. Coop. Work (CSCW), 1994, pp. 175-186, doi: 10.1145/192844.192905.
[18] D. Wang, Y. Yih, and M. Ventresca, “Improving Neighbor-Based Collaborative Filtering by Using a Hybrid Similarity Measurement,” Expert Syst. Appl., vol. 160, p. 113651, 2020, doi: 10.1016/j.eswa.2020.113651.
[19] B. Sarwar, G. Karypis, J. Konstan, and J. Riedl, “Item-Based Collaborative Filtering Recommendation Algorithms,” in Proc. 10th Int. Conf. World Wide Web (WWW), 2001, pp. 285-295, doi: 10.1145/371920.372071.
[20] F. O. Isinkaye, Y. O. Folajimi, and B. A. Ojokoh, “Recommendation Systems: Principles, Methods and Evaluation,” Egypt. Informatics J., vol. 16, no. 3, pp. 261-273, 2015, doi: 10.1016/j.eij.2015.06.005.