Verification of programs with procedures, multi-threaded programs, and higher-order functional programs can be effectively auusing abstraction and refinement schemes that rely o...
We show how linear typing can be used to obtain functional programs which modify heap-allocated data structures in place. We present this both as a "design pattern" for ...
Several induction theorem provers were developed to verify functional programs mechanically. Unfortunately, automatic verification often fails for functions with accumulating arg...
: Program slicing is a well known family of techniques used to identify code fragments which depend on or are depended upon specific program entities. They are particularly useful ...
We present a technique for inducing functional programs from few, well chosen input/output-examples (I/Oexamples). Potential applications for automatic program or algorithm induct...
Using a strongly typed functional programming language for genetic programming has many advantages, but evolving functional programs with variables requires complex genetic operat...
: Functional programs often combine separate parts of the program using intermediate data structures for communicating results. Programs so defined are easier to understand and mai...
Wadler's deforestation algorithm eliminates intermediate data structures from functional programs. To be suitable for inclusion in a compiler, it must terminate on all progra...
Abstract. We propose a new method to verify that a higher-order, treeprocessing functional program conforms to an input/output specification. Our method reduces the verification pr...
Abstract. The use of monads to structure functional programs is described. Monads provide a convenient framework for simulating effects found in other languages, such as global st...