tags:

views:

42

answers:

1

I am currently working on a Java compiler. In the context of the compiler, slightly different inputs may result in different output (e.g. adding final in Java permits compiler to perform more optimizations). In some other cases, different inputs may result into the same output (e.g. de-sugering some constructs - for-each loops).

When debugging how a compiler handles these cases, I usually run the compiler and try to figure out where the runtime execution path of the compiler diverge (or converge). Needless to say, it's very tedious.

I am wondering if you have any tips that could help me debugging these situations.

Also, is there any tool that can trace two program executions and provide you the diffs of the execution path.

+2  A: 
280Z28