View Proposal
-
Proposer
-
Andrew Ireland
-
Title
-
A Smart Requirements Writing Assistant
-
Goal
-
Build an assistant that allows a user to derive a consistent set of functional requirements from user stories.
-
Description
- When building software systems, the most expensive errors are typically introduced during the Requirements Engineering phase. Following a User Stories approach to capturing requirements, we propose an integration of AI and Formal Methods techniques to assist a Requirements Engineer in developing a consistent set of functional requirements. In particular, the proposed approach will use a LLM combined with requirements templates to generate candidate functional requirements from a given user story. These candidate functional requirements will then be automatically translated into a formal representation (i.e., conjunctive normal form (CNF)) that facilitates automatic consistency checking (via SAT solver). The aim is to use an off-the-shelf SAT solver (see Resources section below), along with the EARS pattern-based method for constraining the formulation of NL requirements. Candidate LLMs include Google Gemini.
- Resources
-
Appropriate programming languages, i.e., ideally a language that provides an API to a LLM.
EARS: https://www.researchgate.net/publication/224079416_Easy_approach_to_requirements_syntax_EARS
SAT solver: https://simewu.com/SAT-solver/
SAT solver: https://homes.cs.washington.edu/~kevinz/sat-solver/
-
Background
-
An interest in Requirements Engineering as well as practical applications of LLMs and formal methods.
-
Url
-
External Link
-
Difficulty Level
-
Challenging
-
Ethical Approval
-
None
-
Number Of Students
-
1
-
Supervisor
-
Andrew Ireland
-
Keywords
-
requirements engineering, llms, sat solvers.
-
Degrees
-
Bachelor of Science in Computer Science
Master of Engineering in Software Engineering
Master of Science in Software Engineering