Open Access Open Access  Restricted Access Subscription or Fee Access

Automatic Requirement Classification Technique: Using Different Stemming Algorithms

Haidy H. Mustafa, Nagy Ramadan Darwish

Abstract


Requirement Engineering is the first crucial stage in the software life cycle. Classifying those requirements into functional and non-functional requirements is an important activity during requirement engineering process. As a result of requirement engineering process, a software requirement specification document is produced. This document contains a detailed description of all requirements written using natural language. The automatic processing of natural language is not an easy task. Since natural language is full of ambiguity, has no formal structure, and very variable. This paper presents an automatic classification of requirements into functional and non-functional requirements using two machine learning algorithms. In this paper, different stemming techniques are used to address some of natural language challenges. A dataset of 625 requirements (functional and non-functional) is used to train and test the machine learning model. The experiments showed that some stemming techniques increased the performance than other stemming techniques.

 


Keywords


Requirement Classification, Non-Functional Requirements, Stemming, Software Projects, Functional Requirements.

Full Text:

PDF

References


P. Zave, "Classification of Research Efforts in Requirements Engineering," ACM Computing Surveys (CSUR) , vol. 29, no. 4, pp. 315-321, 1997.

R. Saranya, "Survey on Security Measures of Software Requirement Engineering," International Journal of Computer Applications, vol. 90, no. 17, p. (0975 – 8887), 2014.

M. Glinz, "On Non-Functional Requirements," in 15th IEEE International Requirements Engineering Conference (RE’07), Delhi, India, 2007.

I. S. Boeard, "IEEE Standard Glossary of Software Engineering Terminology," The Institute of Electrical and Electronics Engineers, New York, USA, 1990.

Z. S. H. Abad and G. Ruhe, "Using real options to manage Technical Debt in Requirements Engineering," in Requirements Engineering Conference (RE), 2015 IEEE 23rd International, Ottawa, ON, Canada, 2015.

C. Duan, P. Laurent, J. Cleland-Huang and C. Kwiatkowski, "Towards automated requirements prioritization and triage," Springer-Verlag London Limited, vol. 14, no. 2, p. 73–89, 2009.

E. Knauss and D. Ott, "Automatic requirement categorization of large natural language specifications at mercedes-benz for review improvements," in in Proceedings of the 19th International Conference on Requirements Engineering: Foundation for Software Quality, ser. REFSQ’13. Berlin, Heidelberg: Springer-Verlag, 2013.

Z. Kurtanović and W. Maalej, "Automatically Classifying Functional and Non-functional Requirements Using Supervised Machine Learning," in Requirements Engineering Conference (RE), 2017 IEEE 25th International, Lisbon, Portugal, 2017.

M. Rahimi, M. Mirakhorli and J. Cleland-Huang, "Automated extraction and visualization of quality concerns from requirements specifications," in 2014 IEEE 22nd International Requirements Engineering Conference (RE) (2014), Karlskrona, Sweden, 2014.

J. Cleland-Huang, R. Settimi, X. Zou and P. Solc, "Automated classification of non-functional requirements," Springer-Verlag, vol. 12, no. 2, p. 103–120, 2007.

E. Knauss, D. Damian, G. Poo-Caamaño and J. Cleland-Huang, "Detecting and classifying patterns of requirements clarifications," in Requirements Engineering Conference (RE), 2012 20th IEEE International, Chicago, IL, USA, 2012.

A. Casamayor, D. Godoy and M. Campo, "Identification of non-functional requirements in textual specifications: A semi-supervised learning approach," ELSEVIER, vol. 52, no. 4, pp. 436-445, 2010.

A. Fawaz, F. A. Zaghoul, A. Hudaib, A. Alqudah and M. A. M. Abushariah, "A Suggested Framework for Software Requirements Classification," in UKSIM2015, Cambridge UK, 2015.

Y. joong, S. Park, J. Seo and S. Choib, "Using classification techniques for informal requirements in the requirements analysis-supporting system," ElSEVEIR, vol. 49, no. 11-12, pp. 1128-1140, 2007.

R. Feldman and I. Dagan, "Knowledge discovery in Textual Databases (KDT)," in KDD'95 Proceedings of the First International Conference on Knowledge Discovery and Data Mining, Montréal, Québec, Canada, 1995.

P. M. Nadkarni, L. Ohno-Machado and W. W. Chapman, "Natural language processing: an introduction," Journal of American Medical Informatics Association, vol. 18, no. 5, p. 544–551, 2011.

C. D. Manning, P. Raghavan and H. Schutze, Introduction to Information Retrieval, United States of America (USA): Cambridge University Press 2008, 2008.

J. Jiang, "INFORMATION EXTRACTION FROM TEXT," in MINING TEXT DATA, New York, Springer Verlag, 2012, pp. 11- 41.

J. Han and M. Kamber, Data Mining: Concepts and Techniques, San Francisco, CA, USA: Morgan Kaufmann Publishers, 2005.

E. S. Brunette, R. Flemmer and C. Flemmer, "A review of artificial intelligence," in 4th International Conference on Autonomous Robots and Agents, ICARA, Wellington, New Zealand, 2009.

G. I. and E. A., "An Introduction to Feature Extraction," in Studies in Fuzziness and Soft Computing, Berlin, Heidelberg, Springer, 2006, pp. 1-25.

V. Singh and B. Saini, "An Effective Tokenization Algorithm for Information Retrieval Systems," in First International Conference on Data Mining (DMIN-2014), Royal Archid , Banglore, India, 2014.

P. Krishnamurthy, P. P. Talukdar, N. Sridhar, A. Ramakrishnan and K. Bali, "Hindi Text Normalization," in Fifth International Conference on Knowledge Based Computer Systems (KBCS), Hyderabad, India, 2004.

J. K. Raulji and J. R. Saini, "Stop-Word Removal Algorithm and its Implementation for Sanskrit Language," International Journal of Computer Applications, vol. 150, no. 2, p. 0975 – 8887, 2016.

C. Moral, A. d. Antonio, R. Imbert and J. Ramirez, "A survey of stemming algorithms in information retrieval," Information Research, vol. 19, no. 1, pp. 1-20, 2014.

S. Sarawagi, "Information Extraction," Foundations and Trends in Databases, vol. 1, no. 3, p. 261–377, 2007.

W. B. Cavnar and J. M. Trenkle, "N-Gram-Based Text Categorization," in In Proceedings of SDAIR-94, 3rd Annual Symposium on Document Analysis and Information Retrieval, 1994.

L. M. Rose, N. Matragkas, D. S. Kolovos and R. F. Paige, "A feature model for model-to-text transformation languages," in Modeling in Software Engineering (MISE), 2012 ICSE Workshop on, Zurich, Switzerland, 2012.

I. Guyon and A. Elisseeff, "An Introduction to Variable and Feature Selection," Journal of Machine Learning Research, vol. 3, pp. 1157-1182, 2003.

T. K. R. P. D. Menzies, "The Promise Repository of Empirical Software Engineering Data," Department of Computer Science, North Carolina State University, 2016.

J. B. Lovins, "Development of a Stemming Algorithm," Mechanical Translation and Computational Linguistics, vol. 11, pp. 22-31, 1986.

A. G. Jivani, "A Comparative Study of Stemming Algorithms," Anjali Ganesh Jivani et al, Int. J. Comp. Tech. Appl., vol. 2, no. 6, pp. 1930-1938, 2011.


Refbacks

  • There are currently no refbacks.


Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.