Abstract
In Model-Driven Software Engineering (MDSE), software systems are constructed from abstract models that are used to guide the development process. Use Case models are abstract models that aim to capture the intended behavior of a software system from the point of view o its actors. Use Case models are not only helpful during development time but can also assist in software evolution and modernization. Such post-development benefits can only be obtained with up-to-date Use Case models. However, manual maintenance of these models may cause divergence such that these models can become outdated as the software system evolves over time. Furthermore, legacy software systems may not have well-documented Use, Case models. Therefore, it is beneficial to recover these models through reverse engineering of source code and supplementary documentation of the software system. This paper proposes a hybrid approach for recovering Use Case models for web applications. The proposed approach relies on defining recovery patterns for known architectural- and design patterns that are widely used to construct web applications. Each recovery pattern shows how a particular Use Case model element, including Use Cases, actors, relationships, and non-functional requirements of Use Cases, are to be recovered. Both static and dynamic analyses of the web application's source code are then performed based on recovery patterns to recover the various Use Case model elements. The proposed approach is applied to an opensource, real-world MVC web application. Results show adequate recovery o Use Case model elements of this application. (C) 2021 INT TRANS J ENG MANAG SCI TECH.