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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Ryan, K.: The role of natural language in requirement engineering. In: IEEE International System Requirement Engineering (1993)
Binkley, D., Lawrie, D.: Information Retrieval Applications in Software Maintenance and Evolution (2010)
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)
Frakes, W.B., Nejmeh, B.A.: SIGIR Forum, vol. 21, pp. 30–36 (1987)
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)
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)
Paech, B., Martell, C. (eds.): Innovations for Requirement Analysis. From Stakeholders’ Needs to Formal Designs. Springer, Berlin, Heidelberg (2008)
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)
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)
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)
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)
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)
De Lucia, A., Oliveto, R., Tortora, G.: Assessing IR-based traceability recovery tools through controlled experiments. Empirical Softw. Eng. 14, 57–92 (2009)
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)
Sundaram, S.K., Hayes, J.H., Dekhtyar, A., Holbrook, E.A.: Assessing traceability of software engineering artifacts. Requir. Eng. J. 15, 313–335 (2010)
Duan, C., Cleland-Huang, J.: Clustering support for automated tracing. In: Proceedings of the 22nd IEEE/ACM International Conference on Automated Software Engineering (2007)
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)
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)
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)
Kitechenhem, B.: Procedures for Performing Systematic Reviews. Keele University (2004)
IEEE (2016). http://ieeexplore.ieee.org/
ACM. http://dl.acm.org/
Springer Scientific Database (2016). http://www.springer.com/
Elsevier (2016). https://www.elsevier.com
CodePlex. https://sharpnlp.codeplex.com/
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)
Al-Zahgoul, F.A., Hudaib, A., Abushariah, M., Alqudah, A.: A suggested framework for software requirement classification. In: IEEE 17th UKSIM-AMSS (2015)
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
Sharma, A., Singh, D.: Natural Language based Component Extraction from Requirement Engineering Document and its Complexity Analysis (2011)
Thanwadee, C.A.: Ontology-based multiperspective requirements traceability framework. Knowl. Info. Syst. 25(3), 493–522 (2009)
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
Nordin, A., Ng, K.-Y., Lau, K.-K.: Extracting Elements of Component-Based Systems from Natural Language Requirements (2011)
Ramzan, M., Ghayyur, S.A.K., Babar, M.I.: Challenges and Future Trends in Software Requirements Prioritization (2011)
Matsuoka, J., Lepage, Y.: Ambiguity spotting using WordNet semantic similarity in support to recommended practice for software requirements specifications. In: NLP-KE (2011)
Shah, U.S., Jinwala, D.C.: Resolving ambiguities in natural language software requirements: a comprehensive survey. In: ACM SIGSOFT (2015)
Daniel, M., Berry, D., Kamsties, E., Denger, C.: Higher quality requirements specifications through natural language patterns. In: Proceedings of SwSTE (2003)
Chug, A., Hayrapetian, A., Raje, R., Malhotra, R.: Analyzing and evaluating security features in software requirements. In: ICICCS 2016 (2016)
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)
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)
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)
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)
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)
Huertas, C., Juárez-Ramírez, R.: NLARE, a natural language processing tool for automatic requirements evaluation. In: CUBE 2012, pp. 371–378 (2012)
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)
Ormandjieva, O., Hussain, I., Kosseim, L.: Toward a Text Classification System for the Quality Assessment of Software Requirements Written in Natural Language (2007)
MacDonell, S.G., Min, K., Connor, A.M.: Autonomous Requirements Specification Processing Using Natural Language Processing
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)
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)
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)
Fatwanto, A.: Software requirements specification analysis using natural language processing. In: IEEE 2013 International Conference in QiR (Quality in Research) (2013)
Hayes, J.H., Dekhtyar, A., Holbrook, E.A.: A study of methods for textual satisfaction assessment. Empir. Softw. Eng. 18(1), 139–176 (2012)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)