Supporting Framework Use via Automatically Extracted Concept-Implementation Templates
Staff - Faculty of Informatics
Start date: 31 March 2010
End date: 1 April 2010
The Faculty of Informatics is pleased to announce a seminar given by Abbas Heydarnoori
DATE: Wednesday, March 31st, 2010
PLACE: USI Università della Svizzera italiana, room SI-008, Informatics building (Via G. Buffi 13)
Object-oriented application frameworks (e.g., Eclipse) provide reusable concepts (e.g., Context menu) that are instantiated in application code through potentially complex implementation steps such as sub-classing framework-provided classes, implementing interfaces, and calling appropriate framework services.
Unfortunately, many existing frameworks are difficult to use because of their large and complex APIs and often incomplete user documentation. To cope with this problem, application developers often use existing framework applications as a guide.
While existing applications contain valuable examples of concept implementation steps, locating them in the application code is often challenging.
To address this issue, we introduce the notion of concept implementation templates, which summarize the necessary implementation steps, and a technique named FUDA (Framework Understanding through Dynamic Analysis) which automatically extracts such templates from runtime information collected when that concept is invoked in two or more different contexts in one or more sample applications. The experimental evaluation of FUDA with twelve realistic concepts on top of four widely-used frameworks suggests that the technique is effective in producing quality implementation templates for a given concept with high precision and recall from only two sample applications and execution scenarios. Moreover, it was observed in a user study with twelve subjects that the choice of templates vs. framework documentation had much less impact on development time than the concept complexity.
Dr. Abbas Heydarnoori is a post-doctoral fellow at the USI Università della Svizzera italiana in Prof. Walter Binder's group since March 2010. Before, he was a PhD student in computer science at the University of Waterloo, Canada, working with Prof. Krzysztof Czarnecki on framework comprehension techniques.
HOST: Prof. Walter Binder