journal article·2023-07-19Open access

Fault-Prone Software Requirements Specification Detection Using Ensemble Learning for Edge/Cloud Applications

Fatin Nur Jannah Muhamad, Siti Hafizah Ab Hamid, Hema Subramaniam, Razailin Abdul Rashid, Faisal Fahmi

Applied Sciences· Volume 13· Issue 14

Abstract

Ambiguous software requirements are a significant contributor to software project failure. Ambiguity in software requirements is characterized by the presence of multiple possible interpretations. As requirements documents often rely on natural language, ambiguity is a frequent challenge in industrial software construction, with the potential to result in software that fails to meet customer needs and generates issues for developers. Ambiguities arise from grammatical errors, inappropriate language use, multiple meanings, or a lack of detail. Previous studies have suggested the use of supervised machine learning for ambiguity detection, but limitations in addressing all ambiguity types and a lack of accuracy remain. In this paper, we introduce the fault-prone software requirements specification detection model (FPDM), which involves the ambiguity classification model (ACM). The ACM model identifies and selects the optimal algorithm to classify ambiguity in software requirements by employing the deep learning technique, while the FPDM model utilizes Boosting ensemble learning algorithms to detect fault-prone software requirements specifications. The ACM model achieved an accuracy of 0.9907, while the FPDM model achieved an accuracy of 0.9750. To validate the results, a case study was conducted to detect fault-prone software requirements specifications for 30 edge/cloud applications, as edge/cloud-based applications are becoming crucial and significant in the current digital world.
Source: crossref · Quality: baseline

Research context

OpenAlex topics: Software Engineering Research · Software System Performance and Reliability · Software Engineering Techniques and Practices

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

Affiliations

Department of Software Engineering, Faculty of Computer Science & Information Technology, Universiti Malaya, Kuala Lumpur 50603, Malaysia

Departemen Ilmu Informasi dan Perpustakaan, Fakultas Ilmu Sosial& Ilmu Politik, Universitas Airlangga, Kampus B. Jl. Dharmawangsa Dalam, Surabaya 60286, Jawa Timur, Indonesia

Funding

University of Malaya

References (29)

Show source-provided references
1. Critical analysis of Big Data challenges and analytical methods10.1016/j.jbusres.2016.08.001 ↗
2. Mitchel (2022, March 14). Leveraging Natural Language Processing in Requirements Analysis. QRA Corp. Available online: https://qracorp.com/nlp-requirements-analysis/.
3. Sabriye, A.O.J., and Zainon, W.M.N.W. (2017, January 17–18). A framework for detecting ambiguity in software requirement specification. Proceedings of the 2017 8th International Conference on Information Technology (ICIT), Amman, Jordan.10.1109/ICITECH.2017.8080002 ↗
4. Singh, M., and Walia, G.S. (2021, January 25–27). Automating Key Phrase Extraction from Fault Logs to Support Post-Inspection Repair of Software Requirements. Proceedings of the India Software Engineering Conference, Bhubaneswar, India.10.1145/3452383.3452386 ↗
5. Tool for Automatic Discovery of Ambiguity in Requirements
6. An approach for detecting syntax and syntactic ambiguity in software requirement specification
7. Algorithm for Automatic Detection of Ambiguities from Software Requirements10.35940/ijitee.I1141.0789S19 ↗
8. IBajwa, S., Lee, M., and Bordbar, B. (2012). Resolving Syntactic Ambiguities in Natural Language Specification of Constraints, Springer eBooks.10.1007/978-3-642-28604-9_15 ↗
9. Ferrari, A., Donati, B., and Gnesi, S. (2017, January 4–8). Detecting Domain-Specific Ambiguities: An NLP Approach Based on Wikipedia Crawling and Word Embeddings. Proceedings of the 2017 IEEE 25th International Requirements Engineering Conference Workshops (REW), Lisbon, Portugal.10.1109/REW.2017.20 ↗
10. Ambi Detect: An Ambiguous Software Requirements Specification Detection Tool
11. Kurtanovic, Z., and Maalej, W. (2017, January 4–8). Automatically Classifying Functional and Non-functional Requirements Using Supervised Machine Learning. Proceedings of the IEEE International Conference on Requirements Engineering, Lisbon, Portugal.10.1109/RE.2017.82 ↗
12. Detecting defects in software requirements specification10.1016/j.aej.2014.06.001 ↗
13. Singh, M. (2018, January 20–24). Automated Validation of Requirement Reviews: A Machine Learning Approach. Proceedings of the IEEE International Conference on Requirements Engineering, Banff, AB, Canada.10.1109/RE.2018.00062 ↗
14. (1998). IEEE Recommended Practice for Software Requirements Specifications (Standard No. IEEE Std 830-1998).
15. Ali, S., Khan, N.A., Alshayeb, M., and Alghamdi, A. (2018, January 23–25). An Empirical Study of the Impact of SRS Quality on the Fault Proneness of Software Systems. Proceedings of the 9th International Conference on Software Engineering and Service Science, Beijing, China.
16. A Study of Software Requirement Specification
17. Bäumer, F.S., and Geierhos, M. (2018, January 3–6). Flexible Ambiguity Resolution and Incompleteness Detection in Requirements Descriptions via an Indicator-Based Configuration of Text Analysis Pipelines. Proceedings of the Annual Hawaii International Conference on System Sciences, Hilton Waikoloa Village, HI, USA.10.24251/HICSS.2018.720 ↗
18. Detecting and resolving ambiguity approach in requirement specification: Implementation, results and evaluation
19. Pennington, J., Socher, R., and Manning, C.D. (2014, January 25–29). Glove: Global Vectors for Word Representation. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), Doha, Qatar.10.3115/v1/D14-1162 ↗
20. Mikolov, T., Chen, K., Corrado, G.S., and Dean, J. (2013). Efficient Estimation of Word Representations in Vector Space. arXiv.
21. Enriching Word Vectors with Subword Information10.1162/tacl_a_00051 ↗
22. Bio-inspired computational paradigm for feature investigation and malware detection: Interactive analytics10.1007/s11042-017-4586-0 ↗
23. On explaining machine learning models by evolving crucial and compact features10.1016/j.swevo.2019.100640 ↗
24. Hazim, M., Anuar, N.B., Razak, M.F.A., and Abdullah, N.A. (2018). Detecting Opinion Spams through Supervised Boosting Approach. PLoS ONE, 13.10.1371/journal.pone.0198884 ↗
25. Two-step model for emotion detection on twitter users: A Covid-19 case study in Malaysia10.22452/mjcs.vol34no4.4 ↗
26. Ranger, S. (2023, May 18). What Is Cloud Computing? Everything You Need to Know About the Cloud Explained. ZDNET. Available online: https://www.zdnet.com/article/what-is-cloud-computing-everything-you-need-to-know-about-the-cloud/.
27. Aggarwal, G. (2023, May 18). How The Pandemic Has Accelerated Cloud Adoption. Forbes. Available online: https://www.forbes.com/sites/forbestechcouncil/2021/01/15/how-the-pandemic-has-accelerated-cloud-adoption/?sh=3ca3ba626621.
28. Ramachandran, M., and Mahmood, Z. (2017). Requirements Engineering for Service and Cloud Computing, Springer.10.1007/978-3-319-51310-2 ↗
29. Wongcharoen, S., and Senivongse, T. (2016, January 13–15). Twitter analysis of road traffic congestion severity estimation. Proceedings of the 2016 13th International Joint Conference on Computer Science and Software Engineering (JCSSE), Khon Kaen, Thailand.10.1109/JCSSE.2016.7748850 ↗