The task of mappingbetween source programs and machine code, once the code has been optimizedand transformed by a compiler is often di cult. Yet there are many instances, such as debugging optimized code or attributing performance analysis data to source lines, when it is useful or necessary to understand at the source level what is occurring in the binary. The standard approach has been for tools to attempt to map directly from the optimized binary to the original source. Such mappings are often fragile, and sometimes inaccurate or misleading. We suggest an alternative approach. Rather thanmappingdirectly between the original source and the binary, we create a modi ed version of the source program, still recognizable, but updated to re ect some of the e ects of optimizations,thus facilitating mappingfromthe binary. We have implemented a tool, Optview, to demonstrate and test these ideas.
Caroline Tice, Susan L. Graham