Abstract
Identification of non-functional requirements in an early phase of software development process is crucial for creating a proper software design. These requirements are often neglected or given in too general forms. However, interviews and other sources of requirements often include important references also to non-functional requirements which are embedded in a bigger textual context. The non-functional requirements have to be extracted from these contexts and should be presented in a formulated and standardized way to support software design. The set of requirements extracted from their textual context have to be classified to formalize them. This task is to be accomplished manually but it can be very demanding and error-prone. Several attempts have been made to support identification and classification tasks using supervised and semi-supervised learning processes. These efforts have achieved remarkable results. Researchers were mainly focused on the performance of classification measured by precision and recall. However, creating a tool which can support business analysts with their requirements elicitation tasks, execution time is also an important factor which has to be taken into account. Knowing the performance and the results of benchmarks can help business analysts to choose a proper method for their classification tasks. Our study presented in this article focuses on both the comparison of performances of the classification processes and their execution time to support the choice among the methods.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Glinz, M.: On non-functional requirements. In: 15th IEEE International Requirements Engineering Conference (RE 2007), pp. 21–26. IEEE, October 2007
Firesmith, D.: Common requirements problems, their negative consequences, and the industry best practices to help solve them. J. Object Technol. 6(1), 17–33 (2007)
Ambriola, V., Gervasi, V.: Processing natural language requirements. In: Proceedings 12th IEEE International Conference Automated Software Engineering, pp. 36–45. IEEE Computer Society (1997)
Li, Y., Guzman, E., Tsiamoura, K., Schneider, F., Bruegge, B.: Automated requirements extraction for scientific software. Procedia Comput. Sci. 51, 582–591 (2015)
Rashwan, A., Ormandjieva, O., Witte, R.: Ontology-based classification of non-functional requirements in software specifications: a new corpus and SVM-based classifier. In: 2013 IEEE 37th Annual Computer Software and Applications Conference, pp. 381–386. IEEE, July 2013
Al Balushi, T.H., Sampaio, P.R.F., Dabhi, D., Loucopoulos, P.: ElicitO: a quality ontology-guided NFR elicitation tool. In: Sawyer, P., Paech, B., Heymans, P. (eds.) REFSQ 2007. LNCS, vol. 4542, pp. 306–319. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-73031-6_23
Lu, M., Liang, P.: Automatic classification of non-functional requirements from augmented app user reviews. In: Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering - EASE 2017, pp. 344–353. ACM Press, New York (2017)
Abad, Z.S.H., Karras, O., Ghazi, P., Glinz, M., Ruhe, G., Schneider, K.: What works better? A study of classifying requirements. In: Proceedings - 2017 IEEE 25th International Requirements Engineering Conference, RE 2017, pp. 496–501, July 2017
Casamayor, A., Godoy, D., Campo, M.: Identification of non-functional requirements in textual specifications: a semi-supervised learning approach. Inf. Softw. Technol. 52(4), 436–445 (2010)
Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., Duchesnay, E.: Scikit-learn: machine learning in Python. J. Mach. Learn. Res. 12, 2825–2830 (2011)
Menzies, T., Caglayan, B., Kocaguneli, E., Krall, J., Peters, F., Turhan, B.: The promise repository of empirical software engineering data (2012)
Chung, L., Nixon, B.A., Yu, E., Mylopoulos, J.: Non-Functional Requirements in Software Engineering. Kluwer Academic Publishers, Boston/Dordrecht/London (2000)
Mairiza, D., Zowghi, D., Nurmuliani, N.: An investigation into the notion of non-functional requirements. In: Proceedings of the 2010 ACM Symposium on Applied Computing - SAC 2010, p. 311. ACM Press (2010)
Cleland-Huang, J., Settimi, R., Zou, X., Solc, P.: Automated classification of non-functional requirements. Requir. Eng. 12(2), 103–120 (2007)
Slankas, J., Williams, L.: Automated extraction of non-functional requirements in available documentation. In: 2013 1st International Workshop on Natural Language Analysis in Software Engineering (NaturaLiSE), pp. 9–16. IEEE, May 2013
Casamayor, A., Godoy, D., Campo, M.: Functional grouping of natural language requirements for assistance in architectural software design. Knowl.-Based Syst. 30, 78–86 (2012)
Zou, X., Settimi, R., Cleland-Huang, J.: Improving automated requirements trace retrieval: a study of term-based enhancement methods. Empir. Softw. Eng. 15(2), 119–146 (2010)
Mahmoud, A.: An information theoretic approach for extracting and tracing non-functional requirements. In: 2015 IEEE 23rd International Requirements Engineering Conference (RE), pp. 36–45. IEEE, August 2015
Mahmoud, A., Williams, G.: Detecting, classifying, and tracing non-functional software requirements. Requir. Eng. 21(3), 357–381 (2016)
Hindle, A., Ernst, N.A., Godfrey, M.W., Mylopoulos, J.: Automated topic naming. Empir. Softw. Eng. 18(6), 1125–1155 (2013)
Falessi, D., Cantone, G., Canfora, G.: A comprehensive characterization of NLP techniques for identifying equivalent requirements. In: Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement - ESEM 2010, p. 1. ACM Press (2010)
Sharma, V.S., Ramnani, R.R., Sengupta, S.: A framework for identifying and analyzing non-functional requirements from text categories and subject descriptors. In: Proceedings of the 4th International Workshop on Twin Peaks of Requirements and Architecture, pp. 1–8. ACM Press, New York (2014)
Sawyer, P., Rayson, P., Garside, R.: REVERE: support for requirements synthesis from documents. Inf. Syst. Front. 4(3), 343–353 (2002)
Denger, C., Berry, D.M., Kamsties, E.: Higher quality requirements specifications through natural language patterns. In: Proceedings - IEEE International Conference on Software- Science, Technology and Engineering, SwSTE 2003, pp. 80–90. IEEE Computer Society (2003)
Paixao, K.V., Felicio, C.Z., Delfim, F.M., Maia, M.D.A.: On the interplay between non-functional requirements and builds on continuous integration. In: IEEE International Working Conference on Mining Software Repositories, pp. 479–482. IEEE, May 2017
Acknowledgements
The project has been supported by the European Union, co-financed by the European Social Fund (EFOP-3.6.3-VEKOP-16-2017-00002).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Tóth, L., Vidács, L. (2018). Study of Various Classifiers for Identification and Classification of Non-functional Requirements. In: Gervasi, O., et al. Computational Science and Its Applications – ICCSA 2018. ICCSA 2018. Lecture Notes in Computer Science(), vol 10964. Springer, Cham. https://doi.org/10.1007/978-3-319-95174-4_39
Download citation
DOI: https://doi.org/10.1007/978-3-319-95174-4_39
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-95173-7
Online ISBN: 978-3-319-95174-4
eBook Packages: Computer ScienceComputer Science (R0)