[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ Skip to main content
Log in

Classification of Non-functional Requirements Using Convolutional Neural Networks

  • Published:
Programming and Computer Software Aims and scope Submit manuscript

Abstract

The requirements phase is the core of software development, if it is not carried out correctly it can cause its failure. To combat this problem, analysts have used requirements engineering (ER, for its acronym in English), which is characterized by producing a list of quality requirements called requirements specification (RS, for its acronym in English). The SR performs the requirements classification activity, which consists of identifying the class to which each requirement belongs so that analysts face the challenge of classifying them properly. This work is focused on improving the performance of the classification of non-functional requirements (NFR); that is, with the help of a convolutional neural network. It also seeks to show the importance of preprocessing, the implementation of sampling strategies, and the use of previously trained matrices such as Fasttext, Glove, and Word2vec. The results were obtained by evaluating the metrics Recall, Precision, and F1 with an average increase of up to 30% over related work. Finally, the evaluation of the model is presented with respect to the pre-trained matrices with the ANOVA analysis.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
£29.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price includes VAT (United Kingdom)

Instant access to the full article PDF.

Fig. 1.
Fig. 2.
Fig. 3.
Fig. 4.

Explore related subjects

Discover the latest articles, news and stories from top researchers in related subjects.

REFERENCES

  1. Aguilar, J.A., Zaldívar-Colado, A., Tripp-Barba, C., Espinosa, R., Sanjay, M., and Zurita, C.E., A survey about the impact of requirements engineering pactice in small-sized software factories in Sinaloa, Mexico, in Proc. Int. Conf. on Computational Science and Its Applications, Springer, 2018, pp. 331–340.

  2. Alla, S. and DelAguila, P.P.R., The impact of requirements management documentation on software project outcomes in health care, in Proc. IIE Annu. Conf., Institute of Industrial and Systems Engineers (IISE), 2017, pp. 1419–1423.

  3. Almeyda, S. and Dávila, A., Process improvement in software requirements engineering: A systematic mapping study, Program. Comput. Software, 2022, vol. 48, no. 8, pp. 513–533.

    Article  Google Scholar 

  4. Aurum, A. and Wohlin, C., A value-based approach in requirements engineering: explaining some of the fundamental concepts, in Proc. Int. Working Conf. on Requirements Engineering: Foundation for Software Quality, Springer, 2007, pp. 109–115.

  5. Becker, C., Betz, S., Chitchyan, R., Duboc, L., Easterbrook, S.M., Penzenstadler, B., Seyff, N., and Vent-ers, C.C., Requirements: The key to sustainability, IEEE Software, 2016, vol. 33, pp. 56–65.

    Article  Google Scholar 

  6. Casamayor, A. and Campo, D.G.M., Identification of non-functional requirements in textual specifications: A semi-supervised learning approach, Inf. Software Technol., 2010, vol. 52, pp. 436–445.

    Article  Google Scholar 

  7. Chung, L., Nixon, B.A., and Mylopoulos, E.Y.J., Non-Functional Requirements in Software Engineering, Springer Sci. and Business Media, 2012.

    Google Scholar 

  8. Cisneros, J.R.A., Fernandez-y-Fernandez, C.A., de la Rosa Garcia, G., and Leon, A., Automotive post-collision control software system: Requirements and verification, Program. Comput. Software, 2021, vol. 47, no. 8, pp. 735–745.

    Article  Google Scholar 

  9. Dalpiaz, F., Ferrari, A., and Palomares, X.F.C., Natural language processing for requirements engineering: The best is yet to come, IEEE Software, 2018, vol. 35, pp. 115–119.

    Article  Google Scholar 

  10. Fong, V.L., Software Requirements Classification Using Word Embeddings and Convolutional Neural Networks, Cal Poly, 2018.

    Book  Google Scholar 

  11. Glinz, M., On non-functional requirements, Proc. 15th IEEE Int. Requirements Engineering Conf. RE’07, New Delhi, 2007, pp. 21–26.

  12. Hamill, M. and Goseva-Popstojanova, K., Common trends in software fault and failure data, IEEE Trans. Software Eng., 2009, vol. 35, pp. 484–496.

    Article  Google Scholar 

  13. Hussain, I., Ormandjieva, O., and Kosseim, L., Lasr: a tool for large scale annotation of software requirements, Proc. 2nd IEEE Int, Workshop on Empirical Requirements Engineering (EmpiRE), Chicago, 2012, pp. 57–60.

  14. IEEE Recommended Practice for Software Requirements Specifications, IEEE, Computer Society Software Engineering Standards Committee StandardsBoard IEEE-SA, 1998.

  15. Juárez, R. and Licea, G., Towards supporting software engineering using deep learning: A case of software requirements classification, Proc. 5th Int. Conf. in Software Engineering Research and Innovation (CONISOFT), Mérida, 2017, pp. 116–120.

  16. Kassab, M., Non-functional Requirements: Modeling and Assessment, VDM Verlag, 2009.

    Google Scholar 

  17. Kauppinen, M., Savolainen, J., and Mannisto, T., Requirements engineering as a driver for innovations, Proc. 15th IEEE Int. Requirements Engineering Conf. (RE 2007), New Delhi, 2007, pp. 15–20.

  18. Ko, Y., Park, S., Seo, J., and Choi, S., Using classification techniques for informal requirements in the requirements analysis-supporting system, Inf. Software Technol., 2007, vol. 49, pp. 1128–1140.

    Article  Google Scholar 

  19. Kurtanovic, Z.W.M., Automatically classifying functional and non-functional requirements using supervised machine learning, Proc. 25th IEEE Int. Conf. on Requirements Engineering (RE), Lisbon, 2017, pp. 490–495.

  20. Lehtinen, T.O.A., Mäntylä, M.V., Vanhanen, J., Itkonen, J., and Lassenius, C., Perceived causes of software project failures–an analysis of their relationships, Inf. Software Technol., 2014, vol. 56, pp. 623–643.

    Article  Google Scholar 

  21. Menzies, T., Caglayan, B., Kocaguneli, E., Krall, J., Peters, F., and Turhan, B., The Promise Repository of Empirical Software Engineering Data, 2012.

  22. Mikolov, T., Statistical language models based on neural networks, Presentation at Google, Mountain View, Apr. 2, 2012, vol. 80.

  23. Mikolov, T., Sutskever, I., Chen, K., Corrado, G.S., and Dean, J., Distributed representations of words and phrases and their compositionality, Proc. 26th Int. Conf. on Neural Information Processing Systems NIPS’13, Lake Tahoe, NV, 2013, pp. 3111–3119.

  24. Niu, N., Brinkkemper, S., Franch, X., Partanen, J., and Savolainen, J., Requirements engineering and continuous deployment, IEEE Software, 2018, vol. 35, no. 2, pp. 86–90.

    Article  Google Scholar 

  25. Pacheco, C., Garcia, I., and Reyes, M., Requirements elicitation techniques: A systematic literature review based on the maturity of the techniques, IET Software, 2018, vol. 12, pp. 365–378.

    Article  Google Scholar 

  26. Perez-Verdejo, J.M., Sánchez-García, Á.J., Ocharan-Hernández, J.O., Mezura-Montes, E., and Cortes-Verdin, K., Requirements and GitHub issues: An automated approach for quality requirements classification, Program. Comput. Software, 2021, vol. 47, pp. 704–721.

    Article  Google Scholar 

  27. Rashwan, A., Ormandjieva, O., and Witte, R., Ontology-based classification of non-functional requirements in software specifications: A new corpus and svm-based classifier, Proc. 37th IEEE Annu. Computer Software and Applications Conf. (COMPSAC), Kyoto, 2013, pp. 381–386.

  28. Rempel, P. and Mäder, P., Preventing defects: The impact of requirements traceability completeness on software quality, IEEE Trans. Software Eng., 2017, vol. 43, pp. 777–797.

    Article  Google Scholar 

  29. Ryan, K., The role of natural language in requirements engineering, Proc. IEEE Int. Symp. on Requirements Engineering, San Diego, 1993, pp. 240–242.

  30. Shirabad, S. and Menzies, J.T.J., The PROMISE Repository of Software Engineering Databases, 2005. http://promise.site.uottawa.ca/SERepository

  31. Shanyour, B.A.Q., Global software development and its impact on software quality, Proc. 5th Int. Symp. on Innovation in Information and Communication Technology (ISIICT), Amman, 2018, pp. 1–6.

  32. Sommerville, I., Software Engineering, 9th ed., Pearson, 2011;

    Google Scholar 

  33. Van Hulse, J., Khoshgoftaar, T.M., and Napolitano, A., Experimental perspectives on learning from imbalanced data, Proc. 24th Int. Conf. on Machine Learning, Corvalis, 2007, pp. 935–942.

  34. Winkler, J. and Vogelsang, A., Automatic classification of requirements based on convolutional neural networks, Proc. 24th IEEE Int. Requirements Engineering Conf. Workshops (REW), Beijing, 2016, pp. 39–45.

Download references

Funding

This work was supported by ongoing institutional funding. No additional grants to carry out or direct this particular research were obtained.

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to S. E. Martínez García, C. Alberto Fernández-y-Fernández or E. G. Ramos Pérez.

Ethics declarations

The authors declare that they have no conflicts of interest.

Additional information

Publisher’s Note.

Pleiades Publishing remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

García, S.E., Fernández-y-Fernández, C.A. & Pérez, E.G. Classification of Non-functional Requirements Using Convolutional Neural Networks. Program Comput Soft 49, 705–711 (2023). https://doi.org/10.1134/S0361768823080133

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1134/S0361768823080133

Keywords:

Navigation