Skip to Main Content
 

Global Search Box

 
 
 
 

Files

ETD Abstract Container

Abstract Header

NORMALIZING-REFACTORINGS: SIMPLIFYING THE CONSTRUCTION OF SOURCE CODE TRANSFORMATIONS

Newman, Christian D

Abstract Details

2013, MS, Kent State University, College of Arts and Sciences / Department of Computer Science.
NEWMAN, CHRISTIAN DONALD, M.S., November 2013 COMPUTER SCIENCE NORMALIZING-REFACTORINGS: SIMPLIFYING THE CONSTRUCTION OF SOURCE CODE TRANSFORMATIONS (50 PP.) Director of Thesis: Jonathan I. Maletic An approach to systematically normalize selective syntax in order to simplify the construction of source code transformations is presented. The approach, termed Normalizing-Refactoring, identifies segments of source code that are syntactically different but semantically equivalent. It then rewrites these code segments into a single normalized, equivalent syntactic form. The main goal of this work is to assist in the automated construction of large-scale complex source code transformations. Such transformations include support for adaptive maintenance tasks such as migrating a large-scale software system to a new API, new version of the operating system, or compiler. Normalizing-refactoring aims to simplify the syntax to drastically ease the construction of such complex source code transformations. That is, the normalization process alleviates the need to build multiple variations of a transformation to deal with every possible syntactic situation. This can be viewed as a type of preprocessing, performed prior to the transformation. However, these Normalizing-Refactorings must be applied selectively; only to the source code directly involved in the transformation. Normalizing-Refactorings leverage srcML, an XML format that augments source code with syntactic information. Because srcML is an XML format, standard XML tools such as XSLT and XPath can be readily used. Source code is converted into its corresponding srcML representation then Normalizing-Refactorings are applied to the srcML. This process modifies the DOM structure of the srcML. Lastly, the srcML is converted back to source code, reflecting the results of the refactorings. srcML does not impact the formatting or original code style. Furthermore, the Normalizing-Refactorings cause minimal impact to the original formatting. The Normalizing-Refactorings are evaluated with respect to efficiency and correctness. The goal is to have a highly scalable and accurate set of tools to apply these refactorings. The tool must output correct modifications to srcML and generate code that compiles. All whitespace and comment positions within the document should be maintained whenever possible. The refactorings are applied to a large body of source code and validated against previously developed test cases.
Jonathan Maletic (Advisor)
Jin Ruoming (Committee Member)
Ye Zhao (Committee Member)
Michael Collard (Committee Member)
50 p.

Recommended Citations

Citations

  • Newman, C. D. (2013). NORMALIZING-REFACTORINGS: SIMPLIFYING THE CONSTRUCTION OF SOURCE CODE TRANSFORMATIONS [Master's thesis, Kent State University]. OhioLINK Electronic Theses and Dissertations Center. http://rave.ohiolink.edu/etdc/view?acc_num=kent1385057030

    APA Style (7th edition)

  • Newman, Christian. NORMALIZING-REFACTORINGS: SIMPLIFYING THE CONSTRUCTION OF SOURCE CODE TRANSFORMATIONS. 2013. Kent State University, Master's thesis. OhioLINK Electronic Theses and Dissertations Center, http://rave.ohiolink.edu/etdc/view?acc_num=kent1385057030.

    MLA Style (8th edition)

  • Newman, Christian. "NORMALIZING-REFACTORINGS: SIMPLIFYING THE CONSTRUCTION OF SOURCE CODE TRANSFORMATIONS." Master's thesis, Kent State University, 2013. http://rave.ohiolink.edu/etdc/view?acc_num=kent1385057030

    Chicago Manual of Style (17th edition)