With the rise of machine learning, there is a great deal of interest in
treating programs as data to be fed to learning algorithms. However, programs
do not start off in a form that is immediately amenable to most off-the-shelf
learning techniques. Instead, it is necessary to transform