Show simple item record

dc.contributor.authorBeiko, Jeffrey Lee
dc.contributor.otherQueen's University (Kingston, Ont.). Theses (Queen's University (Kingston, Ont.))en
dc.date2007-10-05 12:48:56.977en
dc.date.accessioned2008-01-02T19:05:58Z
dc.date.available2008-01-02T19:05:58Z
dc.date.issued2008-01-02T19:05:58Z
dc.identifier.urihttp://hdl.handle.net/1974/958
dc.descriptionThesis (Master, Computing) -- Queen's University, 2007-10-05 12:48:56.977en
dc.description.abstractSoftware maintenance is the lifecycle activity that consumes the greatest amount of resources. Maintenance is a difficult task because of the size of software systems. Much of the time spent on maintenance is spent trying to understand source code. Refactoring offers a way to improve source code design and quality. We present an approach to refactoring that is based on the functionality of source code. Sets of heuristics are captured as patterns of source code. Refactoring opportunities are located using these patterns, and dependencies are verified to check if the located refactorings preserve the dependencies in the source code. Our automated tool performs the functional-based refactoring opportunities detection process, verifies dependencies, and performs the refactorings that preserve dependencies. These refactorings transform the source code into a series of functional regions of code, which makes it easier for developers to locate code they are searching for. This also creates a chunked structure in the source code, which helps with bottom-up program comprehension. Thus, this process reduces the amount of time required for maintenance by reducing the amount of time spent on program comprehension. We perform case studies to demonstrate the effectiveness of our automated approach on two open source applications.en
dc.format.extent592182 bytes
dc.format.mimetypeapplication/pdf
dc.languageenen
dc.language.isoenen
dc.relation.ispartofseriesCanadian thesesen
dc.rightsThis publication is made available by the authority of the copyright owner solely for the purpose of private study and research and may not be copied or reproduced except as permitted by the copyright laws without written authority from the copyright owner.en
dc.subjectAutomated refactoringen
dc.subjectBottom-up source code comprehensionen
dc.subjectProgram comprehensionen
dc.titleFunctionality based refactoring : improving source code comprehensionen
dc.typeThesisen
dc.description.degreeMasteren
dc.contributor.supervisorZou, Yingen
dc.contributor.departmentComputingen


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record