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
Recommended Citation
Herzog, Spencer, "Using Natural Language Processing to Support Software Security Requirement Development" (2023). Thesis. Rochester Institute of Technology. Accessed from
https://repository.rit.edu/theses/11600
Campus
RIT – Main Campus
Plan Codes
SOFTENG-MS