To build the automaton that can be used to answer post* questions (e.g., is this (error) configuration reachable? Is it reachable if we start with these values for the globals?) We'll assume that there are N uninitialized globals, and no locals of main. Also that line 1 is the first line of main. Start with N initial states and 1 final state, where N is k choose 2, and k is the number of global variables (because each variable is either T or F). Put an edge labeled (1) from each initial state to each final state. To grow the automaton: Find an edge s1 -> s2 labeled L. For each NON-CALL transition rule < globs, L> -> < globs', L'> add a new edge to the automaton (a) whose source is the initial state that corresponds to globs (b) whose target is s2 (c) whose label is L' (which can be epsilon) For each CALL transition rule < globs, L> -> < globs', L'>