We describe computation migration,a new technique that is based on compile-time program transformations, for accessing remote data in a distributed-memory parallel system. In cont...
Abstract--The expression of parallel codes through abstract, high-level specifications of global control and data flow can greatly simplify the task of creating large parallel prog...
Dynamic software update is a technique by which a running program can be updated with new code and data without interrupting its execution. Often we will want to preserve properti...
Program slicing is a well-known technique that extracts from a program those statements which are relevant to a particular criterion. While static slicing does not consider any in...
There are now a number of bidirectional programming languages, where every program can be read both as a forward transformation mapping one data structure to another and as a reve...
J. Nathan Foster, Alexandre Pilkiewicz, Benjamin C...