Show simple item record

dc.contributor.authorHeydarnoori, Abbas
dc.date.accessioned2009-04-27 15:20:04 (GMT)
dc.date.available2009-04-27 15:20:04 (GMT)
dc.date.issued2009-04-27T15:20:04Z
dc.date.submitted2009
dc.identifier.urihttp://hdl.handle.net/10012/4341
dc.description.abstractObject-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.en
dc.language.isoenen
dc.publisherUniversity of Waterlooen
dc.subjectObject-Oriented Application Frameworksen
dc.subjectFramework Comprehensionen
dc.subjectDynamic Analysisen
dc.subjectReverse Engineeringen
dc.subjectFramework Documentationen
dc.subjectConcept-Implementation Templatesen
dc.titleSupporting Framework Use via Automatically Extracted Concept-Implementation Templatesen
dc.typeDoctoral Thesisen
dc.pendingfalseen
dc.subject.programComputer Science (Software Engineering)en
uws-etd.degree.departmentSchool of Computer Scienceen
uws-etd.degreeDoctor of Philosophyen
uws.typeOfResourceTexten
uws.peerReviewStatusUnrevieweden
uws.scholarLevelGraduateen


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record


UWSpace

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

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

DSpace software

Service outages