skip to main content
10.1145/3340482.3342745acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Classifying non-functional requirements using RNN variants for quality software development

Published:27 August 2019Publication History

ABSTRACT

Non-Functional Requirements (NFR), a set of quality attributes, required for software architectural design. Which are usually scattered in SRS and must be extracted for quality software development to meet user expectations. Researchers show that functional and non-functional requirements are mixed together within the same SRS, which requires a mammoth effort for distinguishing them. Automatic NFR classification would be a feasible way to characterize those requirements, where several techniques have been recommended e.g. IR, linguistic knowledge, etc. However, conventional supervised machine learning methods suffered for word representation problem and usually required hand-crafted features, which will be overcome by proposed research using RNN variants to categories NFR. The NFR are interrelated and one task happens after another, which is the ideal situation for RNN. In this approach, requirements are processed to eliminate unnecessary contents, which are used to extract features using word2vec to fed as input of RNN variants LSTM and GRU. Performance has been evaluated using PROMISE dataset considering several statistical analyses. Among those models, precision, recall, and f1-score of LSTM validation are 0.973, 0.967 and 0.966 respectively, which is higher over CNN and GRU models. LSTM also correctly classified minimum 60% and maximum 80% unseen requirements. In addition, classification accuracy of LSTM is 6.1% better than GRU, which concluded that RNN variants can lead to better classification results, and LSTM is more suitable for NFR classification from textual requirements.

References

  1. Jonas Winkler and Andreas Vogelsang. Automatic classification of requirements based on convolutional neural networks. In 2016 IEEE 24th International Requirements Engineering Conference Workshops (REW), pages 39–45. IEEE, 2016.Google ScholarGoogle Scholar
  2. J Cleland-Huang, R Settimi, X Zou, and P Solc. The detection and classification of non-functional requirements with application to early aspects. In 14th Int. Requirements Engineering Conference (RE’06), pages 39–48. IEEE, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Mirza Rehenuma Tabassum, Md Saeed Siddik, Mohammad Shoyaib, and Shah Mostafa Khaled. Determining interdependency among non-functional requirements to reduce conflict. In 2014 International Conference on Informatics, Electronics & Vision (ICIEV), pages 1–6. IEEE, 2014.Google ScholarGoogle Scholar
  4. I Hussain, L Kosseim, and O Ormandjieva. Using linguistic knowledge to classify non-functional requirements in srs documents. In Int. Conf. on Application of Natural Language to Information Systems, pages 287–298. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Md. Ariful Haque, Md. Abdur Rahman, and Md Saeed Siddik. Non functional requirements classification with machine learning: An empirical study. In International Conference on Advances in Science, Engineering and Robotics Technology (ICASERT), pages 629–633. IEEE, 2019.Google ScholarGoogle Scholar
  6. Y Matsumoto, S Shirai, and A Ohnishi. A method for verifying non-functional requirements. Procedia Computer Science, 112:157–166, 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Mengmeng Lu and Peng Liang. Automatic classification of non-functional requirements from augmented app user reviews. In 21st International Conference on Evaluation and Assessment in Software Engineering, pages 344–353. ACM, 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Jenq-Haur Wang, Ting-Wei Liu, Xiong Luo, and Long Wang. An lstm approach to short text sentiment classification with word embeddings. In Proceedings of the 30th Conference on Computational Linguistics and Speech Processing (ROCLING 2018), pages 214–223, 2018.Google ScholarGoogle Scholar
  9. N Almanza R, Reyes Ju, and Guillermo Licea. Towards supporting software engineering using deep learning: A case of software requirements classification. In 5th International Conference in Software Engineering Research and Innovation (CONISOFT), pages 116–120. IEEE, 2017.Google ScholarGoogle Scholar
  10. P Zhou, Zhenyu Qi, S Zheng, Jiaming Xu, H Bao, and Bo Xu. Text classification improved by integrating bidirectional lstm with two-dimensional max pooling. In 26th Int. Conference on Computational Linguistics, pages 3485–3495, 2016.Google ScholarGoogle Scholar
  11. Jakub Nowak, Ahmet Taspinar, and Rafał Scherer. Lstm recurrent neural networks for short text and sentiment classification. In International Conference on Artificial Intelligence and Soft Computing, pages 553–562. Springer, 2017.Google ScholarGoogle Scholar
  12. Openscience tera-promise software requirement (last accessed: July 01, 2019).Google ScholarGoogle Scholar
  13. Zijad Kurtanović and Walid Maalej. Automatically classifying functional and nonfunctional requirements using supervised machine learning. In 25th International Requirements Engineering Conference (RE), pages 490–495. IEEE, 2017.Google ScholarGoogle Scholar
  14. Diederik P Kingma and Jimmy Ba. Adam: A method for stochastic optimization. International Conference on Learning Representations, 12 2014.Google ScholarGoogle Scholar

Index Terms

  1. Classifying non-functional requirements using RNN variants for quality software development

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      MaLTeSQuE 2019: Proceedings of the 3rd ACM SIGSOFT International Workshop on Machine Learning Techniques for Software Quality Evaluation
      August 2019
      42 pages

      Copyright © 2019 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 27 August 2019

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader