Everyone in our lab is free to work on what they want to work on. Encouragement and constructive feed back is always available.
Interpreter for FSML: Detecting Framework Concepts in Source Code Through Reverse-Engineering
Framework-specific modeling languages (FSMLs) are specifications of framework concepts and their intended usages. Interpreting an FSML over a set of applications enables a user to detect framework concepts in source code through reverse-engineering.
We describe our FSML interpreter written using Prolog. The interpreter itself consists of two main components: a parser that is responsible for reading an FSML specification and an engine, responsible for interpreting the constraints of the FSML and reverse-engineering an FSML instance from a set of program facts. We discuss the purpose of each component and further highlight the advantages, as well as disadvantages of our implementation.
Project report [PDF]