Program Metamorphosis
Dissertation directed by Prof. Dr. Amer Diwan
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 a ect 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 a ect, 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 di erences 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).
دریافت فایل انگلیسی باترجمه کامپیوتری درصورت تمایل به ترجمه حرفه ای با 09139826993 شاه حیدری تماس حاصل فرمایید هربرگ ترجمه فوق حرفه ای 10000تومان