{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,23]],"date-time":"2026-04-23T06:24:28Z","timestamp":1776925468694,"version":"3.51.2"},"reference-count":32,"publisher":"Elsevier BV","issue":"2","license":[{"start":{"date-parts":[[2003,10,1]],"date-time":"2003-10-01T00:00:00Z","timestamp":1064966400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2003,10,1]],"date-time":"2003-10-01T00:00:00Z","timestamp":1064966400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/legal\/tdmrep-license"},{"start":{"date-parts":[[2013,7,29]],"date-time":"2013-07-29T00:00:00Z","timestamp":1375056000000},"content-version":"vor","delay-in-days":3589,"URL":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/"}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Electronic Notes in Theoretical Computer Science"],"published-print":{"date-parts":[[2003,10]]},"DOI":"10.1016\/s1571-0661(04)81042-9","type":"journal-article","created":{"date-parts":[[2004,9,29]],"date-time":"2004-09-29T12:47:47Z","timestamp":1096462067000},"page":"44-66","update-policy":"https:\/\/doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":203,"title":["Valgrind"],"prefix":"10.1016","volume":"89","author":[{"given":"Nicholas","family":"Nethercote","sequence":"first","affiliation":[]},{"given":"Julian","family":"Seward","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB1","doi-asserted-by":"crossref","unstructured":"V. Bala, E. Duesterwald, and S. Banerjia. Dynamo: A transparent dynamic optimization system. In Proceedings of PLDI 2000, pages 1\u201312, Vancouver, Canada, June 2000.","DOI":"10.1145\/349299.349303"},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB2","unstructured":"D. Bruening, T. Garnett, and S. Amarasinghe. An infrastructure for adaptive dynamic optimization. In Proceedings of CGO'03, pages 265\u2013276, San Francisco, California, USA, Mar. 2003."},{"issue":"4","key":"10.1016\/S1571-0661(04)81042-9_NEWBIB3","doi-asserted-by":"crossref","first-page":"317","DOI":"10.1177\/109434200001400404","article-title":"An API for runtime code patching","volume":"14","author":"Buck","year":"2000","journal-title":"Journal of High Performance Computing Applications"},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB4","doi-asserted-by":"crossref","unstructured":"M. Burrows, S. N. Freund, and J. L. Wiener. Run-time type checking for binary programs. In Proceedings of CC 2003, pages 90\u2013105, Warsaw, Poland, Apr. 2003.","DOI":"10.1007\/3-540-36579-6_7"},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB5","unstructured":"C. Cifuentes, B. T. Lewis, and D. Ung. Walkabout \u2013 A retargetable dynamic binary translation framework. Technical Report TR-2002\u2013106, Sun Microsystems Laboratories, Palo Alto, California, USA, Jan. 2002."},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB6","unstructured":"R. F. Cmelik and D. Keppel. Shade: A fast instruction-set simulator for execution profiling. Technical Report UWCSE 93\u201306\u201306, Department of Computer Science and Engineering, University of Washington, Seattle, Washington, USA, 1993."},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB7","unstructured":"G. Desoli, N. Mateev, E. Duesterwald, P. Faraboschi, and J. A. Fisher. Deli: A new run-time control point. In Proceedings of MICRO35, Istanbul, Turkey, Nov. 2002."},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB8","doi-asserted-by":"crossref","unstructured":"D. Engler, B. Chelf, A. Chou, and S. Hallem. Checking system rules using system-specific, programmer-written compiler extensions. In Proceedings of OSDI 2000, San Diego, California, USA, Oct. 2000.","DOI":"10.21236\/ADA419626"},{"issue":"2","key":"10.1016\/S1571-0661(04)81042-9_NEWBIB9","doi-asserted-by":"crossref","first-page":"99","DOI":"10.1109\/32.908957","article-title":"Dynamically discovering likely program invariants to support program evolution","volume":"27","author":"Ernst","year":"2001","journal-title":"IEEE Transactions on Software Engineering"},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB10","unstructured":"D. Evans. Annotation-assisted lightweight static checking. In Proceedings of ICSE 2000, pages 40\u201342, Limerick, Ireland, Feb. 2000."},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB11","unstructured":"J. Fitzhardinge. VGprof. http:\/\/www.goop.org\/~jeremy\/valgrind\/vgprof.html."},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB12","doi-asserted-by":"crossref","unstructured":"S. Hallem, B. Chen, Y. Xie, and D. Engler. A system and language for building system-specific, static analyses. In Proceedings of PLDI 2002, Berlin, Germany, June 2002.","DOI":"10.1145\/512537.512539"},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB13","doi-asserted-by":"crossref","unstructured":"S. Hangal and M. S. Lam. Tracking down software bugs using automatic anomaly detection. In Proceedings of ISCE 2002, pages 291\u2013301, Orlando, Florida, USA, May 2002.","DOI":"10.1145\/581376.581377"},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB14","doi-asserted-by":"crossref","unstructured":"T. L. Harris. Dependable software needs pervasive debugging. In Proceedings of the ACM SIGOPS European Workshop, Sintra, Portugal, Sept. 2002.","DOI":"10.1145\/1133373.1133380"},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB15","doi-asserted-by":"crossref","unstructured":"J. J. Harrow, Jr. Runtime checking of multithreaded applications with Visual Threads. In Proceedings of SPIN 2000, volume 1885 of LNCS, pages 331\u2013342, Stanford, California, USA, Aug. 2000.","DOI":"10.1007\/10722468_20"},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB16","unstructured":"R. Hastings and B. Joyce. Purify: Fast detection of memory leaks and access errors. In Proceedings of the Winter USENIX Conference, pages 125\u2013136, San Francisco, California, USA, Jan. 1992."},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB17","doi-asserted-by":"crossref","unstructured":"J. K. Hollingsworth, B. P. Miller, and J. Cargille. Dynamic program instrumentation for scalable performance tools. In Proceedings of the 1994 Scalable High Performance Computing Conference, pages 841\u2013850, Knoxville, Tennessee, USA, May 1994.","DOI":"10.1109\/SHPCC.1994.296728"},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB18","unstructured":"S. C. Johnson. Lint, a C program checker. Computer Science Technical Report CSTR-65, updated version TM 78\u20131273\u20133, AT&T Bell Laboratories, Murray Hill, New Jersey, USA, Dec. 1977."},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB19","doi-asserted-by":"crossref","unstructured":"A. Loginov, S. H. Yong, S. Horwitz, and T. Reps. Debugging via run-time type checking. In Proceedings of FASE 2001, Genoa, Italy, Apr. 2001.","DOI":"10.1007\/3-540-45314-8_16"},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB20","unstructured":"J. Maebe, M. Ronsse, and K. D. Bosschere. DIOTA: Dynamic instrumentation, optimization and transformation of applications. In Compendium of Workshops and Tutorials held in conjunction with PACT'02, Charlottesville, Virginia, USA, Sept. 2002."},{"issue":"11","key":"10.1016\/S1571-0661(04)81042-9_NEWBIB21","doi-asserted-by":"crossref","first-page":"37","DOI":"10.1109\/2.471178","article-title":"The Paradyn parallel performance measurement tools","volume":"28","author":"Miller","year":"1995","journal-title":"IEEE Computer"},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB22","unstructured":"N. Nethercote and A. Mycroft. Redux: A dynamic dataflow tracer. In Proceedings of RV'03, Boulder, Colorado, USA, July 2003. To appear."},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB23","unstructured":"T. Palmer, D. D. Zovi, and D. Stefanovic. Sind: A framework for binary translation. Technical Report TR-CS-2001\u201338, Department of Computer Science, University of New Mexico, Alberquerque, New Mexico, USA, Dec. 2001."},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB24","unstructured":"M. Probst. Dynamic binary translation. In Proceedings of the UKUUG Linux Developers' Conference, Bristol, United Kingdom, July 2002."},{"issue":"4","key":"10.1016\/S1571-0661(04)81042-9_NEWBIB25","doi-asserted-by":"crossref","first-page":"391","DOI":"10.1145\/265924.265927","article-title":"Eraser: A dynamic data race detector for multithreaded programs","volume":"15","author":"Savage","year":"1997","journal-title":"ACM Transactions on Computer Systems"},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB26","unstructured":"K. Scott, J. W. Davidson, and K. Skadron. Low-overhead software dynamic translation. Technical Report CS-2001\u201318, Department of Computer Science, University of Virginia, Charlottesville, Virginia, USA, 2001."},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB27","doi-asserted-by":"crossref","unstructured":"K. Scott, N. Kumar, S. Velusamy, B. Childers, J. Davidson, and M. Soffa. Retargetable and reconfigurable software dynamic translation. In Proceedings of CGO 2003, pages 36\u201347, San Francisco, California, USA, Mar. 2003.","DOI":"10.1109\/CGO.2003.1191531"},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB28","doi-asserted-by":"crossref","unstructured":"A. Srivastava and A. Eustace. ATOM: A system for building customized program analysis tools. In Proceedings of PLDI '94, pages 196\u2013205, Orlando, Florida, USA, June 1994.","DOI":"10.1145\/178243.178260"},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB29","doi-asserted-by":"crossref","unstructured":"O. Traub, G. Holloway, and M. D. Smith. Quality and speed in linear-scan register allocation. In Proceedings of PLDI '98, pages 142\u2013151, Montreal, Canada, June 1998.","DOI":"10.1145\/277650.277714"},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB30","unstructured":"J. Weidendorfer. KCachegrind. http:\/\/kcachegrind.sourceforge.net\/."},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB31","unstructured":"S. H. Yong and S. Horwitz. Reducing the overhead of dynamic analysis. In Proceedings of the 2nd International Workshop on Run-time Verification (RV'02), Copenhagen, Denmark, July 2002."},{"key":"10.1016\/S1571-0661(04)81042-9_NEWBIB32","unstructured":"B. Zorn. Debugging tools for dynamic storage allocation and memory management. http:\/\/www.cs.colorado.edu\/~zorn\/MallocDebug.html."}],"container-title":["Electronic Notes in Theoretical Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S1571066104810429?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S1571066104810429?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2025,10,28]],"date-time":"2025-10-28T00:06:58Z","timestamp":1761610018000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S1571066104810429"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2003,10]]},"references-count":32,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2003,10]]}},"alternative-id":["S1571066104810429"],"URL":"https:\/\/doi.org\/10.1016\/s1571-0661(04)81042-9","relation":{},"ISSN":["1571-0661"],"issn-type":[{"value":"1571-0661","type":"print"}],"subject":[],"published":{"date-parts":[[2003,10]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"Valgrind","name":"articletitle","label":"Article Title"},{"value":"Electronic Notes in Theoretical Computer Science","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/S1571-0661(04)81042-9","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"converted-article","name":"content_type","label":"Content Type"},{"value":"Copyright \u00a9 2003 Published by Elsevier B.V.","name":"copyright","label":"Copyright"}]}}