Abstract
Functional and non-functional requirements are important equally in software development. Usually, the requirements are expressed in natural languages. The functional and non-functional requirements are written inter-mixed in software requirement document. The extraction of requirement from the software requirement document is a challenging task. Most of the recent studies adopted a supervised learning approach for the extraction of non-functional requirements. However, there is a drawback of supervised learning such as training of model and retrain if the domain changed. The proposed approach manipulates the textual semantic of functional requirements to identify the non-functional requirements. The semantic similarity is calculated based on co-occurrence of patterns in large human knowledge repositories of Wikipedia. This study finds the similarity distance between the popular indicator keywords and requirement statements to identify the type of non-functional requirement. The proposed approach is applied to PROMISE “NFR dataset.” The performance of the proposed approach is measured in terms of precision, recall and F-measure. Furthermore, the research applies three pre-processing approaches (traditional, part of speech tagging and word augmentation) to increase the performance of NFR extraction. The proposed approach outperforms the results of existing studies.
Similar content being viewed by others
References
Maiti RR, Mitropoulos FJ (2015) Capturing, eliciting, predicting and prioritizing (CEPP) non-functional requirements metadata during the early stages of agile software development. In: SoutheastCon 2015, IEEE
Hoskinson C (2011) Army’s faulty computer system hurts operations. Politico
Bertman J, Skolnik N, Anderson J (2010) EHrs get a failing grade on usability. Intern Med News 43(11):50
Bajpai V, Gorthi RP (2012) On non-functional requirements: a survey. In: 2012 IEEE students’ conference on electrical, electronics and computer science (SCEECS), IEEE
Boehm B, In H (1996) Identifying quality-requirement conflicts. IEEE Softw 13(2):25–35
Slankas J, Williams L (2013). Automated extraction of non-functional requirements in available documentation. In: 2013 1st international workshop on natural language analysis in software engineering (NaturaLiSE), IEEE
Nuseibeh B (2001) Weaving together requirements and architectures. Computer 34(3):115–119
Arbain AFB, Ghani I, Kadir WMNW (2014) Agile non functional requiremnents (NFR) traceability metamodel. In: 2014 8th Malaysian software engineering conference (MySEC), IEEE
Kaiya H, Osada A, Kaijiri K (2004) Identifying stakeholders and their preferences about NFR by comparing use case diagrams of several existing systems. In: 2004 Proceedings 12th IEEE international requirements engineering conference, IEEE
Cleland-Huang J et al (2006) The detection and classification of non-functional requirements with application to early aspects. In: 14th IEEE international conference requirements engineering, IEEE
Casamayor A, Godoy D, Campo M (2010) Identification of non-functional requirements in textual specifications: a semi-supervised learning approach. Inf Softw Technol 52(4):436–445
Cleland-Huang J et al (2007) Automated classification of non-functional requirements. Requir Eng 12(2):103–120
Ernst NA, Mylopoulos J (2010) On the perception of software quality requirements during the project lifecycle. In: International working conference on requirements engineering: foundation for software quality, Springer
Gross D, Yu E (2001) From non-functional requirements to design through patterns. Requir Eng 6(1):18–36
Cysneiros LM, do Prado Leite JCS (2004) Nonfunctional requirements: from elicitation to conceptual models. IEEE Trans Softw Eng 30(5):328–350
Chen P-I, Lin S-J (2010) Automatic keyword prediction using Google similarity distance. Expert Syst Appl 37(3):1928–1938
Abad ZSH et al (2017) What works better? a study of classifying requirements. In: 2017 IEEE 25th international requirements engineering conference (RE), IEEE
Lu M, Liang P (2017) 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, ACM
Chung L, do Prado Leite JCS (2009) On non-functional requirements in software engineering, in conceptual modeling: foundations and applications. Springer, Berlin, pp 363–379
Luisa M, Mariangela F, Pierluigi NI (2004) Market research for requirements analysis using linguistic tools. Requir Eng 9(1):40–56
Dörr J et al (2003) Eliciting efficiency requirements with use cases. In: Ninth international workshop on requirements engineering: foundation for software quality. In conjunction with CAiSE
Younas M et al (2017) Non-functional requirements elicitation guideline for agile methods. J Telecommun Electr Comput Eng (JTEC) 9(3-4):137–142
Cilibrasi RL, Vitanyi PM (2007) The google similarity distance. IEEE Trans Knowl Data Eng 19(3):370–383
Ling W et al (2015) Two/too simple adaptations of word2vec for syntax problems. In: Proceedings of the 2015 conference of the north american chapter of the association for computational linguistics: human language technologies
Handler A (2014) An empirical study of semantic similarity in WordNet and Word2Vec
Mahmoud A, Niu N (2015) On the role of semantics in automated requirements tracing. Requir Eng 20(3):281–300
Versionone (2015) 7th ANNUAL STATE of AGILE VERSIONONE® Agile Made Easier DEVELOPMENT SURVEY. [12/01/2015]; http://www.versionone.com/pdf/7th-Annual-State-of-Agile-Development-Survey.pdf
Browne J (2008) Systemic Requirements. http://www.julianbrowne.com/article/systemic-requirements. Accessed 5 Feb 2018
Kannan N (2012) 6 Ways the Cloud Enhances Agile Software Development. [2-1-2016]; http://www.cio.com/article/2393022/enterprise-architecture/6-ways-the-cloud-enhances-agile-software-development.html
Chung L et al (2012) Non-functional requirements in software engineering, vol 5. Springer, New York
Allahyari M et al (2017) A brief survey of text mining: classification, clustering and extraction techniques. arXiv preprint arXiv:1707.02919
Mahmoud A, Williams G (2016) Detecting, classifying, and tracing non-functional software requirements. Requir Eng 23(3):357–381
PROMISE (2010) PROMISE Software Engineering Repository data set
Mahmoud A (2015) An information theoretic approach for extracting and tracing non-functional requirements. In: 2015 IEEE 23rd international requirements engineering conference (RE), IEEE
Farid WM (2012) The Normap methodology: lightweight engineering of non-functional requirements for agile processes. In: 2012 19th Asia-Pacific software engineering conference (APSEC), IEEE
Zhang W et al (2011) An empirical study on classification of non-functional requirements. In: The twenty-third international conference on software engineering and knowledge engineering (SEKE 2011)
Brill E (1992) A simple rule-based part of speech tagger. In: Proceedings of the third conference on applied natural language processing. Association for Computational Linguistics
Organización Internacional de Normalización, ISO-IEC 25010: 2011 systems and software engineering-systems and software quality requirements and evaluation (SQuaRE)-system and software quality Models2011: ISO
Rosenhainer L (2004) Identifying crosscutting concerns in requirements specifications. In: Proceedings of OOPSLA Early Aspects
Yan X et al (2013) A biterm topic model for short texts. In: Proceedings of the 22nd international conference on World Wide Web, ACM
Mazarura J, de Waal A (2016) A comparison of the performance of latent Dirichlet allocation and the Dirichlet multinomial mixture model on short text. In: Pattern recognition association of south africa and robotics and mechatronics international conference (PRASA-RobMech), 2016. IEEE
Deerwester S et al (1990) Indexing by latent semantic analysis. J Am Soc Inf Sci 41(6):391
Dumais ST (2004) Latent semantic analysis. Ann Rev Inf Sci Technol 38(1):188–230
Goldberg Y, Levy O (2014) word2vec explained: deriving Mikolov et al.’s negative-sampling word-embedding method. arXiv preprint arXiv:1402.3722
Grefenstette G, Muchemi L (2016) Determining the characteristic vocabulary for a specialized dictionary using word2vec and a directed crawler. arXiv preprint arXiv:1605.09564
Lilleberg J, Zhu Y, Zhang Y (2015) Support vector machines and word2vec for text classification with semantic features. In: 2015 IEEE 14th international conference on cognitive informatics & cognitive computing (ICCI* CC), IEEE
Mikolov T et al (2013) Efficient estimation of word representations in vector space. arXiv preprint arXiv:1301.3781
Collobert R et al (2011) Natural language processing (almost) from scratch. J Mach Learn Res 12:2493–2537
Chen D, Manning C (2014) A fast and accurate dependency parser using neural networks. In: Proceedings of the 2014 conference on empirical methods in natural language processing (EMNLP)
Eugene F (1987) Taxicab geometry. Dover Publications, Great Britain
Hussain I, Kosseim L, Ormandjieva O (2008) Using linguistic knowledge to classify non-functional requirements in SRS documents. In: international conference on application of natural language to information systems, Springer
Acknowledgements
We are thankful to the Ministry of Science, Technology and Innovation (MOSTI) to support this research under eScience grant vote: 4S113 and UTM-TDR grant vote: 06G23.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
We are the authors and confirm that there is no conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Younas, M., Jawawi, D.N.A., Ghani, I. et al. Extraction of non-functional requirement using semantic similarity distance. Neural Comput & Applic 32, 7383–7397 (2020). https://doi.org/10.1007/s00521-019-04226-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00521-019-04226-5