Entry Wahbe:1993:PDB 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{Wahbe:1993:PDB,
  author =       "Robert Wahbe and Steven Lucco and Susan L. Graham",
  title =        "Practical data breakpoints: design and
                 implementation",
  journal =      j-SIGPLAN,
  volume =       "28",
  number =       "6",
  pages =        "1--12",
  month =        jun,
  year =         "1993",
  CODEN =        "SINODQ",
  ISBN =         "0-89791-598-4",
  ISBN-13 =      "978-0-89791-598-4",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:16:37 MST 2003",
  bibsource =    "http://portal.acm.org/;
                 http://www.acm.org/pubs/contents/proceedings/pldi/155090/index.html",
  URL =          "http://www.acm.org:80/pubs/citations/proceedings/pldi/155090/p1-wahbe/",
  abstract =     "A data breakpoint associates debugging actions with
                 programmer-specified conditions on the memory state of
                 an executing program. Data breakpoints provide a means
                 for discovering program bugs that are tedious or
                 impossible to isolate using control breakpoints alone.
                 In practice, programmers rarely use data breakpoints,
                 because they are either unimplemented or prohibitively
                 slow in available debugging software. In this paper, we
                 present the design and implementation of a practical
                 data breakpoint facility. A data breakpoint facility
                 must monitor all memory updates performed by the
                 program being debugged. We implemented and evaluated
                 two complementary techniques for reducing the overhead
                 of monitoring memory updates. First, we checked write
                 instructions by inserting checking code directly into
                 the program being debugged. The checks use a {\em
                 segmented bitmap\/} data structure that minimizes
                 address lookup complexity. Second, we developed data
                 flow algorithms that eliminate checks on some classes
                 of write instructions but may increase the complexity
                 of the remaining checks. We evaluated these techniques
                 on the SPARC using the SPEC benchmarks. Checking each
                 write instruction using a segmented bitmap achieved an
                 average overhead of 42\%. This overhead is {\em
                 independent\/} of the number of breakpoints in use.
                 Data flow analysis eliminated an average of 79\% of the
                 dynamic write checks. For scientific programs such the
                 NAS kernels, analysis reduced write checks by a factor
                 of ten or more. On the SPARC these optimizations
                 reduced the average overhead to 25\%.",
  acknowledgement = ack-nhfb,
  affiliation =  "Div. of Comput. Sci., California Univ., Berkeley, CA,
                 USA",
  annote =       "Published as part of the Proceedings of PLDI'93.",
  classification = "C4240 (Programming and algorithm theory); C6110
                 (Systems analysis and programming); C6120 (File
                 organisation); C6150G (Diagnostic, testing, debugging
                 and evaluating systems)",
  confdate =     "23-25 June 1993",
  conflocation = "Albuquerque, NM, USA",
  confsponsor =  "ACM",
  keywords =     "Address lookup complexity; Checking code;
                 Complementary techniques; Complexity; Data flow
                 algorithms; Debugging actions; design; Executing
                 program; languages; Memory state; Memory updates;
                 performance; Practical data breakpoint facility;
                 Programmer-specified conditions; Segmented bitmap data
                 structure; SPARC; SPEC benchmarks; Write instructions",
  subject =      "{\bf C.0} Computer Systems Organization, GENERAL,
                 SPARC. {\bf D.2.5} Software, SOFTWARE ENGINEERING,
                 Testing and Debugging, Debugging aids. {\bf D.3.4}
                 Software, PROGRAMMING LANGUAGES, Processors,
                 Optimization.",
  thesaurus =    "Computational complexity; Data structures; Program
                 debugging; Storage management; System monitoring",
}

Related entries