{"id":"https://openalex.org/W2071313718","doi":"https://doi.org/10.1145/1118537.1123068","title":"Non-null references by default in the Java modeling language","display_name":"Non-null references by default in the Java modeling language","publication_year":2005,"publication_date":"2005-09-05","ids":{"openalex":"https://openalex.org/W2071313718","doi":"https://doi.org/10.1145/1118537.1123068","mag":"2071313718"},"language":"en","primary_location":{"id":"doi:10.1145/1118537.1123068","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1118537.1123068","pdf_url":null,"source":{"id":"https://openalex.org/S186921487","display_name":"ACM SIGSOFT Software Engineering Notes","issn_l":"0163-5948","issn":["0163-5948","1943-5843"],"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 SIGSOFT Software Engineering Notes","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/A5026825556","display_name":"Patrice Chalin","orcid":"https://orcid.org/0000-0002-9399-3528"},"institutions":[{"id":"https://openalex.org/I60158472","display_name":"Concordia University","ror":"https://ror.org/0420zvk78","country_code":"CA","type":"education","lineage":["https://openalex.org/I60158472"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Patrice Chalin","raw_affiliation_strings":["Concordia University, Montr\u00e9al, Qu\u00e9bec, Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Concordia University, Montr\u00e9al, Qu\u00e9bec, Canada","institution_ids":["https://openalex.org/I60158472"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5027577450","display_name":"Fr\u00e9d\u00e9ric Rioux","orcid":null},"institutions":[{"id":"https://openalex.org/I60158472","display_name":"Concordia University","ror":"https://ror.org/0420zvk78","country_code":"CA","type":"education","lineage":["https://openalex.org/I60158472"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Fr\u00e9d\u00e9ric Rioux","raw_affiliation_strings":["Concordia University, Montr\u00e9al, Qu\u00e9bec, Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Concordia University, Montr\u00e9al, Qu\u00e9bec, Canada","institution_ids":["https://openalex.org/I60158472"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I60158472"],"apc_list":null,"apc_paid":null,"fwci":3.6434,"has_fulltext":false,"cited_by_count":17,"citation_normalized_percentile":{"value":0.93051126,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":"31","issue":"2","first_page":"9","last_page":"9"},"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.9995999932289124,"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.9995999932289124,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9980999827384949,"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.9976000189781189,"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.8270139694213867},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.801992654800415},{"id":"https://openalex.org/keywords/null","display_name":"Null (SQL)","score":0.7467579245567322},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6918628215789795},{"id":"https://openalex.org/keywords/java-modeling-language","display_name":"Java Modeling Language","score":0.6764823794364929},{"id":"https://openalex.org/keywords/generics-in-java","display_name":"Generics in Java","score":0.47903624176979065},{"id":"https://openalex.org/keywords/interface","display_name":"Interface (matter)","score":0.4469510614871979},{"id":"https://openalex.org/keywords/java-annotation","display_name":"Java annotation","score":0.429492712020874},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.33356279134750366},{"id":"https://openalex.org/keywords/real-time-java","display_name":"Real time Java","score":0.30317768454551697},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.11989352107048035},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.11732971668243408}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8270139694213867},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.801992654800415},{"id":"https://openalex.org/C203763787","wikidata":"https://www.wikidata.org/wiki/Q371029","display_name":"Null (SQL)","level":2,"score":0.7467579245567322},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6918628215789795},{"id":"https://openalex.org/C60945770","wikidata":"https://www.wikidata.org/wiki/Q2517517","display_name":"Java Modeling Language","level":5,"score":0.6764823794364929},{"id":"https://openalex.org/C172482141","wikidata":"https://www.wikidata.org/wiki/Q379273","display_name":"Generics in Java","level":5,"score":0.47903624176979065},{"id":"https://openalex.org/C113843644","wikidata":"https://www.wikidata.org/wiki/Q901882","display_name":"Interface (matter)","level":4,"score":0.4469510614871979},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.429492712020874},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.33356279134750366},{"id":"https://openalex.org/C132106392","wikidata":"https://www.wikidata.org/wiki/Q1373903","display_name":"Real time Java","level":3,"score":0.30317768454551697},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.11989352107048035},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.11732971668243408},{"id":"https://openalex.org/C129307140","wikidata":"https://www.wikidata.org/wiki/Q6795880","display_name":"Maximum bubble pressure method","level":3,"score":0.0},{"id":"https://openalex.org/C157915830","wikidata":"https://www.wikidata.org/wiki/Q2928001","display_name":"Bubble","level":2,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/1118537.1123068","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1118537.1123068","pdf_url":null,"source":{"id":"https://openalex.org/S186921487","display_name":"ACM SIGSOFT Software Engineering Notes","issn_l":"0163-5948","issn":["0163-5948","1943-5843"],"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 SIGSOFT Software Engineering Notes","raw_type":"journal-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.131.6019","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.131.6019","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.iastate.edu/~leavens/SAVCBS/2005/papers/Chalin-Rioux.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/4","display_name":"Quality Education","score":0.5299999713897705}],"awards":[],"funders":[{"id":"https://openalex.org/F4320334593","display_name":"Natural Sciences and Engineering Research Council of Canada","ror":"https://ror.org/01h531d29"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":16,"referenced_works":["https://openalex.org/W204377626","https://openalex.org/W1498946538","https://openalex.org/W1555070304","https://openalex.org/W1583095677","https://openalex.org/W1583826417","https://openalex.org/W1959256509","https://openalex.org/W1964830323","https://openalex.org/W1980131623","https://openalex.org/W2035529004","https://openalex.org/W2090962365","https://openalex.org/W2094160561","https://openalex.org/W2125044336","https://openalex.org/W2146455667","https://openalex.org/W2153887189","https://openalex.org/W2166985644","https://openalex.org/W6641393386"],"related_works":["https://openalex.org/W2541866089","https://openalex.org/W2547095320","https://openalex.org/W1572758480","https://openalex.org/W1519944186","https://openalex.org/W1974508891","https://openalex.org/W3172992491","https://openalex.org/W2181544444","https://openalex.org/W2365754790","https://openalex.org/W2076663662","https://openalex.org/W2415486708"],"abstract_inverted_index":{"Based":[0],"on":[1,144,155],"our":[2,7,98],"experiences":[3],"and":[4,39,83,113,139],"those":[5],"of":[6,17,21,93,121,147,158,163],"peers,":[8],"we":[9,89,101],"hypothesized":[10],"that":[11,19,44,59,96,107,114,119],"in":[12,65,77,141,161],"Java":[13,31],"code,":[14],"the":[15,30,91,145,159,164],"majority":[16],"declarations":[18,46,120],"are":[20,24,47,60,124],"reference":[22,122],"types":[23,123],"meant":[25],"to":[26,56,67,105,117,125],"be":[27,126],"non-null.":[28],"Unfortunately,":[29],"Modeling":[32],"Language":[33],"(JML),":[34],"like":[35],"most":[36],"interface":[37],"specification":[38],"object-oriented":[40],"programming":[41],"languages,":[42],"assumes":[43],"such":[45],"possibly-null":[48],"by":[49,130],"default.":[50,131],"As":[51],"a":[52,94],"consequence,":[53],"developers":[54,116],"need":[55],"write":[57],"specifications":[58],"more":[61],"verbose":[62],"than":[63,149],"necessary":[64],"order":[66],"accurately":[68],"document":[69],"their":[70],"module":[71,78],"interfaces.":[72],"In":[73,86],"practice,":[74],"this":[75,87,135],"results":[76,92,140],"interfaces":[79],"being":[80],"left":[81],"incompletely":[82],"inaccurately":[84],"specified.":[85],"paper":[88,152],"present":[90],"study":[95],"confirms":[97],"hypothesis.":[99],"Hence,":[100],"propose":[102],"an":[103,156],"adaptation":[104],"JML":[106,165],"preserves":[108],"its":[109],"language":[110],"design":[111],"goals":[112],"allows":[115],"specify":[118],"interpreted":[127],"as":[128],"non-null":[129],"We":[132],"explain":[133],"how":[134],"default":[136],"is":[137],"safer":[138],"less":[142],"writing":[143],"part":[146],"specifiers":[148],"null-by-default.":[150],"The":[151],"also":[153],"reports":[154],"implementation":[157],"proposal":[160],"some":[162],"tools.":[166]},"counts_by_year":[{"year":2022,"cited_by_count":1},{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":2}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
