Entry Brooks:1992:NAD from sigplan1990.bib

Last update: Thu Apr 12 03:37:15 MDT 2012                Valid HTML 3.2!

Index sections

Top | Symbols | Numbers | Math | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

BibTeX entry

@Article{Brooks:1992:NAD,
  author =       "Gary Brooks and Gilbert J. Hansen and Steve Simmons",
  title =        "A new approach to debugging optimized code",
  journal =      j-SIGPLAN,
  volume =       "27",
  number =       "7",
  pages =        "1--11",
  month =        jul,
  year =         "1992",
  CODEN =        "SINODQ",
  ISBN =         "0-89791-475-9",
  ISBN-13 =      "978-0-89791-475-8",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  LCCN =         "QA76.7.S53 1992",
  bibdate =      "Sun Dec 14 09:16:22 MST 2003",
  bibsource =    "Compendex database; http://portal.acm.org/;
                 http://www.acm.org/pubs/contents/proceedings/pldi/143095/index.html",
  URL =          "http://www.acm.org:80/pubs/citations/proceedings/pldi/143095/p1-brooks/",
  abstract =     "Debugging optimized code is a desirable capability not
                 provided by most current debuggers. Users are forced to
                 debug the unoptimized code when a bug occurs in the
                 optimized version. Current research offers partial
                 solutions for a small class of optimizations, but not a
                 unified approach that handles a wide range of
                 optimizations, such as the sophisticated optimizations
                 performed by supercomputer compilers. The trend with
                 current research is to make the effects of optimization
                 transparent, i.e., provide the same behavior as that of
                 the unoptimized program. We contend that this approach
                 is neither totally feasible nor entirely desirable.
                 Instead, we propose a new approach based on the premise
                 that one should be able to debug the optimized code.
                 This implies mapping the current state of execution
                 back to the original source, tracking the location of
                 variables, and mapping compiler-synthesized variables
                 back to user-defined induction variables. To aid the
                 user in understanding program behavior, various visual
                 means are provided, e.g., different forms of
                 highlighting and annotating of the source\slash
                 assembly code. While this unavoidably requires the user
                 to have a basic understanding of the optimizations
                 performed, it permits the user to see what is actually
                 happening, infer the optimizations performed, and
                 detect bugs. An example illustrates the effectiveness
                 of visual feedback. To support conventional debugger
                 functionality for optimized code, the compiler must
                 generate additional information. Current
                 compiler-debugger interfaces (CDIs) were neither
                 designed to handle this new information nor are they
                 extensible in a straight forward manner. Therefore, a
                 new CDI was designed that supports providing visual
                 feedback and the debugging of optimized code. This
                 paper specifies the details of a new CDI and relates
                 each feature back to the debugger functionality it
                 supports.",
  acknowledgement = ack-nhfb,
  affiliation =  "Convex Computer Corp",
  affiliationaddress = "Richardson, TX, USA",
  annote =       "Published as part of the Proceedings of PLDI'92.",
  classification = "723.1",
  conference =   "Proceedings of the ACM SIGPLAN '92 Conference on
                 Programming Language Design and Implementation",
  conferenceyear = "1992",
  journalabr =   "SIGPLAN Not",
  keywords =     "algorithms; Compiler-debugger interfaces; Computer
                 programming; languages; measurement; Optimized code
                 debugging; performance; Program compilers; Program
                 debugging; reliability",
  meetingaddress = "San Francisco, CA, USA",
  meetingdate =  "Jun 17--19 1992",
  meetingdate2 = "06/17--19/92",
  sponsor =      "ACM",
  subject =      "{\bf D.2.5} Software, SOFTWARE ENGINEERING, Testing
                 and Debugging, Debugging aids. {\bf D.3.4} Software,
                 PROGRAMMING LANGUAGES, Processors, Optimization. {\bf
                 D.3.4} Software, PROGRAMMING LANGUAGES, Processors,
                 Compilers. {\bf D.3.2} Software, PROGRAMMING LANGUAGES,
                 Language Classifications, FORTRAN. {\bf D.2.8}
                 Software, SOFTWARE ENGINEERING, Metrics, Performance
                 measures.",
}

Related entries