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