Home
Add
Get on Google Play
Home
> Edit
Add/Update Thesis
Title*
Author's Name*
Supervisor's Name
Abstract
Refactorings are specific code transformations that improve the design of existing code without changing its externally observable behavior. In practice, unit tests are the most commonly used tools to ensure preservation of behavior after refactoring. Since unit tests are tightly coupled with the code, refactoring of the code can also invalidate the associated unit tests. If not properly adapted and maintained along with any transformation in the production code, the safety net provided by the unit tests would not be available and could result in a huge loss in terms of effort and cost. Refactoring guidelines provide mechanics for code transformation and refactoring tools provide support for automatic execution of these mechanics. Since refactoring can result in breaking of client and test code, adaptation techniques to fix these should be appropriately addressed. This thesis extends the state of the art in refactoring by formalizing the concept of unit test adaptation with refactorings. In this thesis, we established that, in the context of refactoring, unit test is different from an ordinary client. Therefore, it requires additional adaptations that are not applicable to any other client in the software. For instance, moving a method to another class requires adaptation of its clients including the unit tests. If the clients are not updated, this refactoring will result in compilation errors. On the other hand if test code is not adapted accordingly, this refactoring will introduce test smells in the test code. The test adaptation mechanics developed in this thesis also improve the design of test code along overall improvement in quality of production code. In this thesis we reviewed and analyzed various concepts and tools for refactoring java programs. and unit testing and identified the areas that could be improved. It also includes identification of problem areas in Fowler’s catalog via empirical evaluation . It has also been demonstrated, how refactoring guidelines can be extended. In addition, a test and client adaptation framework has been designed. This framework can provide a basis for automation of primitive refactorings and their associative adaptive actions to be performed on production and test code. The functions from this framework have been used to develop formal specifications of extended refactoring guidelines at different levels of abstraction. We also show with the help of results from an expert survey, empirical investigation and practical demonstration that our proposed approach has various advantages as compared to conventional approaches.
Subject/Specialization
Language
Program
Faculty/Department's Name
Institute Name
Univeristy Type
Public
Private
Campus (if any)
Institute Affiliation Inforamtion (if any)
City where institute is located
Province
Country
Degree Starting Year
Degree Completion Year
Year of Viva Voce Exam
Thesis Completion Year
Thesis Status
Completed
Incomplete
Number of Pages
Urdu Keywords
English Keywords
Link
Select Category
Religious Studies
Social Sciences & Humanities
Science
Technology
Any other inforamtion you want to share such as Table of Contents, Conclusion.
Your email address*