Browse > Article
http://dx.doi.org/10.9708/jksci.2020.25.07.027

A Comparative Study on Requirements Analysis Techniques using Natural Language Processing and Machine Learning  

Cho, Byung-Sun (Dept. of Computer Engineering, Ajou University)
Lee, Seok-Won (Dept. of Software and Computer Engineering, Ajou University)
Abstract
In this paper, we propose the methodology based on data-driven approach using Natural Language Processing and Machine Learning for classifying requirements into functional requirements and non-functional requirements. Through the analysis of the results of the requirements classification, we have learned that the trained models derived from requirements classification with data-preprocessing and classification algorithm based on the characteristics and information of existing requirements that used term weights based on TF and IDF outperformed the results that used stemming and stop words to classify the requirements into functional and non-functional requirements. This observation also shows that the term weight calculated without removal of the stemming and stop words influenced the results positively. Furthermore, we investigate an optimized method for the study of classifying software requirements into functional and non-functional requirements.
Keywords
Software Engineering; Requirements Engineering; Requirements Analysis; Machine Learning; Natural Language Processing;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Glinz, Martin. "A glossary of requirements engineering terminol ogy." Standard Glossary of the Certified Professional for Requirements Engineering (CPRE) Studies and Exam, Version 1 (2011).
2 Van Lamsweerde, Axel. Requirements engineering: From system goals to UML models to software. Vol. 10. Chichester, UK: John Wiley & Sons, 2009.
3 Ernst, Neil A., and John Mylopoulos. "On the perception of software quality requirements during the project lifecycle." International Working Conference on Requirements Engineering: Foundation for Software Quality. Springer, Berlin, Heidelberg, 2010.
4 Abad, Zahra Shakeri Hossein, and Guenther Ruhe. "Using real options to manage technical debt in requirements engineering." 2015 IEEE 23rd International Requirements Engineering Conference (RE). IEEE, 2015.
5 Abad, Zahra Shakeri Hossein, et al. "What are practitioners asking about requirements engineering? an exploratory analysis of social q&a sites." 2016 IEEE 24th International Requirements Engineering Conference Workshops (REW). IEEE, 2016.
6 Abad, Zahra Shakeri Hossein, et al. "What works better? a study of classifying requirements." 2017 IEEE 25th International Requirements Engineering Conference (RE). IEEE, 2017.
7 Hussain, Ishrar, Leila Kosseim, and Olga Ormandjieva. "Using linguistic knowledge to classify non-functional requirements in SRS documents." International Conference on Application of Natural Language to Information Systems. Springer, Berlin, Heidelberg, 2008.
8 Dekhtyar, Alex, and Vivian Fong. "RE data challenge: Requirements identification with Word2Vec and TensorFlow." 2017 IEEE 25th International Requirements Engineering Conference (RE). IEEE, 2017.
9 Y. Kim, "Convolutional neural networks for sentence classif ication," in Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing, EMNLP 2014, 2014, pp. 1746-1751.
10 Rashwan, Abderahman, Olga Ormandjieva, and Rene Witte. "Ontology-based classification of non-functional requirements in software specifications: a new corpus and svm-based classifier." 2013 IEEE 37th Annual Computer Software and Applications Conference. IEEE, 2013.
11 Ferrari, Alessio, Giorgio Oronzo Spagnolo, and Stefania Gnesi. "PURE: A dataset of public requirements documents." 2017 IEEE 25th International Requirements Engineering Conference (RE). IEEE, 2017.
12 Sommerville, Ian. "Software engineering 9th Edition." ISBN-10137035152 (2011).
13 Porter, Martin F. "Snowball: A language for stemming algori thms." (2001).
14 Qiang, Guo. "An effective algorithm for improving the performance of Naive Bayes for text classification." 2010 Second International Conference on Computer Research and Development. 2010.
15 Bourque, Pierre, and Richard E. Fairley. Guide to the software engineering body of knowledge (SWEBOK (R)): Version 3.0. IEEE Computer Society Press, 2014.
16 Kotonya, Gerald, and Ian Sommerville. Requirements engineering: processes and techniques. Wiley Publishing, 1998.