{"id":"https://openalex.org/W2102368676","doi":"https://doi.org/10.1109/cgo.2013.6494990","title":"Practical lock/unlock pairing for concurrent programs","display_name":"Practical lock/unlock pairing for concurrent programs","publication_year":2013,"publication_date":"2013-02-01","ids":{"openalex":"https://openalex.org/W2102368676","doi":"https://doi.org/10.1109/cgo.2013.6494990","mag":"2102368676"},"language":"en","primary_location":{"id":"doi:10.1109/cgo.2013.6494990","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo.2013.6494990","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","raw_type":"proceedings-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/A5000303565","display_name":"Hyoun Kyu Cho","orcid":null},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan\u2013Ann Arbor","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Hyoun Kyu Cho","raw_affiliation_strings":["University of Michigan, USA","(University of Michigan)"],"affiliations":[{"raw_affiliation_string":"University of Michigan, USA","institution_ids":["https://openalex.org/I27837315"]},{"raw_affiliation_string":"(University of Michigan)","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5014934596","display_name":"Terence Kelly","orcid":"https://orcid.org/0009-0006-1607-5674"},"institutions":[{"id":"https://openalex.org/I1324840837","display_name":"Hewlett-Packard (United States)","ror":"https://ror.org/059rn9488","country_code":"US","type":"company","lineage":["https://openalex.org/I1324840837"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"T. Kelly","raw_affiliation_strings":["Hewlett-Packard Laboratories, USA","Hewlett-Packard Labs,#TAB#"],"affiliations":[{"raw_affiliation_string":"Hewlett-Packard Laboratories, USA","institution_ids":["https://openalex.org/I1324840837"]},{"raw_affiliation_string":"Hewlett-Packard Labs,#TAB#","institution_ids":["https://openalex.org/I1324840837"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100330959","display_name":"Yin Wang","orcid":"https://orcid.org/0000-0001-6804-1202"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan\u2013Ann Arbor","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]},{"id":"https://openalex.org/I1324840837","display_name":"Hewlett-Packard (United States)","ror":"https://ror.org/059rn9488","country_code":"US","type":"company","lineage":["https://openalex.org/I1324840837"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Yin Wang","raw_affiliation_strings":["University of Michigan, USA","Hewlett-Packard Labs,#TAB#"],"affiliations":[{"raw_affiliation_string":"University of Michigan, USA","institution_ids":["https://openalex.org/I27837315"]},{"raw_affiliation_string":"Hewlett-Packard Labs,#TAB#","institution_ids":["https://openalex.org/I1324840837"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5027585653","display_name":"St\u00e9phane Lafortune","orcid":"https://orcid.org/0000-0002-7526-6642"},"institutions":[{"id":"https://openalex.org/I1324840837","display_name":"Hewlett-Packard (United States)","ror":"https://ror.org/059rn9488","country_code":"US","type":"company","lineage":["https://openalex.org/I1324840837"]},{"id":"https://openalex.org/I27837315","display_name":"University of Michigan\u2013Ann Arbor","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"S. Lafortune","raw_affiliation_strings":["Hewlett-Packard Laboratories, USA","(University of Michigan)"],"affiliations":[{"raw_affiliation_string":"Hewlett-Packard Laboratories, USA","institution_ids":["https://openalex.org/I1324840837"]},{"raw_affiliation_string":"(University of Michigan)","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5103521137","display_name":"Hongwei Liao","orcid":null},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan\u2013Ann Arbor","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Hongwei Liao","raw_affiliation_strings":["University of Michigan, USA","(University of Michigan)"],"affiliations":[{"raw_affiliation_string":"University of Michigan, USA","institution_ids":["https://openalex.org/I27837315"]},{"raw_affiliation_string":"(University of Michigan)","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5002075773","display_name":"Scott Mahlke","orcid":"https://orcid.org/0000-0002-0438-0616"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan\u2013Ann Arbor","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"S. Mahlke","raw_affiliation_strings":["University of Michigan, USA","(University of Michigan)"],"affiliations":[{"raw_affiliation_string":"University of Michigan, USA","institution_ids":["https://openalex.org/I27837315"]},{"raw_affiliation_string":"(University of Michigan)","institution_ids":["https://openalex.org/I27837315"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":6,"corresponding_author_ids":["https://openalex.org/A5000303565"],"corresponding_institution_ids":["https://openalex.org/I27837315"],"apc_list":null,"apc_paid":null,"fwci":2.8369,"has_fulltext":false,"cited_by_count":11,"citation_normalized_percentile":{"value":0.90866887,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"12"},"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/T12127","display_name":"Software System Performance and Reliability","score":0.9987999796867371,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9973999857902527,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8805961012840271},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.6620283126831055},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.6133105158805847},{"id":"https://openalex.org/keywords/lock","display_name":"Lock (firearm)","score":0.5769158601760864},{"id":"https://openalex.org/keywords/dataflow","display_name":"Dataflow","score":0.564904510974884},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.4926453232765198},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.47906145453453064},{"id":"https://openalex.org/keywords/multi-core-processor","display_name":"Multi-core processor","score":0.46114641427993774},{"id":"https://openalex.org/keywords/instrumentation","display_name":"Instrumentation (computer programming)","score":0.44176119565963745},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4173591434955597},{"id":"https://openalex.org/keywords/heuristics","display_name":"Heuristics","score":0.41413599252700806},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.4021754264831543},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.34372156858444214}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8805961012840271},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.6620283126831055},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.6133105158805847},{"id":"https://openalex.org/C174839445","wikidata":"https://www.wikidata.org/wiki/Q1134386","display_name":"Lock (firearm)","level":2,"score":0.5769158601760864},{"id":"https://openalex.org/C96324660","wikidata":"https://www.wikidata.org/wiki/Q205446","display_name":"Dataflow","level":2,"score":0.564904510974884},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.4926453232765198},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.47906145453453064},{"id":"https://openalex.org/C78766204","wikidata":"https://www.wikidata.org/wiki/Q555032","display_name":"Multi-core processor","level":2,"score":0.46114641427993774},{"id":"https://openalex.org/C118530786","wikidata":"https://www.wikidata.org/wiki/Q1134732","display_name":"Instrumentation (computer programming)","level":2,"score":0.44176119565963745},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4173591434955597},{"id":"https://openalex.org/C127705205","wikidata":"https://www.wikidata.org/wiki/Q5748245","display_name":"Heuristics","level":2,"score":0.41413599252700806},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.4021754264831543},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.34372156858444214},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.0},{"id":"https://openalex.org/C78519656","wikidata":"https://www.wikidata.org/wiki/Q101333","display_name":"Mechanical engineering","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1109/cgo.2013.6494990","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo.2013.6494990","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.303.6790","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.303.6790","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://cccp.eecs.umich.edu/papers/cho-cgo13-1.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":41,"referenced_works":["https://openalex.org/W69905639","https://openalex.org/W1518705996","https://openalex.org/W1710734607","https://openalex.org/W1873898332","https://openalex.org/W1967031800","https://openalex.org/W1972544179","https://openalex.org/W1981185057","https://openalex.org/W1982125317","https://openalex.org/W1986071441","https://openalex.org/W1990191223","https://openalex.org/W1991546210","https://openalex.org/W2043100293","https://openalex.org/W2076933173","https://openalex.org/W2081840025","https://openalex.org/W2100627043","https://openalex.org/W2103714221","https://openalex.org/W2127532866","https://openalex.org/W2127825616","https://openalex.org/W2134633067","https://openalex.org/W2135948849","https://openalex.org/W2137723287","https://openalex.org/W2139435690","https://openalex.org/W2140809377","https://openalex.org/W2144344516","https://openalex.org/W2149984854","https://openalex.org/W2150290060","https://openalex.org/W2150602145","https://openalex.org/W2151463894","https://openalex.org/W2153185479","https://openalex.org/W2155943969","https://openalex.org/W2156858199","https://openalex.org/W4210712189","https://openalex.org/W4212792638","https://openalex.org/W4239813889","https://openalex.org/W4246166885","https://openalex.org/W4249737999","https://openalex.org/W4256028745","https://openalex.org/W4285719527","https://openalex.org/W6637688222","https://openalex.org/W6639456316","https://openalex.org/W6679281492"],"related_works":["https://openalex.org/W2293118914","https://openalex.org/W2998381397","https://openalex.org/W4236419692","https://openalex.org/W3167919718","https://openalex.org/W4251718783","https://openalex.org/W2171015181","https://openalex.org/W4239447582","https://openalex.org/W1484403103","https://openalex.org/W2521947294","https://openalex.org/W2036882381"],"abstract_inverted_index":{"In":[0,103],"the":[1,29,62,71,148,157,188],"multicore":[2,30],"era,":[3],"developers":[4],"face":[5],"increasing":[6],"pressure":[7],"to":[8,37,95,120,139],"parallelize":[9],"their":[10],"programs.":[11,128,201],"However,":[12],"building":[13,24],"correct":[14],"and":[15,43,50,99,144,187],"efficient":[16],"concurrent":[17],"programs":[18],"is":[19],"substantially":[20],"more":[21],"difficult":[22],"than":[23],"sequential":[25],"ones.":[26],"To":[27],"address":[28],"challenge,":[31],"numerous":[32],"tools":[33,56],"have":[34],"been":[35],"developed":[36],"assist":[38],"multithreaded":[39,126],"programmers,":[40],"including":[41,212],"static":[42,91,115,149],"dynamic":[44,118],"bug":[45,48],"detectors,":[46],"automated":[47],"fixers,":[49],"optimization":[51],"tools.":[52],"Many":[53],"of":[54,65,73,178,193,209,215],"these":[55],"rely":[57],"on":[58],"or":[59],"benefit":[60],"from":[61],"precise":[63],"identification":[64],"critical":[66,83,122],"sections,":[67],"i.e.,":[68],"sections":[69,84,123],"where":[70,82],"thread":[72],"execution":[74],"holds":[75],"at":[76,166,185,195],"least":[77],"one":[78,176],"lock.":[79],"For":[80],"languages":[81],"are":[85,164],"not":[86],"lexically":[87],"scoped,":[88],"e.g.,":[89],"C/C++,":[90],"analysis":[92,116,138,150],"often":[93],"fails":[94],"pair":[96,140,206],"up":[97,141,207],"lock":[98,143],"unlock":[100,145],"calls":[101],"correctly.":[102],"this":[104],"paper,":[105],"we":[106],"propose":[107],"a":[108,133],"practical":[109],"lock/unlock":[110,180],"pairing":[111,158],"mechanism":[112,204],"that":[113,174],"combines":[114],"with":[117],"instrumentation":[119,189],"identify":[121],"in":[124],"POSIX":[125],"C/C++":[127],"Our":[129,171],"method":[130,153],"first":[131],"applies":[132],"con-servative":[134],"inter-procedural":[135],"path-sensitive":[136],"dataflow":[137],"all":[142,210],"calls.":[146],"When":[147],"fails,":[151],"our":[152,183,203],"makes":[154],"assumptions":[155,163,184],"about":[156],"using":[159,168],"common":[160],"heuristics.":[161],"These":[162],"checked":[165],"runtime":[167,186],"lightweight":[169],"instrumentation.":[170],"experiments":[172],"show":[173],"only":[175],"out":[177],"891":[179],"pairs":[181],"violates":[182],"imposes":[190],"negligible":[191],"overhead":[192],"3.34%":[194],"most,":[196],"for":[197],"large":[198],"open-source":[199],"server":[200],"Overall,":[202],"can":[205],"98.2%":[208],"locks":[211],"7.1":[213],"%":[214],"them":[216],"paired":[217],"speculatively.":[218]},"counts_by_year":[{"year":2018,"cited_by_count":1},{"year":2016,"cited_by_count":2},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":4},{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
