Skip to Main Content
 

Global Search Box

 
 
 
 

Files

ETD Abstract Container

Abstract Header

A SOURCE CODE TRANSFORMATION LANGUAGE TO SUPPORT SOFTWARE EVOLUTION

Newman, Christian D

Abstract Details

2017, PHD, Kent State University, College of Arts and Sciences / Department of Computer Science.
The research presented in the dissertation focuses on the construction and evaluation of a transformation language to support software maintenance. The language, srcTL, is built on top of the srcML infrastructure. srcML is an XML-based markup language that embeds Abstract Syntax Tree (AST) information into code in the form of XML tags. srcTL takes as input the AST generated by srcML and allows users to manipulate this AST using its operators. srcTL is very modular; relying on tools written for srcML to add additional functionality without complicating the language. Additionally, srcTL uses a methodology that syntactically restructures the source code being transformed to greatly reduce the problem space of some transformations. This methodology is applied automatically by srcTL, with minimal user intervention, to make transformation scripts written in srcTL short and easy to understand. Combined, these qualities make srcTL very easy to learn from scratch and very applicable to lightweight transformation tasks. The language is evaluated on size and complexity against other transformation techniques; one an XML transformation language and the other a modern, maintenance-oriented language. The comparison uses a set of general maintenance problem types. The problems are common to software maintenance and their solutions must be applied in multiple locations within the code, making them ideal candidates for automation. It is shown that srcTL solves several of these general problems with more brevity compared to other transformation languages. It is also shown that, even in worst-case scenarios, srcTL is better or equal in complexity to current, state-of-the-art tools.
Jonathan Maletic (Advisor)
Feodor Dragan (Committee Member)
Mikhail Nesterenko (Committee Member)
Michael Collard (Committee Member)
Gregory Shreve (Committee Member)
Declan Keane (Committee Chair)
170 p.

Recommended Citations

Citations

  • Newman, C. D. (2017). A SOURCE CODE TRANSFORMATION LANGUAGE TO SUPPORT SOFTWARE EVOLUTION [Doctoral dissertation, Kent State University]. OhioLINK Electronic Theses and Dissertations Center. http://rave.ohiolink.edu/etdc/view?acc_num=kent1500560236029486

    APA Style (7th edition)

  • Newman, Christian. A SOURCE CODE TRANSFORMATION LANGUAGE TO SUPPORT SOFTWARE EVOLUTION. 2017. Kent State University, Doctoral dissertation. OhioLINK Electronic Theses and Dissertations Center, http://rave.ohiolink.edu/etdc/view?acc_num=kent1500560236029486.

    MLA Style (8th edition)

  • Newman, Christian. "A SOURCE CODE TRANSFORMATION LANGUAGE TO SUPPORT SOFTWARE EVOLUTION." Doctoral dissertation, Kent State University, 2017. http://rave.ohiolink.edu/etdc/view?acc_num=kent1500560236029486

    Chicago Manual of Style (17th edition)