Simplifying the construction of source code transformations via automatic syntactic restructurings

A set of restructurings to systematically normalize selective syntax in C++ is presented. The objective is to convert variations in syntax of specific portions of code into a single form to simplify the construction of large, complex program transformation rules. Current approaches to constructing t...

Full description

Saved in:
Bibliographic Details
Published inJournal of software : evolution and process Vol. 29; no. 4
Main Authors Newman, Christian D., Bartman, Brian, Collard, Michael L., Maletic, Jonathan I.
Format Journal Article
LanguageEnglish
Published Chichester Wiley Subscription Services, Inc 01.04.2017
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:A set of restructurings to systematically normalize selective syntax in C++ is presented. The objective is to convert variations in syntax of specific portions of code into a single form to simplify the construction of large, complex program transformation rules. Current approaches to constructing transformations require developers to account for a large number of syntactic cases, many of which are syntactically different but semantically equivalent. The work identifies classes of such syntactic variations and presents normalizing restructurings to simplify each variation to a single, consistent syntactic form. The normalizing restructurings for C++ are presented and applied to two open source systems for evaluation. The evaluation uses the system's test cases to validate that the normalizing restructurings do not affect the systems' tested behavior. In addition, a set of example transformations that benefit from the prior application of normalizing restructurings are presented along with a small survey to assess the effect of the readability of the resultant code.
ISSN:2047-7473
2047-7481
DOI:10.1002/smr.1831