{"id":"https://openalex.org/W2126508237","doi":"https://doi.org/10.1145/2048066.2048144","title":"Null dereference verification via over-approximated weakest pre-conditions analysis","display_name":"Null dereference verification via over-approximated weakest pre-conditions analysis","publication_year":2011,"publication_date":"2011-10-22","ids":{"openalex":"https://openalex.org/W2126508237","doi":"https://doi.org/10.1145/2048066.2048144","mag":"2126508237"},"language":"en","primary_location":{"id":"doi:10.1145/2048066.2048144","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2048066.2048144","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications","raw_type":"proceedings-article"},"type":"conference-paper","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/A5004372652","display_name":"Ravichandhran Madhavan","orcid":"https://orcid.org/0000-0003-0227-266X"},"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"]},{"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","US"],"is_corresponding":false,"raw_author_name":"Ravichandhran Madhavan","raw_affiliation_strings":["Microsoft Research India, Bangalore, India","Microsoft Research india, Bangalore, India#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research India, Bangalore, India","institution_ids":["https://openalex.org/I4210124949"]},{"raw_affiliation_string":"Microsoft Research india, Bangalore, India#TAB#","institution_ids":["https://openalex.org/I1290206253"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5068228424","display_name":"Raghavan Komondoor","orcid":"https://orcid.org/0009-0005-8657-4658"},"institutions":[{"id":"https://openalex.org/I59270414","display_name":"Indian Institute of Science Bangalore","ror":"https://ror.org/04dese585","country_code":"IN","type":"education","lineage":["https://openalex.org/I59270414"]}],"countries":["IN"],"is_corresponding":false,"raw_author_name":"Raghavan Komondoor","raw_affiliation_strings":["Indian Institute of Science, Bangalore, India"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Indian Institute of Science, Bangalore, India","institution_ids":["https://openalex.org/I59270414"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.8884,"has_fulltext":false,"cited_by_count":26,"citation_normalized_percentile":{"value":0.87010767,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"1033","last_page":"1052"},"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.9993000030517578,"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.9993000030517578,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9993000030517578,"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.9991999864578247,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7970908880233765},{"id":"https://openalex.org/keywords/dataflow","display_name":"Dataflow","score":0.7278009057044983},{"id":"https://openalex.org/keywords/null","display_name":"Null (SQL)","score":0.6911037564277649},{"id":"https://openalex.org/keywords/aliasing","display_name":"Aliasing","score":0.6797793507575989},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6621439456939697},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.6140211224555969},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5676405429840088},{"id":"https://openalex.org/keywords/complete-lattice","display_name":"Complete lattice","score":0.48967650532722473},{"id":"https://openalex.org/keywords/integer","display_name":"Integer (computer science)","score":0.4783734381198883},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.4697694480419159},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.45665064454078674},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.45393264293670654},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.45231786370277405},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.45144930481910706},{"id":"https://openalex.org/keywords/lattice","display_name":"Lattice (music)","score":0.4314882755279541},{"id":"https://openalex.org/keywords/integer-programming","display_name":"Integer programming","score":0.4266950488090515},{"id":"https://openalex.org/keywords/data-mining","display_name":"Data mining","score":0.1692948043346405},{"id":"https://openalex.org/keywords/filter","display_name":"Filter (signal processing)","score":0.11812695860862732},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.09893050789833069}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7970908880233765},{"id":"https://openalex.org/C96324660","wikidata":"https://www.wikidata.org/wiki/Q205446","display_name":"Dataflow","level":2,"score":0.7278009057044983},{"id":"https://openalex.org/C203763787","wikidata":"https://www.wikidata.org/wiki/Q371029","display_name":"Null (SQL)","level":2,"score":0.6911037564277649},{"id":"https://openalex.org/C4069607","wikidata":"https://www.wikidata.org/wiki/Q868732","display_name":"Aliasing","level":3,"score":0.6797793507575989},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6621439456939697},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.6140211224555969},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5676405429840088},{"id":"https://openalex.org/C201640847","wikidata":"https://www.wikidata.org/wiki/Q2362924","display_name":"Complete lattice","level":3,"score":0.48967650532722473},{"id":"https://openalex.org/C97137487","wikidata":"https://www.wikidata.org/wiki/Q729138","display_name":"Integer (computer science)","level":2,"score":0.4783734381198883},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.4697694480419159},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.45665064454078674},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.45393264293670654},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.45231786370277405},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.45144930481910706},{"id":"https://openalex.org/C2781204021","wikidata":"https://www.wikidata.org/wiki/Q6497091","display_name":"Lattice (music)","level":2,"score":0.4314882755279541},{"id":"https://openalex.org/C56086750","wikidata":"https://www.wikidata.org/wiki/Q6042592","display_name":"Integer programming","level":2,"score":0.4266950488090515},{"id":"https://openalex.org/C124101348","wikidata":"https://www.wikidata.org/wiki/Q172491","display_name":"Data mining","level":1,"score":0.1692948043346405},{"id":"https://openalex.org/C106131492","wikidata":"https://www.wikidata.org/wiki/Q3072260","display_name":"Filter (signal processing)","level":2,"score":0.11812695860862732},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.09893050789833069},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C183992945","wikidata":"https://www.wikidata.org/wiki/Q2495574","display_name":"Universality (dynamical systems)","level":2,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0},{"id":"https://openalex.org/C31972630","wikidata":"https://www.wikidata.org/wiki/Q844240","display_name":"Computer vision","level":1,"score":0.0},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C24890656","wikidata":"https://www.wikidata.org/wiki/Q82811","display_name":"Acoustics","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/2048066.2048144","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2048066.2048144","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications","raw_type":"proceedings-article"},{"id":"pmh:oai:eprints.iisc.ac.in:43399","is_oa":false,"landing_page_url":null,"pdf_url":null,"source":{"id":"https://openalex.org/S4377196309","display_name":"NOT FOUND REPOSITORY (Indian Institute of Science Bangalore)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I59270414","host_organization_name":"Indian Institute of Science Bangalore","host_organization_lineage":["https://openalex.org/I59270414"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"acceptedVersion","is_accepted":true,"is_published":false,"raw_source_name":"","raw_type":"Journal Article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.361.1854","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.361.1854","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://drona.csa.iisc.ernet.in/~raghavan/ReadingMaterial/oopsla168-madhavan-corrected.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":25,"referenced_works":["https://openalex.org/W148396834","https://openalex.org/W1533634404","https://openalex.org/W1959256509","https://openalex.org/W1991837261","https://openalex.org/W1993836075","https://openalex.org/W2025554746","https://openalex.org/W2043100293","https://openalex.org/W2058895276","https://openalex.org/W2088238746","https://openalex.org/W2089139117","https://openalex.org/W2095506671","https://openalex.org/W2096449544","https://openalex.org/W2103953153","https://openalex.org/W2107794009","https://openalex.org/W2108827856","https://openalex.org/W2114337691","https://openalex.org/W2124153277","https://openalex.org/W2137628566","https://openalex.org/W2140809377","https://openalex.org/W2150874411","https://openalex.org/W2171683519","https://openalex.org/W4235785431","https://openalex.org/W4237492309","https://openalex.org/W4247981256","https://openalex.org/W6675350323"],"related_works":["https://openalex.org/W2293118914","https://openalex.org/W2998381397","https://openalex.org/W4236419692","https://openalex.org/W2171015181","https://openalex.org/W3167919718","https://openalex.org/W4251718783","https://openalex.org/W4239447582","https://openalex.org/W1484403103","https://openalex.org/W2521947294","https://openalex.org/W2907307640"],"abstract_inverted_index":{"Null":[0],"dereferences":[1],"are":[2,135],"a":[3,17,27,45,55,72,111,159],"bane":[4],"of":[5,41,50,64,75,95,114,120,156,161,172],"programming":[6],"in":[7,102,141,208],"languages":[8],"such":[9,53],"as":[10,30,81,83,126],"Java.":[11],"In":[12],"this":[13,68],"paper":[14],"we":[15,97,122,175],"propose":[16],"sound,":[18],"demand-driven,":[19],"inter-procedurally":[20],"context-sensitive":[21],"dataflow":[22],"analysis":[23,36,180],"technique":[24],"to":[25,43,88,131,138,181,187],"verify":[26,188],"given":[28],"dereference":[29],"safe":[31],"or":[32,143],"potentially":[33],"unsafe.":[34],"Our":[35,166],"uses":[37],"an":[38,154],"abstract":[39,104],"lattice":[40],"formulas":[42,124],"find":[44],"pre-condition":[46],"at":[47],"the":[48,51,61,65,93,118,145,170,179],"entry":[49],"program":[52,66],"that":[54,134,169],"null-dereference":[56],"can":[57],"occur":[58],"only":[59],"if":[60],"initial":[62],"state":[63],"satisfies":[67],"pre-condition.":[69],"We":[70,147],"use":[71,110,207],"simplified":[73],"domain":[74],"formulas,":[76],"abstracting":[77],"out":[78],"integer":[79],"arithmetic,":[80],"well":[82],"unbounded":[84],"access":[85],"paths":[86,186],"due":[87],"recursive":[89],"data":[90],"structures.":[91],"For":[92,117],"sake":[94,119],"precision":[96],"model":[98],"aliasing":[99],"relationships":[100],"explicitly":[101],"our":[103,150],"lattice,":[105],"enable":[106,178],"strong":[107],"updates,":[108],"and":[109,152,195],"limited":[112],"notion":[113],"path":[115],"sensitivity.":[116],"scalability":[121],"prune":[123],"continually":[125],"they":[127],"get":[128],"propagated,":[129],"reducing":[130],"true":[132],"conjuncts":[133],"less":[136],"likely":[137],"be":[139],"useful":[140],"validating":[142],"invalidating":[144],"formula.":[146],"have":[148,176],"implemented":[149],"approach,":[151],"present":[153],"evaluation":[155],"it":[157,204],"on":[158],"set":[160,171],"ten":[162],"real":[163],"Java":[164],"programs.":[165],"results":[167],"show":[168],"design":[173],"features":[174],"incorporated":[177],"(a)":[182],"explore":[183],"long,":[184],"inter-procedural":[185],"each":[189],"dereference,":[190,202],"with":[191],"(b)":[192],"reasonable":[193],"accuracy,":[194],"(c)":[196],"very":[197],"quick":[198],"response":[199],"time":[200],"per":[201],"making":[203],"suitable":[205],"for":[206],"desktop":[209],"development":[210],"environments.":[211]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":2},{"year":2019,"cited_by_count":5},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":2},{"year":2014,"cited_by_count":5},{"year":2012,"cited_by_count":2}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
