Skip to main content
Log in

Extraction of non-functional requirement using semantic similarity distance

  • Original Article
  • Published:
Neural Computing and Applications Aims and scope Submit manuscript

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

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

Similar content being viewed by others

Notes

  1. https://cloud.google.com/vision/.

  2. https://cloud.google.com/speech/.

  3. https://cchit.org.

  4. https://github.com/RealsearchGroup/NFRLocator.

  5. https://code.google.com/archive/p/word2vec/.

  6. https://groups.google.com/forum/#!topic/gensim/MJWrDw_IvXw.

  7. https://github.com/idio/wiki2vec.

References

  1. 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

  2. Hoskinson C (2011) Army’s faulty computer system hurts operations. Politico

  3. Bertman J, Skolnik N, Anderson J (2010) EHrs get a failing grade on usability. Intern Med News 43(11):50

    Article  Google Scholar 

  4. Bajpai V, Gorthi RP (2012) On non-functional requirements: a survey. In: 2012 IEEE students’ conference on electrical, electronics and computer science (SCEECS), IEEE

  5. Boehm B, In H (1996) Identifying quality-requirement conflicts. IEEE Softw 13(2):25–35

    Article  Google Scholar 

  6. 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

  7. Nuseibeh B (2001) Weaving together requirements and architectures. Computer 34(3):115–119

    Article  Google Scholar 

  8. Arbain AFB, Ghani I, Kadir WMNW (2014) Agile non functional requiremnents (NFR) traceability metamodel. In: 2014 8th Malaysian software engineering conference (MySEC), IEEE

  9. 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

  10. 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

  11. 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

    Article  Google Scholar 

  12. Cleland-Huang J et al (2007) Automated classification of non-functional requirements. Requir Eng 12(2):103–120

    Article  Google Scholar 

  13. 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

  14. Gross D, Yu E (2001) From non-functional requirements to design through patterns. Requir Eng 6(1):18–36

    Article  Google Scholar 

  15. Cysneiros LM, do Prado Leite JCS (2004) Nonfunctional requirements: from elicitation to conceptual models. IEEE Trans Softw Eng 30(5):328–350

    Article  Google Scholar 

  16. Chen P-I, Lin S-J (2010) Automatic keyword prediction using Google similarity distance. Expert Syst Appl 37(3):1928–1938

    Article  Google Scholar 

  17. Abad ZSH et al (2017) What works better? a study of classifying requirements. In: 2017 IEEE 25th international requirements engineering conference (RE), IEEE

  18. 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

  19. 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

    Book  Google Scholar 

  20. Luisa M, Mariangela F, Pierluigi NI (2004) Market research for requirements analysis using linguistic tools. Requir Eng 9(1):40–56

    Article  Google Scholar 

  21. 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

  22. Younas M et al (2017) Non-functional requirements elicitation guideline for agile methods. J Telecommun Electr Comput Eng (JTEC) 9(3-4):137–142

    Google Scholar 

  23. Cilibrasi RL, Vitanyi PM (2007) The google similarity distance. IEEE Trans Knowl Data Eng 19(3):370–383

    Article  Google Scholar 

  24. 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

  25. Handler A (2014) An empirical study of semantic similarity in WordNet and Word2Vec

  26. Mahmoud A, Niu N (2015) On the role of semantics in automated requirements tracing. Requir Eng 20(3):281–300

    Article  Google Scholar 

  27. 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

  28. Browne J (2008) Systemic Requirements. http://www.julianbrowne.com/article/systemic-requirements. Accessed 5 Feb 2018

  29. 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

  30. Chung L et al (2012) Non-functional requirements in software engineering, vol 5. Springer, New York

    Google Scholar 

  31. Allahyari M et al (2017) A brief survey of text mining: classification, clustering and extraction techniques. arXiv preprint arXiv:1707.02919

  32. Mahmoud A, Williams G (2016) Detecting, classifying, and tracing non-functional software requirements. Requir Eng 23(3):357–381

    Article  Google Scholar 

  33. PROMISE (2010) PROMISE Software Engineering Repository data set

  34. Mahmoud A (2015) An information theoretic approach for extracting and tracing non-functional requirements. In: 2015 IEEE 23rd international requirements engineering conference (RE), IEEE

  35. 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

  36. 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)

  37. 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

  38. 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

  39. Rosenhainer L (2004) Identifying crosscutting concerns in requirements specifications. In: Proceedings of OOPSLA Early Aspects

  40. Yan X et al (2013) A biterm topic model for short texts. In: Proceedings of the 22nd international conference on World Wide Web, ACM

  41. 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

  42. Deerwester S et al (1990) Indexing by latent semantic analysis. J Am Soc Inf Sci 41(6):391

    Article  Google Scholar 

  43. Dumais ST (2004) Latent semantic analysis. Ann Rev Inf Sci Technol 38(1):188–230

    Article  Google Scholar 

  44. Goldberg Y, Levy O (2014) word2vec explained: deriving Mikolov et al.’s negative-sampling word-embedding method. arXiv preprint arXiv:1402.3722

  45. Grefenstette G, Muchemi L (2016) Determining the characteristic vocabulary for a specialized dictionary using word2vec and a directed crawler. arXiv preprint arXiv:1605.09564

  46. 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

  47. Mikolov T et al (2013) Efficient estimation of word representations in vector space. arXiv preprint arXiv:1301.3781

  48. Collobert R et al (2011) Natural language processing (almost) from scratch. J Mach Learn Res 12:2493–2537

    MATH  Google Scholar 

  49. 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)

  50. Eugene F (1987) Taxicab geometry. Dover Publications, Great Britain

    Google Scholar 

  51. 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

Download references

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

Authors

Corresponding author

Correspondence to Muhammad Younas.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00521-019-04226-5

Keywords

Navigation