The Role of Natural Language Processing in Requirement Engineering
Keywords:natural language processing, software requirements specification, requirements methods
The major objective of Software Requirements Specification (SRS) is providing sufficient information for software developers to build software product successfully. However, the current features of natural language hinders processing and analysis of requirements due to its ambiguous nature. Over the years, many Natural Language Processing (NLP) approaches were emerged to tackle this problem to detect errors or extract useful information from requirements documents. In this paper, a review of these approaches has been represented to reveal the role of NLP in requirement engineering and depict the current dilemma of SRS processing.
 Abbott, R. J. (1983). Program Design by Informal English Descriptions. Communications of the ACM, 26(11), 882â€“894.
 Ahmed, U. (2018). A review on knowledge management in requirements engineering. In In Engineering and Emerging Technologies (ICEET), 2018 International Conference (pp. 1â€“5).
 Bano, M. (2015). Addressing the challenges of requirements ambiguity: A review of empirical literature. In In Empirical Requirements Engineering (EmpiRE), 2015 IEEE Fifth International Workshop (pp. 21â€“24). IEEE.
 Bin, L., Rahim, A. B., Dominic, P. D. D., Besrour, S., Bin, L., Rahim, A. B., & Dominic, P. D. D. (2016). A quantitative study to identify critical requirement engineering challenges in the context of small and medium software enterprise. In In Computer and Information Sciences (ICCOINS), (pp. 606â€“610).
 Booch, G. (1986). Object-oriented development. IEEE Transactions on Software Engineering, 211â€“221.
 Cambria, E., & White, B. (2014). Jumping NLP curves: A review of natural language processing research. IEEE Computational Intelligence Magazine, 48â€“57.
 Diamantopoulos, T., Roth, M., Symeonidis, A., & Klein, E. (2017). Software requirements as an application domain for natural language processing. Language Resources and Evaluation, 51(2), 495â€“524. http://doi.org/10.1007/s10579-017-9381-z
 Dube, R., & Dixit, S. K. (2010). Process-oriented complete requirement engineering cycle for generic projects. In In Proceedings of the International Conference and Workshop on Emerging Trends in Technology (pp. 194â€“197).
 Elallaoui, M., NAFIL, K., & TOUAHNI, R. (2015). Automatic generation of UML sequence diagrams from user stories in Scrum process. In In Intelligent Systems: Theories and Applications (SITA), 2015 10th International Conference (pp. 1â€“6). IEEE.
 Fanmuy, G., Fraga, A., & Llorens, J. (2014). Requirements verification in the industry. In In Complex Systems Design & Management (pp. 145â€“160). Springer, Berlin, Heidelberg. http://doi.org/10.1007/978-3-642-25203-7
 Ferrari, A., Lipari, G., Gnesi, S., & Spagnolo, G. O. (2014). Pragmatic ambiguity detection in natural language requirements. In In Artificial intelligence for requirements engineering (AIRE), 2014 IEEE 1st International Workshop (pp. 1â€“8). IEEE.
 Gulia, S., & Choudhury, T. (2016). An efficient automated design to generate UML diagram from Natural Language Specifications. In In Cloud System and Big Data Engineering (Confluence), 2016 6th International Conference (pp. 641â€“648).
 Gupta, S., Malik, S., Pollock, L., & Vijay-Shanker, K. (2013). Part-of-speech tagging of program identifiers for improved text-based software engineering tools. In In Program Comprehension (ICPC), 2013 IEEE 21st International Conference (pp. 3â€“12).
 Huertas, C. (2012). NLARE, a natural language processing tool for automatic requirements evaluation. In In Proceedings of the CUBE International Information Technology Conference (pp. 371â€“378). ACM.
 Hull, E., Jackson, K., & Jeremy, D. (2010). Requirements Engineering. Springer Science & Business Media.
 Hussain, A., Mkpojiogu, E. O., & Kamal, F. M. (2016). The role of requirements in the success or failure of software projects. International Review of Management and Marketing, 6, 306â€“311.
 Ilieva, M. G., & Ormandjieva, O. (2005). Automatic transition of natural language software requirements specification into formal presentation. In In International Conference on Application of Natural Language to Information Systems (pp. 392â€“397). Springer.
 Iqbal, U., & Bajwa, I. S. (2016). Generating UML activity diagram from SBVR rules. In In Innovative Computing Technology (INTECH), 2016 Sixth International Conference (pp. 216â€“219).
 ISO/IEC/IEEE. (2011). 29148-2011 - ISO/IEC/IEEE International Standard - Systems and software engineering -- Life cycle processes --Requirements engineering. Retrieved from https://ieeexplore.ieee.org/document/6146379/
 Kamsties, E. (2005). 11 Understanding Ambiguity in Requirements Engineering. In In Engineering and Managing Software Requirements (pp. 245â€“266). Springer, Berlin, Heidelberg.
 KÃ¶rner, S. J., & Brumm, T. (2009). Natural language specification improvement with ontologies. International Journal of Semantic Computing, 3(4), 445â€“470. http://doi.org/10.1142/S1793351X09000872
 Kothari, P. R. (2012). Processing natural language requirement to extract basic elements of a class. International Journal of Applied Information Systems (IJAIS), 3(7), 39â€“42.
 LandhauÃŸer, M., Korner, S. J., & Tichy, W. F. (2014). From requirements to UML models and back: how automatic processing of text can support requirements engineering. Software Quality Journal, 22(1), 121â€“149. http://doi.org/10.1007/s11219-013-9210-6
 Ludwig, O., Do, Q. N. T., Smith, C., Cavazza, M., & Moens, M. (2018). Learning to extract action descriptions from narrative text. IEEE Transactions on Games, 10(1), 15â€“28.
 MacDonell, S. G., Min, K., & Connor, A. M. (2014). Autonomous requirements specification processing using natural language processing.
 Nazir, F., Butt, W. H., Anwar, M. W., & Khattak, M. A. K. (2017). The applications of natural language processing (NLP) for software requirement engineering-a systematic literature review. In In International Conference on Information Science and Applications (pp. 485â€“493). Springer.
 Nemuraite, L., Skersys, T., Sukys, A., Sinkevicius, E., & Ablonskis, L. (2010). VETIS tool for editing and transforming SBVR business vocabularies and business rules into UML&OCL models. Information Technologies, 21â€“23.
 Nigam, A., Arya, N., Nigam, B., & Jain, D. (2012). Tool for automatic discovery of ambiguity in requirements. International Journal of Computer Science Issues (IJCSI), 9(5), 350â€“356.
 OMG. (2017). Semantics of Business vocabulary and Rules (SBVR). Retrieved from https://www.omg.org/spec/SBVR/About-SBVR/
 Osborne, M., & Macnish, C. (1996). Processing natural language software requirement specifications, 229â€“236.
 Rago, A., Marcos, C., & Diaz-Pace, J. A. (2016). Identifying duplicate functionality in textual use cases by aligning semantic actions. Software & Systems Modeling, 15(2), 579â€“603.
 Reshamwala, A., Pawar, P., & Mishra, D. (2013). Review on natural language processing. IRACST Engineering Science and Technology: An International Journal (ESTIJ), 3(1), 113â€“116.
 Robie, M. A. M., Baharom, F., & Mohd, H. (2014). Functional requirements specification for e-tendering system using requirement template. In In Knowledge Management International Conference (KMICe), Langkawi, Malaysia.
 Rodrigues, A., Verelst, J., Mannaert, H., Ferreira, D. A., & Huysmans, P. (2014). Towards a system requirements specification template that minimizes combinatorial effects. In In Quality of Information and Communications Technology (QUATIC), 2014 9th International Conference. http://doi.org/10.1109/QUATIC.2014.22
 Ryan, K. (1993). The role of natural language in requirements engineering. In In Requirements Engineering, 1993., Proceedings of IEEE International Symposium (pp. 240â€“242).
 Selway, M., Grossmann, G., Mayer, W., & Stumptner, M. (2015). Formalising natural language specifications using a cognitive linguistic/configuration based approach. Information Systems, 54, 191â€“208.
 Shah, U. S., & Jinwala, D. C. (2015). Resolving ambiguities in natural language software requirements: a comprehensive survey. ACM SIGSOFT Software Engineering Notes, 40(5), 1â€“7. http://doi.org/10.1145/2815021.2815032
 Tripathy, A., & Rath, S. K. (2014). Application of natural language processing in object oriented software development. In In Recent Trends in Information Technology (ICRTIT), 2014 International Conference (pp. 1â€“7).
 Umber, A., & Bajwa, I. S. (2011). Minimizing Ambiguity in Natural Language Software Requirements Specification. In ICDIM (pp. 102â€“107).
 Vemuri, S., Chala, S., & Fathi, M. (2017). Automated use case diagram generation from textual user requirement documents. In In Electrical and Computer Engineering (CCECE). (pp. 1â€“4). IEEE.
 Wang, Y. (2016). Automatic semantic analysis of software requirements through machine learning and ontology approach, 21(6), 692â€“701. http://doi.org/10.1007/s12204-016-1783-3