Supporting Framework Use via Automatically Extracted Concept-Implementation Templates
Abbas Heydarnoori17
, Krzysztof Czarnecki17
and Thiago Tonelli Bartolomei17 
| (17) |
Generative Software Development Lab, University of Waterloo, Canada |
Abstract
Application frameworks provide reusable concepts that are instantiated in application code through potentially complex implementation
steps such as subclassing, implementing callbacks, and making calls. Existing applications contain valuable examples of such
steps, except that locating them in the application code is often challenging. We propose the notion of concept implementation templates, which summarize the necessary implementation steps, and an approach to automatic extraction of such templates from traces
of sample applications. We demonstrate the feasibility of the template extraction with high precision and recall through an
empirical study with twelve realistic concepts from four widely-used frameworks. Finally, we report on a user experiment with
twelve subjects in which the choice of templates vs. documentation had much less impact on development time than the concept
complexity.
References secured to subscribers.