Summary
Refactoring is the process of improving the design of existing programs without changing their external behaviour. Behaviour preservation guarantees that refactoring does not introduce (nor remove) any bugs. If applied properly, refactoring can make a program easier to understand or modify. While it is possible to refactor a program by hand, tool support is considered invaluable as it is more reliable and allows refactorings to be done (and undone) easily. Taking the Haskell programming language as a case study, this research investigates the prospects of refactoring in the context of functional programming languages, both to complement the existing work on refactoring within other programming paradigms, such as OO, and to make refactoring techniques and tools available to functional programmers. By building a tool for refactoring Haskell programs, we addressed the key issues involved in tool support of refactorings, including the supporting technologies for building refactoring tools, analysing the side-conditions and transformation rules of individual refactorings for behaviour preservation purpose, and the preservation of the layout and comments of the refactored programs. Along with the development of the Haskell refactorer, we also investigated the specification and verification of validity of refactorings. This helped us to clarify the definition of refactorings, to improve our confidence in the behaviourpreservation of refactorings, and to reduce the need for testing.
Read More ↓Edition Statements
- Publication Date:2006
Thesis Information
- Degree:Ph.D.
- University:University of Kent
Publication Statements
- Language:eng
- Publication Date:2006
Edition Identifiers
- ethos:555284
Subjects
Writers
No reviews yet. Be the first to rate this work.
Rate & Review