{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,5]],"date-time":"2024-09-05T03:06:33Z","timestamp":1725505593267},"publisher-location":"Berlin, Heidelberg","reference-count":26,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540787907"},{"type":"electronic","value":"9783540787914"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"DOI":"10.1007\/978-3-540-78791-4_10","type":"book-chapter","created":{"date-parts":[[2008,4,1]],"date-time":"2008-04-01T23:13:15Z","timestamp":1207091595000},"page":"147-162","source":"Crossref","is-referenced-by-count":13,"title":["How to Do a Million Watchpoints: Efficient Debugging Using Dynamic Instrumentation"],"prefix":"10.1007","author":[{"given":"Qin","family":"Zhao","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Rodric","family":"Rabbah","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Saman","family":"Amarasinghe","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Larry","family":"Rudolph","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Weng-Fai","family":"Wong","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"10_CR1","unstructured":"GNU\/FSF GDB: The GNU Project Debugger"},{"key":"10_CR2","doi-asserted-by":"publisher","first-page":"37","DOI":"10.1145\/199818.199852","volume":"30","author":"M. Copperman","year":"1995","unstructured":"Copperman, M., Thomas, J.: Poor man\u2019s watchpoints. SIGPLAN Not.\u00a030, 37\u201344 (1995)","journal-title":"SIGPLAN Not."},{"key":"10_CR3","doi-asserted-by":"crossref","unstructured":"Wahbe, R.: Efficient data breakpoints. In: Proceedings of the Fifth International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 200\u2013212 (1992)","DOI":"10.1145\/143365.143518"},{"key":"10_CR4","doi-asserted-by":"crossref","unstructured":"Wahbe, R., Lucco, S., Graham, S.L.: Practical data breakpoints: design and implementation. In: Proceedings of the SIGPLAN 1993 Conference on Programming Language Design and Implementation, pp. 1\u201312 (1993)","DOI":"10.1145\/155090.155091"},{"key":"10_CR5","unstructured":"Nethercote, N.: Dynamic Binary Analysis and Instrumentation. PhD thesis, University of Cambridge (2004), http:\/\/valgrind.org\/"},{"key":"10_CR6","doi-asserted-by":"crossref","unstructured":"Luk, C.-K., Cohn, R., Muth, R., Patil, H., Klauser, A., Lowney, G., Wallace, S., Reddi, V.J., Hazelwood, K.: Pin: building customized program analysis tools with dynamic instrumentation. In: Proceedings of the SIGPLAN 2005 Conference on Programming Language Design and Implementation, pp. 190\u2013200 (2005)","DOI":"10.1145\/1065010.1065034"},{"key":"10_CR7","doi-asserted-by":"crossref","unstructured":"Bala, V., Duesterwald, E., Banerjia, S.: Dynamo: a transparent dynamic optimization system. In: Proceedings of the SIGPLAN 2000 Conference on Programming Language Design and Implementation, pp. 1\u201312 (2000)","DOI":"10.1145\/349299.349303"},{"key":"10_CR8","unstructured":"Bruening, D.: Efficient, Transparent, and Comprehensive Runtime Code Manipulation. PhD thesis, Massachusetts Institute of Technology (2004), http:\/\/www.cag.csail.mit.edu\/rio\/"},{"key":"10_CR9","first-page":"17","volume-title":"Proceedings of the 2005 USENIX Annual Technical Conference","author":"J. Seward","year":"2005","unstructured":"Seward, J., Nethercote, N.: Using Valgrind to detect undefined value errors with bit-precision. In: Proceedings of the 2005 USENIX Annual Technical Conference, pp. 17\u201330. USENIX Association, Berkeley, CA, USA (2005)"},{"key":"10_CR10","doi-asserted-by":"crossref","unstructured":"Zhang, X., Gupta, N., Gupta, R.: Locating faults through automated predicate switching. In: Proceeding of the 28th international conference on Software engineering, pp. 272\u2013281 (2006)","DOI":"10.1145\/1134285.1134324"},{"key":"10_CR11","doi-asserted-by":"crossref","unstructured":"Cheng, W., Zhao, Q., Yu, B., Hiroshige, S.: Tainttrace: Efficient flow tracing with dynamic binary rewriting. In: Proceedings of the 11th IEEE Symposium on Computers and Communications, Washington, pp. 749\u2013754 (2006)","DOI":"10.1109\/ISCC.2006.158"},{"key":"10_CR12","doi-asserted-by":"crossref","unstructured":"Qin, F., Wang, C., Li, Z., Kim, H.s., Zhou, Y., Wu, Y.: LIFT: A Low-Overhead Practical Information Flow Tracking System for Detecting Security Attacks. In: Proceedings of the 39th Annual International Symposium on Microarchitecture, Washington, pp. 135\u2013148 (2006)","DOI":"10.1109\/MICRO.2006.29"},{"key":"10_CR13","doi-asserted-by":"crossref","unstructured":"Nethercote, N., Seward, J.: How to shadow every byte of memory used by a program. In: Proceedings of the 3rd international conference on Virtual execution environments, pp. 65\u201374 (2007)","DOI":"10.1145\/1254810.1254820"},{"key":"10_CR14","unstructured":"Standard Performance Evaluation Corporation. SPEC CPU 2000 Benchmark suite (2000), http:\/\/www.spec.org\/osg\/cpu2000\/"},{"key":"10_CR15","unstructured":"Wilander, J., Kamkar, M.: A comparison of publicly available tools for dynamic buffer overflow prevention. In: Proceedings 10th Network and Distributed System Security Symposium, pp. 149\u2013162 (2003)"},{"key":"10_CR16","unstructured":"Qin, F., Lu, S., Zhou, Y.: SafeMem: Exploiting ECC-Memory for Detecting Memory Leaks and Memory Corruption During Production Runs. In: Proceedings of the 2005 International Symposium on High Performance Computer Architecture, pp. 291\u2013302 (2005)"},{"key":"10_CR17","doi-asserted-by":"crossref","unstructured":"Zhou, P., Qin, F., Liu, W., Zhou, Y., Torrellas, J.: iWatcher: Efficient Architectural Support for Software Debugging. In: Proceedings of the 31st International Symposium on Computer Architecture, pp. 224\u2013237 (2004)","DOI":"10.1145\/1028176.1006720"},{"key":"10_CR18","doi-asserted-by":"crossref","unstructured":"Venkataramani, G., Roemer, B., Prvulovic, M., Solihin, Y.: MemTracker: Efficient and Programmable Support for Memory Access Monitoring and Debugging. In: HPCA07, February 2007, pp. 273\u2013284 (2007)","DOI":"10.1109\/HPCA.2007.346205"},{"key":"10_CR19","doi-asserted-by":"publisher","first-page":"303","DOI":"10.1109\/HPCA.2005.18","volume-title":"Proceedings of the 2005 International Symposium on High Performance Computer Architecture","author":"M.L. Corliss","year":"2005","unstructured":"Corliss, M.L., Lewis, E.C., Roth, A.: Low-Overhead Interactive Debugging via Dynamic Instrumentation with DISE. In: Proceedings of the 2005 International Symposium on High Performance Computer Architecture, Washington, DC, USA, pp. 303\u2013314. IEEE Computer Society Press, Los Alamitos (2005)"},{"key":"10_CR20","doi-asserted-by":"publisher","first-page":"261","DOI":"10.1147\/rd.502.0261","volume":"50","author":"R. Shetty","year":"2006","unstructured":"Shetty, R., Kharbutli, M., Solihin, Y., Prvulovic, M.: HeapMon: a helper-thread approach to programmable, automatic, and low-overhead memory bug detection. IBM Journal of Research and Development\u00a050, 261\u2013275 (2006)","journal-title":"IBM Journal of Research and Development"},{"key":"10_CR21","unstructured":"Hastings, R., Joyce, B.: Purify: Fast detection of memory leaks and access errors. In: Proceedings of the Winter USENIX Conference 1992, pp. 125\u2013136 (1992)"},{"key":"10_CR22","doi-asserted-by":"crossref","unstructured":"Kumar, N., Childers, B.R., Soffa, M.L.: Tdb: a source-level debugger for dynamically translated programs. In: Proceedings of the sixth international symposium on Automated analysis-driven debugging, pp. 123\u2013132 (2005)","DOI":"10.1145\/1085130.1085147"},{"key":"10_CR23","unstructured":"Roberts, P.E.: Implementation And Evaluation Of Data Breakpoint Scheme. In: An Interactive Debugger. Master\u2019s thesis, University of Utah (1996), http:\/\/www.cs.utah.edu\/flux\/papers\/perobert_abstract.html"},{"key":"10_CR24","unstructured":"Keppel, D.: Fast Data Breakpoints. Technical Report TR-93-04-06, University of Washington (1993)"},{"key":"10_CR25","unstructured":"Walsh, R.: Patches for Valgrind (2005), http:\/\/valgrind.org\/downloads\/variants.html"},{"key":"10_CR26","unstructured":"The GNU GDB Project: GDB and Reversible Debugging (2006), http:\/\/sourceware.org\/gdb\/news\/reversible.html"}],"container-title":["Lecture Notes in Computer Science","Compiler Construction"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-540-78791-4_10.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,4,27]],"date-time":"2021-04-27T11:22:23Z","timestamp":1619522543000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-540-78791-4_10"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[null]]},"ISBN":["9783540787907","9783540787914"],"references-count":26,"URL":"https:\/\/doi.org\/10.1007\/978-3-540-78791-4_10","relation":{},"subject":[]}}