Prioritization of Software and System Requirements through Natural Language Processing for Testing Software

Abstract

Tese de mestrado, Ciência de Dados, Universidade de Lisboa, Faculdade de Ciências, 2021Safety¬critical systems have been a constant and increased presence in industrial production, such as railways and vehicles. These systems are highly configurable and must be intensively tested by system engineers before being deliverable to customers. This process is highly time¬consuming and might require associations between the product features and requirements demanded by customers. Requirement prioritization looks to recognize the most relevant requirements of a system, aiming to reduce the costs and time of the testing process. Machine Learning has been shown useful in helping engineers in this task, automating associations between features and requirements. However, its application can be more difficult when requirements are written in natural language and if a ground truth dataset does not exist with them. In our work, we present ARRINA, a Natural Language Processing¬based recommendation system able to extract and associate components from safety¬critical systems with their specifications written in natural language and process customer requirements and map them to components. The system integrates a Weight Association Rule Mining framework to extract the components and their associations and generates visualizations that can help engineers understand which components are generally introduced in project requirements. The system also includes a recommendation framework that can associate in put requirements to existing subsystems, reducing engineers’ effort in terms of requirement analysis and prioritization. We performed several experiments to evaluate the different components of ARRINA over four railway’s subsystems and input requirements. As a result, the system achieved 90% of accuracy, which denotes its importance in reducing the time¬consuming of engineers in discovering the correct subsystem links and prioritizing requirements for the testing process

    Similar works