Automated Support for Consistency Management and Validation of Requirements
Reference
Degree Grantor
Abstract
The requirements engineering phase of software development remains presents many challenges to researchers and practitioners alike. Among them, the management of consistency across multiple representations is particularly complex yet it lacks effective tool support. The thesis proposes an automated support mechanism to enable users (Requirements Engineers) to manage the consistency and validation of requirements. We have investigated existing approaches, developed a novel technique, and realised this technique as an automated support tool called MaramaAI (Automated Inconsistency Checker). We have taken an iterative approach to our work. We began by developing a lightweight extraction approach that allows an accurate and quick extraction of essential requirements (abstract interactions) from natural language requirements and the generation of Essential Use Case models from them. We then used automated traceability with visual support to check the consistency of requirements in three different forms: textual natural language requirements, abstract interaction and Essential Use Case, as well as to further validate the correctness and completeness of requirements. We also extended the automated tool to provide end-to-end rapid prototyping support embedded in the tool for validating requirements consistency in a form usable by both requirement engineers and clients to confirm the consistency of requirements. We have evaluated the tool's efficacy and performance especially on the extraction process, and also evaluated the user perception on the tool's usability and user-perceived strengths via a substantial usability study and applied the tool to several case studies. The results were positive, and demonstrate that MaramaAI can be used to manage the consistency and validation of requirements in various domains of applications.