Program restructuring or refactoring is often required when a function becomes too large or is involved in multiple activities and therefore exhibits low cohesion. A critical fact...
Abstract. We describe SAFL, a call-by-value first-order functional language which is syntactically restricted so that storage may be statically allocated to fixed locations. Evalua...
Existing package and system configuration management tools suffer from an imperative model, where system administration actions such as upgrading packages or changes to system con...
We describe data structures and algorithms for performing a path-sensitive program analysis to discover equivalences of expressions involving linear arithmetic or uninterpreted fun...
Common subexpression elimination is a well-known compiler optimisation that saves time by avoiding the repetition of the same computation. In lazy functional languages, referential...