Abstract
Automatic classification of software requirements is an active research area; it can alleviate the tedious task of manual labeling and improves transparency in the requirements engineering process. Several attempts have been made towards the identification and classification by type of functional requirements (FRs) as well as non-functional requirements (NFRs). Previous work in this area suffers from misclassification. This study investigates issues with NFRs in particular the limitations of existing methods in the classification of NFRs. The goal of this work is to minimize misclassification and help stakeholders consider NFRs in early phases of development through automatically classifying requirements. In this study, we have proposed an improved requirement detection and classification technique. The following summarizes the proposed approach:
(a) A newly created labelled corpus,
(b) Textual semantics to augment user requirements by word2vec for automatically extracting features, and
(c) A convolution neural network-based multi-label requirement classifier that classifies NFRs into five classes: reliability, efficiency, portability, usability, and maintainability.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Ibrahim, N., Wan Kadir, W.M.N., Deris, S.: Documenting requirements specifications using natural language requirements boilerplates. In: 2014 8th Malaysian Software Engineering Conference (MySEC), Langkawi, Malaysia, pp. 19–24. IEEE (2014)
Khatter, K., Kalia, A.: Impact of non-functional requirements on requirements evolution. In: 2013 6th International Conference on Emerging Trends in Engineering and Technology, Nagpur, India, pp. 61–68. IEEE (2013)
Mijanur Rahman, Md., Ripon, S.: Elicitation and modeling non-functional requirements – a POS case study. Int. J. Future Comput. Commun. 485–489 (2013). https://doi.org/10.7763/IJFCC.2013.V2.211
Hussain, A., Mkpojiogu, E.O.C., Kamal, F.M.: The role of requirements in the success or failure of software projects. Int. Rev. Manage. Mark. 6(7), 306–311 (2016)
Younas, M., Wakil, K.N.D., Arif, M., Mustafa, A.: An automated approach for identification of non-functional requirements using Word2Vec model. Int. J. Adv. Comput. Sci. Appl. 10 (2019). https://doi.org/10.14569/IJACSA.2019.0100871
Glinz, M.: On non-functional requirements. In: 15th IEEE International Requirements Engineering Conference (RE 2007), Delhi, pp. 21–26. IEEE (2007)
Berntsson Svensson, R., Gorschek, T., Regnell, B.: Quality requirements in practice: an interview study in requirements engineering for embedded systems. In: Proceedings of the 15th International Working Conference on Requirements Engineering: Foundation for Software Quality. pp. 218–232. Springer, Heidelberg (2009)
Zhang, M.-L., Zhou, Z.-H.: A review on multi-label learning algorithms. IEEE Trans. Knowl. Data Eng. 26, 1819–1837 (2014). https://doi.org/10.1109/TKDE.2013.39
Helmy, W., Kamel, A., Hegazy, O.: Requirements engineering methodology in agile. Environment 9, 8 (2012)
Khan, F., Jan, S.R., Tahir, M., Khan, S., Ullah, F.: Survey: dealing non-functional requirements at architecture level. VFAST Trans. Softw. Eng. 9, 7 (2016). https://doi.org/10.21015/vtse.v9i2.410
Binkhonain, M., Zhao, L.: A review of machine learning algorithms for identification and classification of non-functional requirements. Expert Syst. Appl. X 1, 100001 (2019). https://doi.org/10.1016/j.eswax.2019.100001
Gries, S.Th., Berez, A.L.: Linguistic annotation in/for corpus linguistics. In: Ide, N., Pustejovsky, J. (eds.) Handbook of Linguistic Annotation, pp. 379–409. Springer, Netherlands, Dordrecht (2017)
Robinson, W.N.: Two rule-based natural language strategies for requirements discovery and classification in open source software development projects (2012). https://doi.org/10.2753/MIS0742-1222280402
Sharma, V.S., Ramnani, R.R., Sengupta, S.: A framework for identifying and analyzing non- functional requirements from text (2014). https://doi.org/10.1145/2593861.2593862
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 2013 – Proceedings, pp. 9–16 (2013). https://doi.org/10.1109/NAturaLiSE.2013.6611715
Abad, Z.S.H., Karras, O., Ghazi, P., Glinz, M., Ruhe, G., Schneider, K.: What works better? A study of classifying requirements. In: 2017 IEEE 25th International Requirements Engineering Conference (RE), pp. Lisbon, Portugal. pp. 496–501. IEEE (2017)
Sunner, D., Bajaj, H.: Classification of functional and non-functional requirements in agile by cluster neuro-genetic approach. Int. J. Softw. Eng. Appl. 10, 129–138 (2016). https://doi.org/10.14257/ijseia.2016.10.10.13
Casamayor, A., Godoy, D., Campo, M.: Identification of non-functional requirements in textual specifications: A semi-supervised learning approach. Inf. Softw. Technol. 52, 436–445 (2010). https://doi.org/10.1016/j.infsof.2009.10.010
Hussain, I., Kosseim, L., Ormandjieva, O.: Using linguistic knowledge to classify non-functional requirements in SRS documents. In: Kapetanios, E., Sugumaran, V., Spiliopoulou, M. (eds.) Natural Language and Information Systems, pp. 287–298. Springer, Heidelberg (2008)
Mahmoud, M.: Software requirements classification using natural language processing and SVD. Int. J. Comput. Appl. 164, 7–12 (2017). https://doi.org/10.5120/ijca2017913555
Cleland-Huang, J., Settimi, R., Zou, X., Solc, P.: Automated classification of non-functional requirements. Requirements Eng. 12, 103–120 (2007). https://doi.org/10.1007/s00766-007-0045-1
Tsai, C.-F.: Bag-of-words representation in image annotation: a review. ISRN Artif. Intell. 2012, 1–19 (2012). https://doi.org/10.5402/2012/376804
Zhang, W., Yang, Y., Wang, Q., Shu, F.: An empirical study on classification of non-functional requirements. In: Proceedings of the 23rd International Conference on Software Engineering & Knowledge Engineering (SEKE 2011) (2011)
Chong, T.Y., Banchs, R.E., Chng, E.S., Li, H.: Modeling of term-distance and term-occurrence information for improving n-gram language model performance, p. 5 (2013)
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, Karlskrona, Sweden, pp. 344–353. ACM Press (2017)
Kurtanovic, Z., Maalej, W.: Automatically classifying functional and non-functional requirements using supervised machine learning. In: 2017 IEEE 25th International Requirements Engineering Conference (RE), Lisbon, Portugal, pp. 490–495. IEEE (2017)
Baker, C., Deng, L., Chakraborty, S., Dehlinger, J.: Automatic multi-class non-functional software requirements classification using neural networks. In: 2019 IEEE 43rd Annual Computer Software and Applications Conference (COMPSAC), Milwaukee, WI, USA, pp. 610–615. IEEE (2019)
Roh, Y., Heo, G., Whang, S.E.: A survey on data collection for machine learning: a big data - AI integration perspective. arXiv:1811.03402 [cs, stat] (2018)
Tsoumakas, G., Katakis, I.: Multi-label classification: an overview. Int. J. Data Warehouse. Min. 3, 1–13 (2007). https://doi.org/10.4018/jdwm.2007070101
Cleland-Huang, J., Settimi, R., Xuchang, Z., Solc, P.: The detection and classification of non-functional requirements with application to early aspects. In: 14th IEEE International Requirements Engineering Conference (RE 2006), Minneapolis/St. Paul, MN, pp. 39–48. IEEE (2006)
Ormandjieva, O.: Ontology-based classification of non-functional requirements in software specifications: a new corpus and svm-based classifier (2013). https://doi.org/10.1109/COMPSAC.2013.64
Singh, P., Singh, D., Sharma, A.: Rule-based system for automated classification of non-functional requirements from requirement specifications. In: 2016 International Conference on Advances in Computing, Communications and Informatics (ICACCI), Jaipur, India, pp. 620–626. IEEE (2016)
Mahmoud, A., Williams, G.: Detecting, classifying, and tracing non-functional software requirements. Requirements Eng. 21, 357–381 (2016). https://doi.org/10.1007/s00766-016-0252-8
Miguel, J.P., Mauricio, D., Rodríguez, G.: A review of software quality models for the evaluation of software products. Int. J. Softw. Eng. Appl. 5, 31–53 (2014). https://doi.org/10.5121/ijsea.2014.5603
Pustejovsky, J., Stubbs, A.: Natural Language Annotation for Machine Learning. O’Reilly Media, Sebastopol (2013)
Hinze, A., Heese, R., Luczak-Rösch, M., Paschke, A.: Semantic enrichment by non-experts: usability of manual annotation tools. In: Cudré-Mauroux, P., Heflin, J., Sirin, E., Tudorache, T., Euzenat, J., Hauswirth, M., Parreira, J.X., Hendler, J., Schreiber, G., Bernstein, A., Blomqvist, E. (eds.) The Semantic Web – ISWC 2012, pp. 165–181. Springer, Heidelberg (2012)
Nematzadeh, A., Meylan, S.C., Griffiths, T.L.: Evaluating vector-space models of word representation, or, the unreasonable effectiveness of counting words near other words. p. 6 (2017)
Mikolov, T., Chen, K., Corrado, G., Dean, J.: Efficient estimation of word representations in vector space. arXiv:1301.3781 [cs] (2013)
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Sabir, M., Chrysoulas, C., Banissi, E. (2020). Multi-label Classifier to Deal with Misclassification in Non-functional Requirements. In: Rocha, Á., Adeli, H., Reis, L., Costanzo, S., Orovic, I., Moreira, F. (eds) Trends and Innovations in Information Systems and Technologies. WorldCIST 2020. Advances in Intelligent Systems and Computing, vol 1159. Springer, Cham. https://doi.org/10.1007/978-3-030-45688-7_49
Download citation
DOI: https://doi.org/10.1007/978-3-030-45688-7_49
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-45687-0
Online ISBN: 978-3-030-45688-7
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)