Functional and Non-functional Requirements Classification: A Comparative Evaluation of Pre-trained LLMs and ML Techniques
Identifying functional and non-functional requirements at an early phase is essential for project success. However, the requirements engineering community still lacks a comprehensive understanding of these requirements, which are often intertwined and expressed in natural language. Requirements classification is crucial for correctly extracting and organizing functional and non-functional requirements into specified categories. Automated classification reduces development costs, uncertainty, and misunderstanding. Machine learning (ML) and deep learning approaches have been applied for automatic classification in recent studies. This study conducts a comparative analysis by combining two publicly available PROMISE_exp and DOSSPRE datasets, which was classified as functional and non-functional classes of software requirements. First of all, we applied natural language processing (NLP) techniques to the requirements text to extract feature embeddings, followed by training four popular machine learning (ML) algorithms on these requirements. Inspired by the success of large language models (LLMs) in various tasks, we also fine-tuned four text-based pretrained (LLMs) and compared their performance with traditional ML models. Our empirical analysis shows that these models outperform traditional ML models on the combined dataset, offering developers an efficient method to detect and classify software requirements early.
Authors
- Ayesha Naseer (ORCID: https://orcid.org/0000-0002-3752-3273)
- Rizwana Batoool
Institutions
- National University of Sciences and Technology (PK)
Publication Details
- Published
- 2025-04-23
- DOI
- https://doi.org/10.1109/comtech65062.2025.11034464
- Primary Topic
- Software Engineering Research
- Type
- article
- Field-Weighted Citation Impact
- 0.00