{"id":"https://openalex.org/W3032226677","doi":"https://doi.org/10.1145/3382092","title":"Generalized Points-to Graphs","display_name":"Generalized Points-to Graphs","publication_year":2020,"publication_date":"2020-05-19","ids":{"openalex":"https://openalex.org/W3032226677","doi":"https://doi.org/10.1145/3382092","mag":"3032226677"},"language":"en","primary_location":{"id":"doi:10.1145/3382092","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3382092","pdf_url":null,"source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"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":"ACM Transactions on Programming Languages and 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/A5026733663","display_name":"Pritam Gharat","orcid":"https://orcid.org/0000-0002-5961-8142"},"institutions":[{"id":"https://openalex.org/I162827531","display_name":"Indian Institute of Technology Bombay","ror":"https://ror.org/02qyf5152","country_code":"IN","type":"education","lineage":["https://openalex.org/I162827531"]}],"countries":["IN"],"is_corresponding":false,"raw_author_name":"Pritam M. Gharat","raw_affiliation_strings":["Indian Institute of Technology Bombay, India"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Indian Institute of Technology Bombay, India","institution_ids":["https://openalex.org/I162827531"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5030116244","display_name":"Uday P. Khedker","orcid":"https://orcid.org/0000-0002-5203-4494"},"institutions":[{"id":"https://openalex.org/I162827531","display_name":"Indian Institute of Technology Bombay","ror":"https://ror.org/02qyf5152","country_code":"IN","type":"education","lineage":["https://openalex.org/I162827531"]}],"countries":["IN"],"is_corresponding":false,"raw_author_name":"Uday P. Khedker","raw_affiliation_strings":["Indian Institute of Technology Bombay, India"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Indian Institute of Technology Bombay, India","institution_ids":["https://openalex.org/I162827531"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5004222850","display_name":"Alan Mycroft","orcid":"https://orcid.org/0000-0001-7013-8572"},"institutions":[{"id":"https://openalex.org/I241749","display_name":"University of Cambridge","ror":"https://ror.org/013meh722","country_code":"GB","type":"education","lineage":["https://openalex.org/I241749"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Alan Mycroft","raw_affiliation_strings":["University of Cambridge, UK"],"raw_orcid":"https://orcid.org/0000-0001-7013-8572","affiliations":[{"raw_affiliation_string":"University of Cambridge, UK","institution_ids":["https://openalex.org/I241749"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.1304,"has_fulltext":false,"cited_by_count":7,"citation_normalized_percentile":{"value":0.52985507,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":"42","issue":"2","first_page":"1","last_page":"78"},"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.9994999766349792,"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"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"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"}},{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9993000030517578,"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.9990000128746033,"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/indirection","display_name":"Indirection","score":0.9374926090240479},{"id":"https://openalex.org/keywords/soundness","display_name":"Soundness","score":0.9270731210708618},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8957333564758301},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.7664499282836914},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.642685055732727},{"id":"https://openalex.org/keywords/control-flow-graph","display_name":"Control flow graph","score":0.5175784826278687},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.5018548965454102},{"id":"https://openalex.org/keywords/construct","display_name":"Construct (python library)","score":0.4621177017688751},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.4618239998817444},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.4436378479003906},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.3865499496459961},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.36099469661712646}],"concepts":[{"id":"https://openalex.org/C89377073","wikidata":"https://www.wikidata.org/wiki/Q1171224","display_name":"Indirection","level":2,"score":0.9374926090240479},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.9270731210708618},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8957333564758301},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.7664499282836914},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.642685055732727},{"id":"https://openalex.org/C27458966","wikidata":"https://www.wikidata.org/wiki/Q1187693","display_name":"Control flow graph","level":2,"score":0.5175784826278687},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.5018548965454102},{"id":"https://openalex.org/C2780801425","wikidata":"https://www.wikidata.org/wiki/Q5164392","display_name":"Construct (python library)","level":2,"score":0.4621177017688751},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.4618239998817444},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.4436378479003906},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3865499496459961},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.36099469661712646},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","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},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3382092","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3382092","pdf_url":null,"source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"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":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":44,"referenced_works":["https://openalex.org/W563453116","https://openalex.org/W1494930385","https://openalex.org/W1500987966","https://openalex.org/W1517071433","https://openalex.org/W1602885681","https://openalex.org/W1699964320","https://openalex.org/W1965604953","https://openalex.org/W1972427803","https://openalex.org/W1974604404","https://openalex.org/W1989969759","https://openalex.org/W1999517284","https://openalex.org/W2017842497","https://openalex.org/W2036208810","https://openalex.org/W2048229966","https://openalex.org/W2069216738","https://openalex.org/W2073264387","https://openalex.org/W2073366168","https://openalex.org/W2074959961","https://openalex.org/W2077850509","https://openalex.org/W2080573945","https://openalex.org/W2082000355","https://openalex.org/W2103412683","https://openalex.org/W2110833886","https://openalex.org/W2112936713","https://openalex.org/W2114067856","https://openalex.org/W2125615564","https://openalex.org/W2138378640","https://openalex.org/W2140809377","https://openalex.org/W2141442517","https://openalex.org/W2151360539","https://openalex.org/W2166075056","https://openalex.org/W2169953045","https://openalex.org/W2275382970","https://openalex.org/W2278011425","https://openalex.org/W2297774820","https://openalex.org/W2396234346","https://openalex.org/W2403803386","https://openalex.org/W2502542698","https://openalex.org/W2547862110","https://openalex.org/W4206770190","https://openalex.org/W4246263814","https://openalex.org/W4251075015","https://openalex.org/W4251697482","https://openalex.org/W6675691495"],"related_works":["https://openalex.org/W2138385884","https://openalex.org/W2166895275","https://openalex.org/W157564837","https://openalex.org/W2765192396","https://openalex.org/W2080313875","https://openalex.org/W2998775986","https://openalex.org/W2011536294","https://openalex.org/W1724049288","https://openalex.org/W2150418816","https://openalex.org/W2785657790"],"abstract_inverted_index":{"Computing":[0],"precise":[1,59,87],"(fully":[2],"flow-":[3],"and":[4,6,47,69,89,104,116,139,171,199,201,275],"context-sensitive)":[5],"exhaustive":[7],"(as":[8],"against":[9],"demand-driven)":[10],"points-to":[11,60,129,134,300],"information":[12],"is":[13,178,232],"known":[14],"to":[15,32,58,72,109,156,255,257,273,287],"be":[16,42],"expensive.":[17],"Top-down":[18],"approaches":[19,30,57],"require":[20],"repeated":[21],"analysis":[22,61],"of":[23,145,162,168,208,213,247,281],"a":[24,64,86,94,123,264,270],"procedure":[25,102,164],"for":[26,240,260,293],"separate":[27],"contexts.":[28],"Bottom-up":[29],"need":[31],"model":[33],"unknown":[34,150],"pointees":[35,151],"accessed":[36],"indirectly":[37],"through":[38],"pointers":[39],"that":[40,82,219,243,296],"may":[41],"defined":[43],"in":[44,81,166,216,278],"the":[45,78,127,143,149,185,206,217,233,245,248,279],"callers":[46],"hence":[48],"do":[49],"not":[50],"scale":[51,256],"while":[52,112,196],"preserving":[53,197],"precision.":[54,75,117,230],"Therefore,":[55],"most":[56],"begin":[62,84],"with":[63,85,290],"scalable":[65],"but":[66,99],"imprecise":[67],"method":[68,88],"then":[70,105],"seek":[71],"increase":[73,90],"its":[74,91],"We":[76],"take":[77],"opposite":[79],"approach":[80],"we":[83,96,121],"scalability.":[92],"In":[93],"nutshell,":[95],"create":[97],"naive":[98],"possibly":[100],"non-scalable":[101],"summaries":[103,165],"use":[106],"novel":[107,124],"optimizations":[108],"compact":[110,160],"them":[111,141],"retaining":[113],"their":[114],"soundness":[115,198],"For":[118],"this":[119],"purpose,":[120],"propose":[122],"abstraction":[125,272],"called":[126],"generalized":[128],"graph":[130],"(GPG),":[131],"which":[132],"views":[133],"relations":[135],"as":[136,159,222,226],"memory":[137,169,277],"updates":[138,170],"generalizes":[140],"using":[142],"counts":[144],"indirection":[146,186],"levels":[147],"leaving":[148],"implicit.":[152],"This":[153,231,251],"allows":[154,252],"us":[155],"construct":[157],"GPGs":[158,214,235,268],"representations":[161],"bottom-up":[163],"terms":[167],"control":[172,188,193,224],"flow":[173,189,194,225],"between":[174],"them.":[175],"Their":[176],"compactness":[177],"ensured":[179],"by":[180],"strength":[181],"reduction":[182],"(which":[183,191,204],"reduces":[184],"levels),":[187],"minimization":[190],"removes":[192],"edges":[195],"precision),":[200],"call":[202],"inlining":[203],"enhances":[205],"opportunities":[207],"these":[209],"optimizations).":[210],"The":[211],"effectiveness":[212],"lies":[215],"fact":[218],"they":[220],"discard":[221],"much":[223],"possible":[227],"without":[228],"losing":[229],"reason":[234],"are":[236],"very":[237],"small":[238],"even":[239],"main":[241],"procedures":[242],"contain":[244],"effect":[246],"entire":[249],"program.":[250],"our":[253],"implementation":[254],"158":[258],"kLoC":[259],"C":[261],"programs.":[262],"At":[263],"more":[265],"general":[266],"level,":[267],"provide":[269],"convenient":[271],"represent":[274],"transform":[276],"presence":[280],"pointers.":[282],"Future":[283],"investigations":[284],"can":[285,297],"try":[286],"combine":[288],"it":[289],"other":[291],"abstractions":[292],"static":[294],"analyses":[295],"benefit":[298],"from":[299],"information.":[301]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":4},{"year":2021,"cited_by_count":1}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
