Jaramillo, Clara; Gupta, Rajiv; Soffa, Mary Lou FULLDOC: A full reporting debugger for optimized code. (English) Zbl 0966.68569 Palsberg, Jens (ed.), Static analysis. 7th internationales symposium, SAS 2000, Santa Barbara, CA, USA, June 29 - July 6, 2000. Proceedings. Berlin: Springer. Lect. Notes Comput. Sci. 1824, 240-259 (2000). Summary: As compilers increasingly rely on optimizations to achieve high performance, the effectiveness of source level debuggers for optimized code continues to falter. Even if values of source variables are computed in the execution of the optimized code, source level debuggers of optimized code are unable to always report the expected values of source variables at breakpoints. In this paper, we present FULLDOC, a debugger that can report all of the expected values of source variables that are computed in the optimized code. FULLDOC uses statically computed information to guide the gathering of dynamic information that enables full reporting. FULLDOC can report expected values at breakpoints when reportability is affected because values have been overwritten early, due to code hoisting or register reuse, or written late, due to code sinking. Our debugger can also report values that are path sensitive in that a value may be computed only along one path or the location of the value may be different along different paths. We implemented FULLDOC for C programs, and experimentally evaluated the effectiveness of reporting expected values. Our experimental results indicate that FULLDOC can report 31% more values than are reportable using only statically computed information. We also show improvements of at least 26% over existing schemes that use limited dynamic information.For the entire collection see [Zbl 0941.00028]. MSC: 68U99 Computing methodologies and applications 68N20 Theory of compilers and interpreters Software:FULLDOC PDFBibTeX XMLCite \textit{C. Jaramillo} et al., Lect. Notes Comput. Sci. 1824, 240--259 (2000; Zbl 0966.68569)