A partial evaluator is an automatic program transformation tool. Given as input a general program and part of its input, it can produce a specialized version. If the partial evalu...
higher, more appropriate, level of abstraction. It still entails writing programs, usually by using symbols, keywords, and operational instructions to tell the computer what we wan...
Data parallel programs are sensitive to the distribution of data across processor nodes. We formulate the reduction of inter-node communication as an optimization on a colored gra...
The model-based transformation of loop programs is a way of detecting fine-grained parallelism in sequential programs. One of the challenges is to agglomerate the parallelism to a...
Program traces can be used to drive visualisations of reusable components, but such traces can be gigabytes in size, are very expensive to generate, and are hard to extract inform...
Craig Anslow, Stuart Marshall, Robert Biddle, Jame...