Litcius/Paper detail

NLP4ReF: Requirements Classification and Forecasting: From Model-Based Design to Large Language Models

Jordan Peer, Yaniv Mordecai, Yoram Reich

202411 citationsDOI

Abstract

We introduce Natural Language Processing for Requirement Forecasting (NLP4ReF), a model-based machine learning and natural language processing solution for enhancing the Requirements Engineering (RE) process. RE continues to face significant challenges and demands innovative approaches for process efficiency. Traditional RE methods relying on natural language struggle with incomplete, hidden, forgotten, and evolving requirements during and after the critical design review, risking project failures and setbacks. NLP4ReF tackles several key challenges: a) distinguishing between functional and non-functional requirements, b) classification of requirements by their respective system classes, and c) generation of unanticipated requirements to enhance project success. NLP4ReF employs a common natural language toolkit (NLTK) package and the recently-trending Chat-GPT. We tested NLP4ReF on PROMISE_exp, a pre-existing dataset with 1000 software requirements, and PROMISE_IoT, an enhanced dataset with 2000 software and IoT requirements. We validated NLP4ReF on a genuine IoT project. NLP4ReF swiftly generated dozens of new requirements, verified by a team of systems engineers, of which over 70% were crucial for project success. We found that GPT is superior in authentic requirement generation, while NLTK excels at requirement classification. NLP4ReF offers significant time saving, effort reduction, and improved future-proofing. Our model-based design approach provides a foundation for enhanced RE practices and future research in this domain.

Topics & Concepts

Computer scienceRequirements engineeringRequirements analysisProcess (computing)Natural languageSoftware engineeringNon-functional requirementRequirements managementDomain (mathematical analysis)Requirements elicitationSystems engineeringSoftwareArtificial intelligenceSoftware systemEngineeringProgramming languageSoftware constructionMathematicsMathematical analysisSoftware Engineering ResearchSoftware Engineering Techniques and PracticesSoftware Reliability and Analysis Research