{"id":"https://openalex.org/W4246328121","doi":"https://doi.org/10.1145/3154502","title":"The CSI Framework for Compiler-Inserted Program Instrumentation","display_name":"The CSI Framework for Compiler-Inserted Program Instrumentation","publication_year":2017,"publication_date":"2017-12-19","ids":{"openalex":"https://openalex.org/W4246328121","doi":"https://doi.org/10.1145/3154502"},"language":"en","primary_location":{"id":"doi:10.1145/3154502","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3154502","pdf_url":null,"source":{"id":"https://openalex.org/S4210193547","display_name":"Proceedings of the ACM on Measurement and Analysis of Computing Systems","issn_l":"2476-1249","issn":["2476-1249"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Measurement and Analysis of Computing Systems","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5018454153","display_name":"Tao B. Schardl","orcid":null},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Tao B. Schardl","raw_affiliation_strings":["Massachusetts Institute of Technology, Cambridge, MA, USA"],"affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology, Cambridge, MA, USA","institution_ids":["https://openalex.org/I63966007"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5052637278","display_name":"Tyler Denniston","orcid":null},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Tyler Denniston","raw_affiliation_strings":["Massachusetts Institute of Technology, Cambridge, MA, USA"],"affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology, Cambridge, MA, USA","institution_ids":["https://openalex.org/I63966007"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5084417533","display_name":"Damon Doucet","orcid":null},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Damon Doucet","raw_affiliation_strings":["Massachusetts Institute of Technology, Cambridge, MA, USA"],"affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology, Cambridge, MA, USA","institution_ids":["https://openalex.org/I63966007"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5018697370","display_name":"Bradley C. Kuszmaul","orcid":"https://orcid.org/0000-0001-6305-4290"},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Bradley C. Kuszmaul","raw_affiliation_strings":["Massachusetts Institute of Technology, Cambridge, MA, USA"],"affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology, Cambridge, MA, USA","institution_ids":["https://openalex.org/I63966007"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5083447315","display_name":"I-Ting Angelina Lee","orcid":"https://orcid.org/0000-0002-0687-5508"},"institutions":[{"id":"https://openalex.org/I204465549","display_name":"Washington University in St. Louis","ror":"https://ror.org/01yc7t268","country_code":"US","type":"education","lineage":["https://openalex.org/I204465549"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"I-Ting Angelina Lee","raw_affiliation_strings":["Washington University in St. Louis, St. Louis, MO, USA"],"affiliations":[{"raw_affiliation_string":"Washington University in St. Louis, St. Louis, MO, USA","institution_ids":["https://openalex.org/I204465549"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5027618658","display_name":"Charles E. Leiserson","orcid":"https://orcid.org/0000-0001-6386-5552"},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Charles E. Leiserson","raw_affiliation_strings":["Massachusetts Institute of Technology, Cambridge, MA, USA"],"affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology, Cambridge, MA, USA","institution_ids":["https://openalex.org/I63966007"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":6,"corresponding_author_ids":["https://openalex.org/A5018454153"],"corresponding_institution_ids":["https://openalex.org/I63966007"],"apc_list":null,"apc_paid":null,"fwci":1.3866,"has_fulltext":false,"cited_by_count":14,"citation_normalized_percentile":{"value":0.83948897,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":"1","issue":"2","first_page":"1","last_page":"25"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9988999962806702,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9987000226974487,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.8728924989700317},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8582210540771484},{"id":"https://openalex.org/keywords/instrumentation","display_name":"Instrumentation (computer programming)","score":0.7981878519058228},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.6810449957847595},{"id":"https://openalex.org/keywords/loop-optimization","display_name":"Loop optimization","score":0.5425369143486023},{"id":"https://openalex.org/keywords/compiler-correctness","display_name":"Compiler correctness","score":0.48502153158187866},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4666350483894348},{"id":"https://openalex.org/keywords/interprocedural-optimization","display_name":"Interprocedural optimization","score":0.45617103576660156},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.4484519958496094},{"id":"https://openalex.org/keywords/object-code","display_name":"Object code","score":0.4418802261352539},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.4288114309310913},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.42202141880989075},{"id":"https://openalex.org/keywords/dead-code-elimination","display_name":"Dead code elimination","score":0.41808241605758667},{"id":"https://openalex.org/keywords/cache","display_name":"Cache","score":0.4136330485343933},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.36762338876724243},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.33933955430984497},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.248440682888031},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.16443243622779846}],"concepts":[{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.8728924989700317},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8582210540771484},{"id":"https://openalex.org/C118530786","wikidata":"https://www.wikidata.org/wiki/Q1134732","display_name":"Instrumentation (computer programming)","level":2,"score":0.7981878519058228},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.6810449957847595},{"id":"https://openalex.org/C29331672","wikidata":"https://www.wikidata.org/wiki/Q3354468","display_name":"Loop optimization","level":4,"score":0.5425369143486023},{"id":"https://openalex.org/C68366613","wikidata":"https://www.wikidata.org/wiki/Q5156378","display_name":"Compiler correctness","level":3,"score":0.48502153158187866},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4666350483894348},{"id":"https://openalex.org/C111564260","wikidata":"https://www.wikidata.org/wiki/Q4288856","display_name":"Interprocedural optimization","level":5,"score":0.45617103576660156},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.4484519958496094},{"id":"https://openalex.org/C154526789","wikidata":"https://www.wikidata.org/wiki/Q157965","display_name":"Object code","level":4,"score":0.4418802261352539},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.4288114309310913},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.42202141880989075},{"id":"https://openalex.org/C2144512","wikidata":"https://www.wikidata.org/wiki/Q1143090","display_name":"Dead code elimination","level":5,"score":0.41808241605758667},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.4136330485343933},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.36762338876724243},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.33933955430984497},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.248440682888031},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.16443243622779846}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3154502","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3154502","pdf_url":null,"source":{"id":"https://openalex.org/S4210193547","display_name":"Proceedings of the ACM on Measurement and Analysis of Computing Systems","issn_l":"2476-1249","issn":["2476-1249"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Measurement and Analysis of Computing Systems","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G4864468985","display_name":null,"funder_award_id":"1314547, 1533644, 1527692","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8073515163","display_name":null,"funder_award_id":"DE-SC0008923","funder_id":"https://openalex.org/F4320337506","funder_display_name":"Advanced Scientific Computing Research"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320337506","display_name":"Advanced Scientific Computing Research","ror":"https://ror.org/0012c7r22"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":39,"referenced_works":["https://openalex.org/W1491178396","https://openalex.org/W1587435951","https://openalex.org/W1610570299","https://openalex.org/W1972528414","https://openalex.org/W1972544179","https://openalex.org/W1974872983","https://openalex.org/W1995085071","https://openalex.org/W2005031208","https://openalex.org/W2022059877","https://openalex.org/W2025819261","https://openalex.org/W2026370554","https://openalex.org/W2031644261","https://openalex.org/W2040183246","https://openalex.org/W2045146799","https://openalex.org/W2046952161","https://openalex.org/W2047226031","https://openalex.org/W2050883607","https://openalex.org/W2061239425","https://openalex.org/W2064452120","https://openalex.org/W2098290747","https://openalex.org/W2104342377","https://openalex.org/W2107667898","https://openalex.org/W2115920894","https://openalex.org/W2124333827","https://openalex.org/W2144433126","https://openalex.org/W2146252952","https://openalex.org/W2153919898","https://openalex.org/W2156858199","https://openalex.org/W2160468841","https://openalex.org/W2160630279","https://openalex.org/W2170200862","https://openalex.org/W3137220996","https://openalex.org/W3150461596","https://openalex.org/W4205733018","https://openalex.org/W4239813889","https://openalex.org/W4241057782","https://openalex.org/W4247444363","https://openalex.org/W4248655060","https://openalex.org/W6635070925"],"related_works":["https://openalex.org/W2083681681","https://openalex.org/W2479014312","https://openalex.org/W2036668966","https://openalex.org/W2911899620","https://openalex.org/W1583465708","https://openalex.org/W1988494037","https://openalex.org/W3006413190","https://openalex.org/W2780922723","https://openalex.org/W4246328121","https://openalex.org/W4255575227"],"abstract_inverted_index":{"The":[0,151],"CSI":[1,57,103,134,140,193,212,254,278,298],"framework":[2],"provides":[3,213],"comprehensive":[4],"static":[5,207],"instrumentation":[6,43,63],"that":[7,16,75,199,216,251,265,284],"a":[8,13,59,73,130,196,262,277],"compiler":[9,42,49],"can":[10,32,218],"insert":[11,51,139],"into":[12,65,142,166],"program-under-test":[14,306],"so":[15],"dynamic-analysis":[17,125],"tools":[18,39,107,201,217,299],"-":[19,31,156,165],"memory":[20,163],"checkers,":[21],"race":[22],"detectors,":[23],"cache":[24],"simulators,":[25],"performance":[26,289],"profilers,":[27],"code-coverage":[28],"analyzers,":[29],"etc.":[30],"observe":[33],"and":[34,79,86,135,162,168,227,255],"investigate":[35],"runtime":[36],"behavior.":[37],"Heretofore,":[38],"based":[40,205],"on":[41,98,206],"would":[44],"each":[45,233],"separately":[46],"modify":[47],"the":[48,66,80,116,119,122,143,149,176,237,258,270,285,288,302,305],"to":[50,108,138,202,220,228,232],"their":[52],"own":[53],"instrumentation.":[54,102],"In":[55],"contrast,":[56],"inserts":[58],"standard":[60,131],"collection":[61],"of":[62,124,148,178,185,239,247,280,290,304],"hooks":[64,82,141,194],"program-under-test.":[67],"Each":[68],"CSI-tool":[69,260,286],"is":[70,266],"implemented":[71,242],"as":[72,111,158,267,269],"library":[74],"defines":[76],"relevant":[77],"hooks,":[78],"remaining":[81],"are":[83],"\"nulled\"":[84],"out":[85],"elided":[87],"during":[88],"either":[89],"compile-time":[90],"or":[91],"link-time":[92],"optimization,":[93],"resulting":[94],"in":[95],"instrumented":[96],"runtimes":[97],"par":[99],"with":[100,224,253,257],"custom":[101,292],"allows":[104,200],"many":[105],"compiler-based":[106,293],"be":[109],"written":[110],"simple":[112],"libraries":[113],"without":[114,209],"modifying":[115],"compiler,":[117],"lowering":[118],"bar":[120],"for":[121,133],"development":[123],"tools.":[126],"We":[127],"have":[128],"defined":[129],"API":[132,152],"modified":[136],"LLVM":[137],"compiler's":[144],"internal":[145],"representation":[146],"(IR)":[147],"program.":[150],"organizes":[153],"IR":[154,222,230],"objects":[155,223,231],"such":[157],"functions,":[159],"basic":[160],"blocks,":[161],"accesses":[164],"flat":[167],"compact":[169],"ID":[170],"spaces,":[171],"which":[172],"not":[173],"only":[174],"simplifies":[175],"building":[177],"tools,":[179],"but":[180],"surprisingly":[181],"enables":[182],"faster":[183],"maintenance":[184],"IR-object":[186],"data":[187],"than":[188,309],"do":[189],"traditional":[190],"hash":[191],"tables.":[192],"contain":[195],"\"property\"":[197],"parameter":[198],"customize":[203],"behavior":[204],"information":[208],"introducing":[210],"overhead.":[211],"\"forensic\"":[214],"tables":[215],"use":[219],"associate":[221],"source-code":[225],"locations":[226],"relate":[229],"other.":[234],"To":[235],"evaluate":[236],"efficacy":[238],"CSI,":[240],"we":[241],"six":[243],"demonstration":[244,297],"CSI-tools.":[245],"One":[246],"our":[248],"studies":[249],"shows":[250,283],"compiling":[252],"linking":[256],"\"null\"":[259],"produces":[261],"tool-instrumented":[263],"executable":[264],"fast":[268],"original":[271],"uninstrumented":[272],"code.":[273],"Another":[274],"study,":[275],"using":[276],"port":[279],"Google's":[281,291],"ThreadSanitizer,":[282],"rivals":[287],"implementation.":[294],"All":[295],"other":[296],"slow":[300],"down":[301],"execution":[303],"by":[307],"less":[308],"70%.":[310]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":3},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":4}],"updated_date":"2026-03-12T08:34:05.389933","created_date":"2025-10-10T00:00:00"}
