Reconstructing Line References from Optimized Binary Code for Source-Level Annotation