Dissertation/Thesis Abstract

Program metamorphosis
by Reichenbach, Christoph, Ph.D., University of Colorado at Boulder, 2010, 233; 3404054
Abstract (Summary)

Today's computer programs are logical constructs described in human-readable form as source code. Manipulating such source code can be challenging even to trained programmers, as modifications in one location can affect program behaviour described in other locations in nontrivial ways.

While there are many programs that help programmers modify source code to evolve programs, these tools are typically very limited in their scope: they either give few (if any) guarantees to the programmer about what program behaviour they will affect, or they promise near-total behaviour preservation but accomplish this by means that the programmer may not always agree with.

In this work we introduce a novel mechanism for program evolution. Our principal idea is that we capture program behaviour in the form of program models and then permit the programmer to apply an arbitrary number of changes to the program. After these changes, we compute behavioural differences between the original program behaviour and the modified program behaviour. Programmers can then choose which changes they accept and which changes they wish to undo, and how.

We find that our approach subsumes and extends on the existing approaches for transforming programs with near-total behaviour preservation, with stronger guarantees of behaviourpreservation even for a language for which such guarantees are traditionally hard to obtain (Java). Furthermore, we show that for another language (SML) our behaviour-preservation guarantees can be near-absolute whilst permitting complex multi-step transformations that speed up program execution (algorithmic optimisation).

Indexing (document details)
Advisor: Diwan, Amer S.
Commitee: Anderson, Kenneth M., Chang, Bor-Yuh E., Martin, James H., Siek, Jeremy
School: University of Colorado at Boulder
Department: Computer Science
School Location: United States -- Colorado
Source: DAI-B 71/06, Dissertation Abstracts International
Subjects: Computer science
Keywords: Algorithmic optimization, Program metamorphosis, Refactoring
Publication Number: 3404054
ISBN: 978-1-109-78232-5
Copyright © 2020 ProQuest LLC. All rights reserved. Terms and Conditions Privacy Policy Cookie Policy