Abstract:
Ambiguous user requirements are often perceived as controversial in software engineering. An entire manual approach for dealing ambiguity is a tiresome and time-taking process. The software requirements are essential inputs to software development processes such as software architecture and design, software coding, and software testing. As a consequence of ambiguous requirements, software development professionals such as software architects, software developers, and software testers might develop wrong interpretations. This will cause project cost overrun, delays in project delivery, and quality of software products. The timely identification and correction of requirements ambiguity can lead to better software systems that meet the product objectives and satisfy the needs of stakeholders and end users. This research aims to experiment with natural language processing techniques and propose a model to best detect ambiguities assimilating requirements attributes i.e., completeness and correctness, from functional and non-functional requirements. A dataset of almost 9529 functional and 2400 non-functional requirements from 315 final-year projects will be used to develop the approach. This study will assist project managers to detect ambiguities in the early phases of the software development life cycle in order to address explicit issues of extra time and cost, as well as the accessibility of stakeholders to refine ambiguities during several sessions.