UWSpace >
University of Waterloo >
Electronic Theses and Dissertations (UW) >

Please use this identifier to cite or link to this item: http://hdl.handle.net/10012/4341

Title: Supporting Framework Use via Automatically Extracted Concept-Implementation Templates
Authors: Heydarnoori, Abbas
Keywords: Object-Oriented Application Frameworks
Framework Comprehension
Dynamic Analysis
Reverse Engineering
Framework Documentation
Concept-Implementation Templates
Approved Date: 27-Apr-2009
Date Submitted: 2009
Abstract: Object-oriented application frameworks allow the reuse of both software design and code and are one of the most effective reuse technologies available today. Frameworks provide domain-specific concepts, which are generic units of functionality. Framework-based applications are constructed by writing completion code that instantiates these concepts. The instantiation of such concepts requires implementation steps in the completion code, such as subclassing 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, this dissertation introduces the notion of concept implementation templates, which summarize the necessary concept implementation steps, and a technique named FUDA (Framework API 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 sample applications and execution scenarios. Moreover, it was observed in a user study with twelve subjects that the choice of templates vs. documentation had much less impact on development time than the concept complexity.
Program: Computer Science (Software Engineering)
Department: School of Computer Science
Degree: Doctor of Philosophy
URI: http://hdl.handle.net/10012/4341
Appears in Collections:Electronic Theses and Dissertations (UW)
Faculty of Mathematics Theses and Dissertations

Files in This Item:

File Description SizeFormat
Heydarnoori_Abbas_2009.pdf6.85 MBAdobe PDFView/Open


This item is protected by original copyright

All items in UWSpace are protected by copyright, with all rights reserved.

 

University of Waterloo Library
200 University Avenue West
Waterloo, Ontario, Canada N2L 3G1
519 888 4883

contact us | give us feedback | http://www.lib.uwaterloo.ca | © 2006 University of Waterloo