Is this project an undergraduate, graduate, or faculty project?
Graduate
Project Type
individual
Campus
Daytona Beach
Authors' Class Standing
Timothy Elvira, Graduate Student
Lead Presenter's Name
Timothy Elvira
Lead Presenter's College
DB College of Engineering
Faculty Mentor Name
Omar Ochoa
Abstract
The development of software systems is preceded by an important first phase, requirements elicitation, wherein developers establish the intended functionality of a system to be developed in a series of interviews with a customer. These requirements can often be raw, requiring refinement in an iterative process. Traditional software requirements are of the form ‘The system shall…’, where each requirement is written to be clear, concise, consistent, complete, testable, and traceable through development. Because ML is stochastic, or uncertain, in the face of unseen data, ML behavior cannot be precisely defined. As such, it is posited that software requirements specific to ML must delineate a window of acceptable behavior, e.g., a plus/minus value for evaluated model metrics. The provision of such is essential for the quality of future ML software systems, as the current trend of large-scale generative ML has brought about a paradigm of fine tuning, e.g., of Large Language Models (LLMs), in which pre-trained large models are taken “off the shelf” and made fit for very specific purposes. These specific purposes vary with different use cases, but they are effectively undeclared requirements. The present paper discusses the requirements elicitation in the context of ML by considering the four software engineering requirement elicitation techniques: conversational, observational, analytic and synthetic, providing future researchers with insight for eliciting quality ML requirements.
Did this research project receive funding support (Spark, SURF, Research Abroad, Student Internal Grants, Collaborative, Climbing, or Ignite Grants) from the Office of Undergraduate Research?
Yes, Spark Grant
Requirements Elicitation For Machine Learning Applications: A Research Preview
The development of software systems is preceded by an important first phase, requirements elicitation, wherein developers establish the intended functionality of a system to be developed in a series of interviews with a customer. These requirements can often be raw, requiring refinement in an iterative process. Traditional software requirements are of the form ‘The system shall…’, where each requirement is written to be clear, concise, consistent, complete, testable, and traceable through development. Because ML is stochastic, or uncertain, in the face of unseen data, ML behavior cannot be precisely defined. As such, it is posited that software requirements specific to ML must delineate a window of acceptable behavior, e.g., a plus/minus value for evaluated model metrics. The provision of such is essential for the quality of future ML software systems, as the current trend of large-scale generative ML has brought about a paradigm of fine tuning, e.g., of Large Language Models (LLMs), in which pre-trained large models are taken “off the shelf” and made fit for very specific purposes. These specific purposes vary with different use cases, but they are effectively undeclared requirements. The present paper discusses the requirements elicitation in the context of ML by considering the four software engineering requirement elicitation techniques: conversational, observational, analytic and synthetic, providing future researchers with insight for eliciting quality ML requirements.