Can formal specification techniques be scaled-up to industrial problems such as the development of domain-specific languages and the renovation of large COBOL systems? We have developed a compiler for the specification formalism Asf+Sdf that has been used successfully to meet such industrial challenges. This result is achieved in two ways: the compiler performs a variety of optimizations and generates efficient C code, and the compiled code uses a run-time memory management system based on maximal subterm sharing and mark-and-sweep garbage collection. We present an overview of these techniques and evaluate their effectiveness in several benchmarks. It turns out that execution speed of compiled Asf+Sdf specifications is at least as good as that of comparable systems, while memory usage is in many cases an order of magnitude smaller.

, ,
CWI
Software Engineering [SEN]
Software Analysis and Transformation

van den Brand, M.G.J, Klint, P, & Olivier, P.A. (1999). Compilation and memory management for ASF+SDF. Software Engineering [SEN]. CWI.