Everyone in our lab is free to work on what they want to work on. Encouragement and constructive feed back is always available.
Framework Understanding through Dynamic Analysis (FUDA)
A highly automated approach based on dynamic analysis for understanding how a concept of interest (e.g., context menu) is implemented in example applications of an object-oriented application framework (e.g., Eclipse JFace).
A common practice followed by many application developers is to use existing applications of a framework as a guide to understand how to implement a concept (functionality) of interest on top of that framework. Unfortunately, finding the code that implements the concept of interest might be very difficult since the code can be scattered across and tangled with code implementing other concepts. The FUDA project aims to address this issue by providing a framework comprehension technique that helps application developers learn how to implement a concept of interest on top of a framework. To this end, it introduces the notion of concept-implementation templates which summarize the necessary concept implementation steps in Java pseudocode. The main idea of FUDA is to automatically extract such templates from runtime information collected when that concept is invoked in two or more different sample applications. The experimental evaluation of FUDA suggests that this technique is effective in producing useful implementation templates for a given concept with high precision and recall.
The FUDA technique is prototyped as an integrated tool for Java consisting of two parts: