  The microservice architectural style has many advantages such as scalability,
reusability, and easy maintainability. Microservices have therefore become a
popular architectural choice when developing new applications. Reaping these
benefits requires redesigning the monolithic application and moving them to a
microservices-based architecture. This process is inherently complex and
costly, so automating this task is critical. This project proposes a method by
which potential microservices can be identified from a given monolithic
application while treating this problem as a clustering thematic. Our method
takes as input the source code of the source application in order to apply
different approaches to devise the one box application into its different
microservices. In this report we detail each of these techniques while
finishing with a discussion and comparison of the results.
