Cool: A Control-Flow Generator for System Analysis

Cool is a unifying control-flow analysis (CFA) generator for system analysis. It uniformly supports the automatic generation of transition systems and flow graphs from process algebra terms and programs of programming languages. Basically, it relies on “unrolling” its argument according to transition rules resembling structural operational semantic rules. As a side-effect of the unifying view of process algebra and programming language programs, Cool supports the automatic construction of CFA-components of optimizing compilers, which are usually still hand-coded. Thus, combining it with data-flow analysis and optimization generators like the DFA&OPT-METAFrame tool kit it renders possible the generation of complete optimizers.