Abstract

The advent of Natural Language Processing (NLP) tools has had profound effects upon the software requirements engineering process. Engineering requirements are a key part of software development, guiding the overall process and ensuring that the resulting software can properly accomplish the desired results without any issues. NLP tools have been used alongside requirements engineering for many years, in a variety of tasks. Our study investigates the uses of NLP tools, including OpenAI's large language model (LLM) tool ChatGPT as well as a novel Natural Language Inference (NLI) model that our team proposed, for the use of classification of various software requirement statements as well as for the detection and classification of defects within those statements. From our experiments, the NLI model proves itself to be quite advantageous when compared to other tools at accomplishing these tasks. The experiments performed demonstrate the effects of label verbalization and the incorporation of important knowledge into the input sample on the classification and detection tasks. As part of the experiments, hypothesis and prompt design were also examined for their effects upon the performance of these models. Three datasets were used in this study, one composed of security related software requirements, one composed of non-security related requirements, and one consisting of defective requirements. The datasets were each labeled by the various subclasses of requirement or the classes of defects that they carry. This collection of requirement datasets will serve as resources for future works in the field of software requirements engineering as will our evaluations serve as benchmarks for such studies.

Library of Congress Subject Headings

Natural language processing (Computer science); Requirements engineering; Software protection; Computer software--Security measures

Publication Date

8-2023

Document Type

Thesis

Student Type

Graduate

Degree Name

Software Engineering (MS)

Department, Program, or Center

Software Engineering, Department of

College

Golisano College of Computing and Information Sciences

Advisor

Mohamed Wiem Mkaouer

Advisor/Committee Member

Mehdi Mirakhorli

Advisor/Committee Member

Zhe Yu

Campus

RIT – Main Campus

Plan Codes

SOFTENG-MS

Share

COinS