Functional requirements play an important role in the software development life cycle (SDLC). But the process of manually collecting these requirements can be time-consuming and prone to many errors. This study uses large language models (LLMs) to automate functional requirements generation. Extracted functional requirements from the software requirement specification (SRS) documents across various domains are used to train the FLAN-T5 model. Applied hyperparameter tuning through random search to optimize the performance of the baseline FLAN-T5 model. The fine-tuned FLAN-T5 is evaluated using BLEU score, diversity score and cosine similarity score. Cosine similarity-based filtering technique is used to discard irrelevant outputs. Although cosine similarity score below 0.6 is used to discard irrelevant requirements, there are scenarios where irrelevant requirements are shown a score of 0.70. These scores are used to determine the quality of generated functional requirements. Achieved a BLEU score of 0.90, a diversity score of 0.90 and cosine similarity score of 0.95, whereas baseline models give all scores as 0.0. Experts rated 3 out of 5 for generated functional requirements of Library Management System. Results demonstrate training LLMs with the relevant dataset and parameter tuning can significantly improve the quality of functional requirements, making the SDLC process easy. Tried BERT also for generating functional requirements but it is not able to generate functional requirements as BERT is not designed to generate text unlike FLAN-T5. As no results are generated, all metrics remain zero for BERT also. This research has the potential to streamline the software development process for both academic and industrial applications. Our work shows LLMs can be tailored for domain-specific tasks like generating functional requirements and can be extended for various other tasks in software engineering. This work can be expanded by incorporating larger datasets.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Generating Functional Requirements Through Tailored LLM for Software Requirements

  • Patala Durgaprasad,
  • B. A. Sabarish,
  • C. Arunkumar

摘要

Functional requirements play an important role in the software development life cycle (SDLC). But the process of manually collecting these requirements can be time-consuming and prone to many errors. This study uses large language models (LLMs) to automate functional requirements generation. Extracted functional requirements from the software requirement specification (SRS) documents across various domains are used to train the FLAN-T5 model. Applied hyperparameter tuning through random search to optimize the performance of the baseline FLAN-T5 model. The fine-tuned FLAN-T5 is evaluated using BLEU score, diversity score and cosine similarity score. Cosine similarity-based filtering technique is used to discard irrelevant outputs. Although cosine similarity score below 0.6 is used to discard irrelevant requirements, there are scenarios where irrelevant requirements are shown a score of 0.70. These scores are used to determine the quality of generated functional requirements. Achieved a BLEU score of 0.90, a diversity score of 0.90 and cosine similarity score of 0.95, whereas baseline models give all scores as 0.0. Experts rated 3 out of 5 for generated functional requirements of Library Management System. Results demonstrate training LLMs with the relevant dataset and parameter tuning can significantly improve the quality of functional requirements, making the SDLC process easy. Tried BERT also for generating functional requirements but it is not able to generate functional requirements as BERT is not designed to generate text unlike FLAN-T5. As no results are generated, all metrics remain zero for BERT also. This research has the potential to streamline the software development process for both academic and industrial applications. Our work shows LLMs can be tailored for domain-specific tasks like generating functional requirements and can be extended for various other tasks in software engineering. This work can be expanded by incorporating larger datasets.