{"id":"https://openalex.org/W2955314936","doi":"https://doi.org/10.1145/3338906.3338919","title":"NullAway: practical type-based null safety for Java","display_name":"NullAway: practical type-based null safety for Java","publication_year":2019,"publication_date":"2019-08-09","ids":{"openalex":"https://openalex.org/W2955314936","doi":"https://doi.org/10.1145/3338906.3338919","mag":"2955314936"},"language":"en","primary_location":{"id":"doi:10.1145/3338906.3338919","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3338906.3338919","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering","raw_type":"proceedings-article"},"type":"preprint","indexed_in":["arxiv","crossref","datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://arxiv.org/pdf/1907.02127","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5013922094","display_name":"Subarno Banerjee","orcid":"https://orcid.org/0000-0001-5449-2264"},"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":"Subarno Banerjee","raw_affiliation_strings":["University of Michigan, USA","University of Michigan (USA)"],"affiliations":[{"raw_affiliation_string":"University of Michigan, USA","institution_ids":["https://openalex.org/I27837315"]},{"raw_affiliation_string":"University of Michigan (USA)","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5048111556","display_name":"Lazaro Clapp","orcid":"https://orcid.org/0009-0001-9773-7273"},"institutions":[{"id":"https://openalex.org/I2946016260","display_name":"Uber AI (United States)","ror":"https://ror.org/05vm0ed18","country_code":"US","type":"company","lineage":["https://openalex.org/I2946016260"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Lazaro Clapp","raw_affiliation_strings":["Uber Technologies, USA","Uber Technologies USA"],"affiliations":[{"raw_affiliation_string":"Uber Technologies, USA","institution_ids":["https://openalex.org/I2946016260"]},{"raw_affiliation_string":"Uber Technologies USA","institution_ids":["https://openalex.org/I2946016260"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5038828346","display_name":"Manu Sridharan","orcid":"https://orcid.org/0000-0001-7993-302X"},"institutions":[{"id":"https://openalex.org/I103635307","display_name":"University of California, Riverside","ror":"https://ror.org/03nawhv43","country_code":"US","type":"education","lineage":["https://openalex.org/I103635307"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Manu Sridharan","raw_affiliation_strings":["University of California at Riverside, USA","University of California at Riverside , USA"],"affiliations":[{"raw_affiliation_string":"University of California at Riverside, USA","institution_ids":["https://openalex.org/I103635307"]},{"raw_affiliation_string":"University of California at Riverside , USA","institution_ids":["https://openalex.org/I103635307"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5013922094"],"corresponding_institution_ids":["https://openalex.org/I27837315"],"apc_list":null,"apc_paid":null,"fwci":0.3346,"has_fulltext":true,"cited_by_count":2,"citation_normalized_percentile":{"value":0.63498738,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":95},"biblio":{"volume":null,"issue":null,"first_page":"740","last_page":"750"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9986000061035156,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9986000061035156,"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9980000257492065,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"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.9977999925613403,"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/computer-science","display_name":"Computer science","score":0.8434115648269653},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.7184284925460815},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.5723724365234375},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.4996302127838135},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4924827516078949},{"id":"https://openalex.org/keywords/crash","display_name":"Crash","score":0.46753618121147156},{"id":"https://openalex.org/keywords/annotation","display_name":"Annotation","score":0.44577503204345703},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4208936095237732},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.38686978816986084},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.3265945613384247},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.1608085036277771},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.1455865204334259}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8434115648269653},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.7184284925460815},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.5723724365234375},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.4996302127838135},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4924827516078949},{"id":"https://openalex.org/C183469790","wikidata":"https://www.wikidata.org/wiki/Q333501","display_name":"Crash","level":2,"score":0.46753618121147156},{"id":"https://openalex.org/C2776321320","wikidata":"https://www.wikidata.org/wiki/Q857525","display_name":"Annotation","level":2,"score":0.44577503204345703},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4208936095237732},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.38686978816986084},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.3265945613384247},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.1608085036277771},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.1455865204334259}],"mesh":[],"locations_count":8,"locations":[{"id":"doi:10.1145/3338906.3338919","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3338906.3338919","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering","raw_type":"proceedings-article"},{"id":"pmh:oai:arXiv.org:1907.02127","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1907.02127","pdf_url":"https://arxiv.org/pdf/1907.02127","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"text"},{"id":"mag:2955314936","is_oa":true,"landing_page_url":"https://arxiv.org/pdf/1907.02127v1","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"arXiv (Cornell University)","raw_type":null},{"id":"pmh:oai:figshare.com:article/8638010","is_oa":true,"landing_page_url":null,"pdf_url":null,"source":{"id":"https://openalex.org/S4377196282","display_name":"Figshare","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I4210132348","host_organization_name":"Figshare (United Kingdom)","host_organization_lineage":["https://openalex.org/I4210132348"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Software"},{"id":"pmh:oai:zenodo.org:3267950","is_oa":true,"landing_page_url":"https://zenodo.org/record/3267950","pdf_url":null,"source":{"id":"https://openalex.org/S4306400562","display_name":"Zenodo (CERN European Organization for Nuclear Research)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I67311998","host_organization_name":"European Organization for Nuclear Research","host_organization_lineage":["https://openalex.org/I67311998"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"info:eu-repo/semantics/other"},{"id":"doi:10.48550/arxiv.1907.02127","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.1907.02127","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"article"},{"id":"doi:10.5281/zenodo.3267949","is_oa":true,"landing_page_url":"https://doi.org/10.5281/zenodo.3267949","pdf_url":null,"source":{"id":"https://openalex.org/S4306400562","display_name":"Zenodo (CERN European Organization for Nuclear Research)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I67311998","host_organization_name":"European Organization for Nuclear Research","host_organization_lineage":["https://openalex.org/I67311998"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"article"},{"id":"doi:10.5281/zenodo.3267950","is_oa":true,"landing_page_url":"https://doi.org/10.5281/zenodo.3267950","pdf_url":null,"source":{"id":"https://openalex.org/S4306400562","display_name":"Zenodo (CERN European Organization for Nuclear Research)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I67311998","host_organization_name":"European Organization for Nuclear Research","host_organization_lineage":["https://openalex.org/I67311998"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"article"}],"best_oa_location":{"id":"pmh:oai:arXiv.org:1907.02127","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1907.02127","pdf_url":"https://arxiv.org/pdf/1907.02127","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"text"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2955314936.pdf","grobid_xml":"https://content.openalex.org/works/W2955314936.grobid-xml"},"referenced_works_count":20,"referenced_works":["https://openalex.org/W1517943150","https://openalex.org/W1992012690","https://openalex.org/W1993155808","https://openalex.org/W2058895276","https://openalex.org/W2065266923","https://openalex.org/W2067901725","https://openalex.org/W2086464170","https://openalex.org/W2102440514","https://openalex.org/W2106355420","https://openalex.org/W2118004641","https://openalex.org/W2125044336","https://openalex.org/W2126508237","https://openalex.org/W2128769069","https://openalex.org/W2134968380","https://openalex.org/W2150874411","https://openalex.org/W2162635569","https://openalex.org/W2584678583","https://openalex.org/W2886799409","https://openalex.org/W2898125173","https://openalex.org/W3101464617"],"related_works":["https://openalex.org/W2968585938","https://openalex.org/W2584678583","https://openalex.org/W2724166850","https://openalex.org/W2972625019","https://openalex.org/W1492018576","https://openalex.org/W2534285557","https://openalex.org/W3008981372","https://openalex.org/W3162204369","https://openalex.org/W3150130360","https://openalex.org/W1549283351","https://openalex.org/W2066183757","https://openalex.org/W2615762501","https://openalex.org/W2416633934","https://openalex.org/W2069268700","https://openalex.org/W2767691901","https://openalex.org/W2911721057","https://openalex.org/W2810701304","https://openalex.org/W2593038894","https://openalex.org/W2765383936","https://openalex.org/W3003756849"],"abstract_inverted_index":{"NullPointerExceptions":[0],"(NPEs)":[1],"are":[2],"a":[3,52,60,125],"key":[4],"source":[5],"of":[6,86,127,156],"crashes":[7],"in":[8,103],"modern":[9],"Java":[10,67],"programs.":[11],"Previous":[12],"work":[13],"has":[14,73,113],"shown":[15],"how":[16],"such":[17,33],"errors":[18],"can":[19,82],"be":[20],"prevented":[21],"at":[22],"compile":[23],"time":[24],"via":[25],"code":[26,158],"annotations":[27],"and":[28,49,153],"pluggable":[29],"type":[30],"checking.":[31],"However,":[32],"systems":[34],"have":[35],"been":[36,74],"difficult":[37],"to":[38,45,142,163],"deploy":[39],"on":[40,105,124],"large-scale":[41],"software":[42],"projects,":[43],"due":[44,141,162],"significant":[46],"build-time":[47,116],"overhead":[48,117],"/":[50],"or":[51,151],"high":[53],"annotation":[54,92],"burden.":[55],"This":[56],"paper":[57],"presents":[58],"NullAway,":[59,137],"new":[61],"type-based":[62],"null":[63],"safety":[64],"checker":[65],"for":[66,77,99,131,167],"that":[68,111],"overcomes":[69],"these":[70],"issues.":[71],"NullAway":[72,90,112],"carefully":[75],"engineered":[76],"low":[78],"overhead,":[79],"so":[80],"it":[81],"run":[83],"as":[84],"part":[85],"every":[87],"build.":[88],"Further,":[89,123],"reduces":[91],"burden":[93],"through":[94],"targeted":[95],"unsound":[96,165],"assumptions,":[97],"aiming":[98],"no":[100],"false":[101],"negatives":[102],"practice":[104],"checked":[106,168],"code.":[107,169],"Our":[108],"evaluation":[109],"shows":[110],"significantly":[114],"lower":[115],"(1.15\u00d7)":[118],"than":[119],"comparable":[120],"tools":[121],"(2.8-5.1\u00d7).":[122],"corpus":[126],"production":[128],"crash":[129],"data":[130],"widely-used":[132],"Android":[133],"apps":[134],"built":[135],"with":[136],"remaining":[138],"NPEs":[139],"were":[140],"unchecked":[143],"third-party":[144],"libraries":[145],"(64%),":[146],"deliberate":[147],"error":[148],"suppressions":[149],"(17%),":[150,160],"reflection":[152],"other":[154],"forms":[155],"post-checking":[157],"modification":[159],"never":[161],"NullAway\u2019s":[164],"assumptions":[166]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2020,"cited_by_count":1}],"updated_date":"2026-03-20T23:20:44.827607","created_date":"2025-10-10T00:00:00"}
