Abstract:
Optimizing and automation of the software development lifecycle (SDLC) has
been a challenge in the domain of software development for a while. One of the
main challenges in automation of the SDLC lies within the work of collecting, analyzing
and establishing requirements. Requirements that are collected from the
clients are unstructured and often noisy, which takes substantial amount of effort
to sort out and clarify to create a well organized Specification Document (SRS
Document). To address this challenge, we propose a transformer based ensemble
approach to classify the requirements so that the work of establishing requirements
from client descriptions can be significantly accelerated. Our approach
involves adopting the DistilBERT and RoBERTa models, which are known for
their lightweight performance and combine them with ensemble models for classification.
One of our considerations was the cost of computing resources, which
is why we chose lightweight transformer models that are not as resource intensive
like some other state of the art language models. Our experiments compares our
approach with out of the box classifiers that are available with DistilBERT and
RoBERTa as well as state of the art GPT model. The current experiment shows
that our proposed approach outperformed out of the box classification capabilities
offered by DistilBERT and RoBERTa in terms of accuracy, which is a widely
adopted metric in terms of classification tasks. Our work aims to contribute to
the development of lightweight classifiers that would aid in the task of classifying
software requirements. Furthermore, our study provides insights to how the state
of the art GPT models perform in this task of classifying software requirements.
We hope our work will contribute to the future advent of automation of the SDLC.
Description:
Supervised by
Dr. Hasan Mahmud
Associate Professor,
Department of Computer Science and Engineering,
Islamic University of Technology (IUT), Board Bazar, Gazipur-1704, Bangladesh
This thesis is submitted in partial fulfilment of the requirements
for the degree of B.Sc. in Software Engineering(SWE)