{"id":"https://openalex.org/W4247047556","doi":"https://doi.org/10.1145/2345156.2254091","title":"Parallelizing top-down interprocedural analyses","display_name":"Parallelizing top-down interprocedural analyses","publication_year":2012,"publication_date":"2012-06-11","ids":{"openalex":"https://openalex.org/W4247047556","doi":"https://doi.org/10.1145/2345156.2254091"},"language":"en","primary_location":{"id":"doi:10.1145/2345156.2254091","doi":"https://doi.org/10.1145/2345156.2254091","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2345156.2254091","pdf_url":null,"source":{"id":"https://openalex.org/S148324379","display_name":"ACM SIGPLAN Notices","issn_l":"0362-1340","issn":["0362-1340","1558-1160"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core"],"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":"ACM SIGPLAN Notices","raw_type":"journal-article"},"volume":null,"type":"article","is_traditional":true,"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/A5050593520","display_name":"Aws Albarghouthi","orcid":"https://orcid.org/0000-0003-4577-175X","observed_orcids":["https://orcid.org/0000-0003-4577-175X"]},"institutions":[{"id":"https://openalex.org/I185261750","display_name":"University of Toronto","ror":"https://ror.org/03dbr7087","country_code":"CA","type":"education","lineage":["https://openalex.org/I185261750"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Aws Albarghouthi","raw_affiliation_strings":["University of Toronto, Toronto, Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Toronto, Toronto, Canada","institution_ids":["https://openalex.org/I185261750"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5077585432","display_name":"Rahul Kumar","orcid":"https://orcid.org/0000-0001-6183-5982","observed_orcids":["https://orcid.org/0000-0001-6183-5982"]},"institutions":[{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Rahul Kumar","raw_affiliation_strings":["Microsoft Corporation, Redmond, WA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Corporation, Redmond, WA, USA","institution_ids":["https://openalex.org/I1290206253"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5111937381","display_name":"Aditya V. Nori","orcid":"https://orcid.org/0000-0002-9481-5539","observed_orcids":["https://orcid.org/0000-0002-9481-5539"]},"institutions":[{"id":"https://openalex.org/I4210124949","display_name":"Microsoft Research (India)","ror":"https://ror.org/02w7f3w92","country_code":"IN","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210124949"]}],"countries":["IN"],"is_corresponding":false,"raw_author_name":"Aditya V. Nori","raw_affiliation_strings":["Microsoft Research, Bangalore, India"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research, Bangalore, India","institution_ids":["https://openalex.org/I4210124949"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5076139746","display_name":"Sriram K. Rajamani","orcid":"https://orcid.org/0000-0002-1400-7065","observed_orcids":["https://orcid.org/0000-0002-1400-7065"]},"institutions":[{"id":"https://openalex.org/I4210124949","display_name":"Microsoft Research (India)","ror":"https://ror.org/02w7f3w92","country_code":"IN","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210124949"]}],"countries":["IN"],"is_corresponding":false,"raw_author_name":"Sriram K. Rajamani","raw_affiliation_strings":["Microsoft Research, Bangalore, India"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research, Bangalore, India","institution_ids":["https://openalex.org/I4210124949"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":3.3356,"has_fulltext":false,"cited_by_count":13,"citation_normalized_percentile":{"value":0.92378841,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":88,"max":98},"biblio":{"volume":"47","issue":"6","first_page":"217","last_page":"228"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.8633000254631042,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/T10126","display_name":"Logic, programming, and type systems","score":0.8633000254631042,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/T10142","display_name":"Formal Methods in Verification","score":0.05400000140070915,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.05040000006556511,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/parallel-program-analysis","display_name":"parallel program analysis","score":0.796999990940094},{"id":"https://openalex.org/keywords/mapreduce","display_name":"MapReduce","score":0.6930000185966492},{"id":"https://openalex.org/keywords/software-model-checking","display_name":"software model checking","score":0.9129999876022339},{"id":"https://openalex.org/keywords/demand-driven-analysis","display_name":"demand-driven analysis","score":0.8349999785423279},{"id":"https://openalex.org/keywords/query-tree","display_name":"query tree","score":0.7419999837875366},{"id":"https://openalex.org/keywords/reachability-queries","display_name":"reachability queries","score":0.7950000166893005},{"id":"https://openalex.org/keywords/windows-device-drivers","display_name":"Windows device drivers","score":0.7570000290870667},{"id":"https://openalex.org/keywords/scalability","display_name":"scalability","score":0.41100001335144043}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9430691003799438},{"id":"https://openalex.org/C136643341","wikidata":"https://www.wikidata.org/wiki/Q1361526","display_name":"Reachability","level":2,"score":0.718453586101532},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.6014497876167297},{"id":"https://openalex.org/C102379954","wikidata":"https://www.wikidata.org/wiki/Q2589940","display_name":"Call graph","level":2,"score":0.5676894783973694},{"id":"https://openalex.org/C132525143","wikidata":"https://www.wikidata.org/wiki/Q141488","display_name":"Graph","level":2,"score":0.5232576131820679},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.521875262260437},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.4832042455673218},{"id":"https://openalex.org/C2781172179","wikidata":"https://www.wikidata.org/wiki/Q853109","display_name":"Parallelism (grammar)","level":2,"score":0.4684968590736389},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.46112295985221863},{"id":"https://openalex.org/C135798126","wikidata":"https://www.wikidata.org/wiki/Q2167279","display_name":"Top-down and bottom-up design","level":2,"score":0.43330973386764526},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.4319276809692383},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.40575891733169556},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.3947834372520447},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.22848230600357056},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/2345156.2254091","doi":"https://doi.org/10.1145/2345156.2254091","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2345156.2254091","pdf_url":null,"source":{"id":"https://openalex.org/S148324379","display_name":"ACM SIGPLAN Notices","issn_l":"0362-1340","issn":["0362-1340","1558-1160"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core"],"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":"ACM SIGPLAN Notices","raw_type":"journal-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.672.5736","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.672.5736","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://pages.cs.wisc.edu/%7Eaws/papers/pldi12.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.889.1959","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.889.1959","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"https://www.researchgate.net/profile/Aditya_Nori/publication/241623514_Parallelizing_top-down_interprocedural_analyses/links/00b495379fa4a68f45000000.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.892.6446","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.892.6446","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://research.microsoft.com/pubs/158362/pldi071-albarghouthi.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":33,"referenced_works":["https://openalex.org/W107427404","https://openalex.org/W157156687","https://openalex.org/W1493893823","https://openalex.org/W1565898282","https://openalex.org/W1577404745","https://openalex.org/W1579329775","https://openalex.org/W1586497944","https://openalex.org/W1879823367","https://openalex.org/W1966982815","https://openalex.org/W2009489720","https://openalex.org/W2040060046","https://openalex.org/W2045461760","https://openalex.org/W2087046173","https://openalex.org/W2102005460","https://openalex.org/W2105357036","https://openalex.org/W2105614525","https://openalex.org/W2107794009","https://openalex.org/W2110503149","https://openalex.org/W2134875273","https://openalex.org/W2139498310","https://openalex.org/W2139668965","https://openalex.org/W2139808952","https://openalex.org/W2140809377","https://openalex.org/W2148821745","https://openalex.org/W2153822668","https://openalex.org/W2168498016","https://openalex.org/W2293685560","https://openalex.org/W2295903414","https://openalex.org/W4231586329","https://openalex.org/W4237492309","https://openalex.org/W4242057943","https://openalex.org/W4245640662","https://openalex.org/W4246385123"],"related_works":["https://openalex.org/W7100302985","https://openalex.org/W7097677975","https://openalex.org/W1781036774","https://openalex.org/W3182551951","https://openalex.org/W2998963962","https://openalex.org/W2803561572","https://openalex.org/W1519880831","https://openalex.org/W3098591858","https://openalex.org/W7095975172","https://openalex.org/W2113539545"],"abstract_inverted_index":{"Modularity":[0],"is":[1,17,209,272,275,363],"a":[2,14,29,48,85,136,179,186,232,311,318,341,350,358],"central":[3],"theme":[4],"in":[5,13,73,102,111,175,190,207,217,237,264,354],"any":[6],"scalable":[7],"program":[8,50],"analysis.":[9,283,352,369],"The":[10,204],"core":[11],"idea":[12],"modular":[15,49],"analysis":[16,59,87,173,360],"to":[18,31,46,124,145,230,246,365],"build":[19],"summaries":[20],"at":[21,38],"procedure":[22,30,72,101,187],"boundaries,":[23],"and":[24,54,69,79,96,113,126,239,254,292,305,328,340],"use":[25],"the":[26,33,63,66,74,90,93,161,176,198,211,224,240,252,261,278,302,307],"summary":[27],"of":[28,35,65,92,178,195,234,270,286,322,338,344],"analyze":[32],"effect":[34],"calling":[36,40,77,104],"it":[37,274],"its":[39,81,103,368],"context.":[41,105],"There":[42],"are":[43,156],"two":[44],"ways":[45],"perform":[47],"analysis:":[51],"(1)":[52],"top-down":[53,86,129,147,153,265],"(2)":[55],"bottomup.":[56],"A":[57,182],"bottom-up":[58,119],"proceeds":[60,97],"upwards":[61],"from":[62,89],"leaves":[64],"call":[67,94],"graph,":[68,95],"analyzes":[70],"each":[71,100,171],"most":[75],"general":[76],"context":[78,177],"builds":[80],"summary.":[82],"In":[83,131,149,168],"contrast,":[84],"starts":[88],"root":[91],"downward,":[98],"analyzing":[99],"Top-down":[106],"analyses":[107,120,154],"have":[108,121,300,314],"several":[109,355],"applications":[110],"verification":[112],"software":[114,165],"model":[115,166],"checking.":[116,167],"However,":[117],"traditionally,":[118],"been":[122],"easier":[123],"scale":[125,146],"parallelize":[127],"than":[128],"analyses.":[130,148,266],"this":[132],"paper,":[133],"we":[134,151,258],"propose":[135],"generic":[137],"framework,":[138],"BOLT,":[139],"which":[140],"uses":[141],"MapReduce":[142,220],"style":[143,221],"parallelism":[144,222,262],"particular,":[150],"consider":[152],"that":[155,193,210,273],"demand":[157],"driven,":[158],"such":[159,169],"as":[160],"ones":[162],"used":[163,229,245,280],"for":[164,281],"analyses,":[170,287,290],"intraprocedural":[172,282,308],"happens":[174],"reachability":[180],"query.":[181],"query":[183,191,212],"Q":[184],"over":[185,197,349],"P":[188,202],"results":[189,333],"tree":[192,213],"consists":[194],"sub-queries":[196],"procedures":[199],"called":[200],"by":[201,277],".":[203],"key":[205],"insight":[206],"BOLT":[208,271,303,316,362],"can":[214,227,243,259,294],"be":[215,228,244,295],"explored":[216],"parallel":[218],"using":[219,297],"--":[223],"map":[225,253],"stage":[226,242],"run":[231,315],"set":[233],"enabled":[235],"queries":[236],"parallel,":[238],"reduce":[241,255],"manage":[247],"inter-dependencies":[248],"between":[249],"queries.":[250],"Iterating":[251],"stages":[256],"alternately,":[257],"exploit":[260],"inherent":[263],"Another":[267],"unique":[268],"feature":[269],"parameterized":[276],"algorithm":[279],"Several":[284],"kinds":[285],"including":[288],"may":[289],"mustanalyses,":[291],"may-must-analyses":[293],"parallelized":[296],"BOLT.":[298],"We":[299,313],"implemented":[301],"framework":[304],"instantiated":[306],"parameter":[309],"with":[310],"may-must-analysis.":[312],"on":[317],"test":[319],"suite":[320],"consisting":[321],"45":[323],"Microsoft":[324],"Windows":[325],"device":[326],"drivers":[327],"150":[329],"safety":[330],"properties.":[331],"Our":[332],"demonstrate":[334],"an":[335],"average":[336],"speedup":[337,343],"3.71x":[339],"maximum":[342],"7.4x":[345],"(with":[346],"8":[347],"cores)":[348],"sequential":[351,359],"Moreover,":[353],"checks":[356],"where":[357],"fails,":[361],"able":[364],"successfully":[366],"complete":[367]},"counts_by_year":[{"year":2026,"cited_by_count":4},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2017,"cited_by_count":1},{"year":2015,"cited_by_count":2},{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":1}],"updated_date":"2026-11-09T13:22:03.289127","created_date":"2022-05-12T00:00:00"}
