Change method signature refactoring plug-in for eclipse C/C++ development tooling

Refactoring is a programming technique for improving the quality of the source code while preserving its external behavior. Among the many benefits, refactoring helps improve significantly the software system's maintainability and extensibility. Eclipse CDT is an integrated development environm...

Full description

Saved in:
Bibliographic Details
Main Author: Le, Truc Viet.
Other Authors: Stephen John Turner
Format: Industrial Attachment (IA)
Language:English
Published: 2010
Subjects:
Online Access:http://hdl.handle.net/10356/35098
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:Refactoring is a programming technique for improving the quality of the source code while preserving its external behavior. Among the many benefits, refactoring helps improve significantly the software system's maintainability and extensibility. Eclipse CDT is an integrated development environment (IDE) for the C/C++ language based on the Eclipse Platform. Currently, there are certain automated refactoring tools implemented for Eclipse CDT by means of plug-ins. However, one useful refactoring tool is still not yet available for CDT, i.e., change method signature (CMS) refactoring. Hence, this project set out to implement a CMS refactoring plug-in for the Eclipse CDT. The general requirements of a CMS refactoring are that: to be completely automated, to conserve the semantics of the original code, to ensure the consistency of the code and an error-free compilation, and to have a simple and efficient graphical interface. The project was implemented largely based on the Language Toolkit (LTK) API of the Eclipse Platform. The results are that the implemented CMS refactoring plug-in has achieved its primary goals. The plug-in is able to generate the desirable modifications to the source code. However, minor shortcomings do exist in terms of user interface and complex refactorings. These would set the plan on future developments of the plug-in.