Masters Thesis:
Software Restructuring

Revised: 5/24/2011
Home  Courses  SWTrack  Code  Handouts  StudCult  CoreTech  Books  Articles  Math  Research  TechnicalLinks  Student Projects  CASE Projects  Project Topics  SWDev  WebDev  News  OtherLinks  SiteDesign  Graduates  AllPages  Office Hours  Seminars  Notices  Summer Projects 


Project Topics Master's Projects Master's Theses Research References Cloner Software Foundry

image file not found
Advisor Fawcett and Candidate Singh


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


  1. This research attempts to answer the question, "Can one automate the process of restructuring source code?"
  2. 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.
  3. 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.
  4. Our restructuring process uses a parse tree designed to capture and provide convenient manipulation of this information, shown in the diagram below.
image file not found
Restructuring Parse Tree

Santosh's committee - Drs. Fawcett, Pease, Lee-Glauser, Ercanli with Candidate Santosh Singh"