Author Information

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

Share

COinS
 

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.

 

To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.