Masters Thesis:
Software Restructuring
Revised: 5/24/2011
Advisor Fawcett and Candidate Singh
Defense
Santosh Singh Kesar successfully defended this work on October 8th, 2008, before his committee: Drs. Ehat Ercanli (chair),
Daniel Pease, Gina Lee-Glauser, and Jim Fawcett (advisor).
Thesis Documents and Code
Defense Presentation
Thesis Document
Restructuring Code
Summary
-
This research attempts to answer the question, "Can one automate the process of restructuring source code?"
-
Santosh demonstrated that, using an informal recursive descent parsing process, large global functions and
class methods can be restructured
as compositions of smaller functions. This process is entirely automatic, based on user entered parameters at the
beginning of the restructuring process.
-
The fundamental idea is to evaluate feasible regions from which to extract smaller functions, based on control scope
and regions of data definition and manipulation.
-
Our restructuring process uses a parse tree designed to capture and provide convenient manipulation of this information,
shown in the diagram below.
Restructuring Parse Tree
Santosh's committee - Drs. Fawcett, Pease, Lee-Glauser, Ercanli with Candidate Santosh Singh"