Use Cases UC are a popular way of describing system behavior and represent important artifacts for system design, analysis, and evolution. Hence, UC quality impacts the overall system quality and defect rates. However, they are presented in natural language, which is usually the cause of issues related to imprecision, ambiguity, and incompleteness. We present the results of an empirical study on the formalization of UCs as Graph Transformation models GTs with the goal of running tool-supported analyses on them and revealing possible errors treated as open issues. We describe initial steps for a translation from a UC to a GT, how to use an existing tool to analyze the produced GT, and present some diagnostic feedback based on the results of these analyses and the possible level of severity of the detected problems. To evaluate the effectiveness of the translation and of the analyses in identifying problems in UCs, we applied our approach on a set of real UC descriptions obtained from a software developer company and measured the results using a well-known metric. The final results demonstrate that this approach can reveal real problems that could otherwise go undetected and, thus, help improve the quality of the UCs.
['Marcos Antonio Torquato De Oliveira', 'Leila Ribeiro', 'Érika F. Cota', 'Lucio Mauro Duarte', 'Ingrid Nunes', 'Filipe Reis']
Use Case Analysis Based on Formal Methods: An Empirical Study