Continuation-equivalent states (ICSE 2010)
For ICSE 2010, I published a paper on statically optimizing typestate-based runtime monitors by determining “continuation-equivalent states”. The basic idea is to use a backwards analysis to determine for every transition statement classes of states that are equivalent for all possible continuations of the control flow after this statement. Then next we use a “traditional” forward analysis to determine all possible typestates at every transition statement. When we find that a transition statement may only switch between equivalent states, then the transition can be omitted.





