Skip to main content

The Applications of Natural Language Processing (NLP) for Software Requirement Engineering - A Systematic Literature Review

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Electrical Engineering ((LNEE,volume 424))

Abstract

Natural Language Processing (NLP) is a well-known technique of artificial intelligence to extract the elements of concerns from raw plain text information. It can be utilized to process the early software requirements in order to achieve the goals like requirement prioritization and classification (functional and non-functional). To the best of our knowledge, no research work is available yet to examine and summarize the utilization of NLP in the domain of Software Requirement Engineering (SRE). Therefore, in this paper, we investigate the applications of NLP in the context of SRE. A Systematic Literature Review (SLR) is carried out to select 27 studies published during 2002–2016. Consequently, 6 NLP techniques and 14 existing tools are identified. Furthermore, 9 tools and 2 algorithms, proposed by the researchers, are presented. It has been concluded that the NLP techniques and tools are highly supportive to accelerate the SRE process. However, some manual operations are still required on initial plain text software requirements before applying the desired NLP techniques.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   259.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   329.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   329.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Ryan, K.: The role of natural language in requirement engineering. In: IEEE International System Requirement Engineering (1993)

    Google Scholar 

  2. Binkley, D., Lawrie, D.: Information Retrieval Applications in Software Maintenance and Evolution (2010)

    Google Scholar 

  3. Funke, M.H., Sauer, S., Engels, G., Guldali, B.: Semi-automated test planning for e-ID systems by using requirements clustering. In: Automated Software Engineering (2009)

    Google Scholar 

  4. Frakes, W.B., Nejmeh, B.A.: SIGIR Forum, vol. 21, pp. 30–36 (1987)

    Google Scholar 

  5. Berry, D.M., Kaiser, G.E., Maarek, Y.S.: An information retrieval approach for automatically constructing software libraries. IEEE Trans. Softw. Eng. 17, 800–813 (1991)

    Article  Google Scholar 

  6. Yue, T., Briand, L.C., Labiche, Y.: A systematic review of transformation approaches between user requirements and analysis models. Requir. Eng. 16, 75–99 (2010)

    Article  Google Scholar 

  7. Paech, B., Martell, C. (eds.): Innovations for Requirement Analysis. From Stakeholders’ Needs to Formal Designs. Springer, Berlin, Heidelberg (2008)

    Google Scholar 

  8. Kiyavitskaya, N., Zeni, N., Mich, L., Berry, D.M.: Requirements for tools for ambiguity identification and measurement in natural language requirements specifications. Requir. Eng. 13, 207–239 (2008)

    Article  Google Scholar 

  9. Nuseibeh, B., de Roeck, A., Francis, A.W.C.: Identifying nocuous ambiguities in natural language requirements. In: 14th IEEE International Conference Requirements Engineering, pp. 59–68 (2006)

    Google Scholar 

  10. Yang, H., Willis, A., De Roeck, A., Nuseibeh, B.: Automatic detection of nocuous coordination ambiguities in natural language requirements. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering (2010)

    Google Scholar 

  11. Weber-Jahnke, J.H., Onabajo, A.: Finding defects in natural language confidentiality requirements. In: Proceedings of the 17th IEEE International Conference on Requirements Engineering (2009)

    Google Scholar 

  12. De Lucia, A., Oliveto, R., Sgueglia, P.: Incremental approach and user feedbacks: a silver bullet for traceability recovery. In: Proceedings of the 22nd IEEE International Conference on Software Maintenance (2006)

    Google Scholar 

  13. De Lucia, A., Oliveto, R., Tortora, G.: Assessing IR-based traceability recovery tools through controlled experiments. Empirical Softw. Eng. 14, 57–92 (2009)

    Article  Google Scholar 

  14. Sultanov, H., Hayes, J.H., Kong, W.-K.: Application of swarm techniques to requirements engineering: requirements tracing. In: Proceedings of the IEEE International Conference on Requirements Engineering (2010)

    Google Scholar 

  15. Sundaram, S.K., Hayes, J.H., Dekhtyar, A., Holbrook, E.A.: Assessing traceability of software engineering artifacts. Requir. Eng. J. 15, 313–335 (2010)

    Article  Google Scholar 

  16. Duan, C., Cleland-Huang, J.: Clustering support for automated tracing. In: Proceedings of the 22nd IEEE/ACM International Conference on Automated Software Engineering (2007)

    Google Scholar 

  17. Zou, X., Settimi, R., Cleland-Huang, J.: Term-based enhancement factors for improving automated requirement trace retrieval. In: Proceedings of the International Symposium on Grand Challenge in Traceability (2007)

    Google Scholar 

  18. Lormans, M., van Deursen, A.: Can LSI help reconstructing requirements traceability in design and test? In: Proceedings of the International Conference on Software Maintenance and Reengineering (2006)

    Google Scholar 

  19. Falessi, D., Cantone, G., Canfora, G.: Empirical principles and an industrial case study in retrieving equivalent requirements via natural language processing techniques. IEEE Trans. Softw. Eng. 39, 18–44 (2013)

    Article  Google Scholar 

  20. Kitechenhem, B.: Procedures for Performing Systematic Reviews. Keele University (2004)

    Google Scholar 

  21. IEEE (2016). http://ieeexplore.ieee.org/

  22. ACM. http://dl.acm.org/

  23. Springer Scientific Database (2016). http://www.springer.com/

  24. Elsevier (2016). https://www.elsevier.com

  25. CodePlex. https://sharpnlp.codeplex.com/

  26. Roshni, R., Sharma, S.V.: A framework for identifying and analyzing non-functional requirements from text. In: TwinPeaks Proceedings of Requirements, pp. 1–8 (2014)

    Google Scholar 

  27. Al-Zahgoul, F.A., Hudaib, A., Abushariah, M., Alqudah, A.: A suggested framework for software requirement classification. In: IEEE 17th UKSIM-AMSS (2015)

    Google Scholar 

  28. Ilieva, M.,G., Ormandjieva, O.: Automatic transition of natural language software requirements specification into formal presentation. In: Montoyo, A., Muńoz, R., Métais, E. (eds.) NLDB 2005. LNCS, vol. 3513, pp. 392–397. Springer, Heidelberg (2005). doi:10.1007/11428817_45

    Chapter  Google Scholar 

  29. Sharma, A., Singh, D.: Natural Language based Component Extraction from Requirement Engineering Document and its Complexity Analysis (2011)

    Google Scholar 

  30. Thanwadee, C.A.: Ontology-based multiperspective requirements traceability framework. Knowl. Info. Syst. 25(3), 493–522 (2009)

    Google Scholar 

  31. Sarkani, S., Holzer, T., McZara, J.: Software requirements prioritization and selection using linguistic tools and constraint solvers a controlled experiment. Empir. Softw. Eng. 20, 1721–1766 (2014). Springer

    Google Scholar 

  32. Nordin, A., Ng, K.-Y., Lau, K.-K.: Extracting Elements of Component-Based Systems from Natural Language Requirements (2011)

    Google Scholar 

  33. Ramzan, M., Ghayyur, S.A.K., Babar, M.I.: Challenges and Future Trends in Software Requirements Prioritization (2011)

    Google Scholar 

  34. Matsuoka, J., Lepage, Y.: Ambiguity spotting using WordNet semantic similarity in support to recommended practice for software requirements specifications. In: NLP-KE (2011)

    Google Scholar 

  35. Shah, U.S., Jinwala, D.C.: Resolving ambiguities in natural language software requirements: a comprehensive survey. In: ACM SIGSOFT (2015)

    Google Scholar 

  36. Daniel, M., Berry, D., Kamsties, E., Denger, C.: Higher quality requirements specifications through natural language patterns. In: Proceedings of SwSTE (2003)

    Google Scholar 

  37. Chug, A., Hayrapetian, A., Raje, R., Malhotra, R.: Analyzing and evaluating security features in software requirements. In: ICICCS 2016 (2016)

    Google Scholar 

  38. Sabetzadeh, M., Goknil, A., Briand, L.C., Zimmer, F., Arora, C.: Change impact analysis for natural language requirements: an NLP approach. In: Requirements Engineering Conference (2015)

    Google Scholar 

  39. Sabetzadeh, M., Frank, Z., Gnaga, R., Briand, L., Arora, C.: RUBRIC: a flexible tool for automated checking of conformance to requirement boilerplates. In: Proceedings of Software Engineering (2013)

    Google Scholar 

  40. Arora, C., Sabetzadeh, M., Goknil, A., Briand, L.C., Zimmer, F.: NARCIA: an automated tool for change impact analysis in natural language requirements. In: Proceedings of Software Engineering (2015)

    Google Scholar 

  41. Feng, G., Guo, J., Jing, B.-Y., Sun, T.: Feature subset selection using naive Bayes for text classification. J. Pattern Recogn. Lett. 65, 109–115 (2015)

    Article  Google Scholar 

  42. Ormandjieva, O., Kosseim, L., Hussain, I.: Automatic quality assessment of SRS text by means of a decision-tree-based text classifier. In: Conference on Quality Software(2007)

    Google Scholar 

  43. Huertas, C., Juárez-Ramírez, R.: NLARE, a natural language processing tool for automatic requirements evaluation. In: CUBE 2012, pp. 371–378 (2012)

    Google Scholar 

  44. Rago, A., Marcos, C., Diaz-Pace, J.A.: Identifying duplicate functionality in textual use cases by aligning semantic actions. Softw. Syst. Model. 15, 579–603 (2014)

    Article  Google Scholar 

  45. Ormandjieva, O., Hussain, I., Kosseim, L.: Toward a Text Classification System for the Quality Assessment of Software Requirements Written in Natural Language (2007)

    Google Scholar 

  46. MacDonell, S.G., Min, K., Connor, A.M.: Autonomous Requirements Specification Processing Using Natural Language Processing

    Google Scholar 

  47. Nattoch Dag, J., Regnell, B., Carlshamre, P.: A feasibility study of automated natural language requirements analysis in market-driven development. Requir. Eng. 7, 20–33 (2002)

    Article  MATH  Google Scholar 

  48. Casagrande, E., Woldeamlak, S., Woon, W.L., Zeineldin, H.H., Svetinovic, D.: NLP-KAOS for systems goal elicitation: smart metering system case study. IEEE Trans. Softw. Eng. 40(10), 941 (2014)

    Article  Google Scholar 

  49. Ferrari, A., Spagnolo, G.O., Dell’Orletta, F.: Mining commonalities and variabilities from natural language documents. In: Proceedings of the 17th International Software Product Line Conference (2013)

    Google Scholar 

  50. Fatwanto, A.: Software requirements specification analysis using natural language processing. In: IEEE 2013 International Conference in QiR (Quality in Research) (2013)

    Google Scholar 

  51. Hayes, J.H., Dekhtyar, A., Holbrook, E.A.: A study of methods for textual satisfaction assessment. Empir. Softw. Eng. 18(1), 139–176 (2012)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Muhammad Waseem Anwar .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer Nature Singapore Pte Ltd.

About this paper

Cite this paper

Nazir, F., Butt, W.H., Anwar, M.W., Khan Khattak, M.A. (2017). The Applications of Natural Language Processing (NLP) for Software Requirement Engineering - A Systematic Literature Review. In: Kim, K., Joukov, N. (eds) Information Science and Applications 2017. ICISA 2017. Lecture Notes in Electrical Engineering, vol 424. Springer, Singapore. https://doi.org/10.1007/978-981-10-4154-9_56

Download citation

  • DOI: https://doi.org/10.1007/978-981-10-4154-9_56

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-10-4153-2

  • Online ISBN: 978-981-10-4154-9

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics