{"id":"https://openalex.org/W2171962864","doi":"https://doi.org/10.1109/icse.2009.5070517","title":"Automatic dimension inference and checking for object-oriented programs","display_name":"Automatic dimension inference and checking for object-oriented programs","publication_year":2009,"publication_date":"2009-01-01","ids":{"openalex":"https://openalex.org/W2171962864","doi":"https://doi.org/10.1109/icse.2009.5070517","mag":"2171962864"},"language":"en","primary_location":{"id":"doi:10.1109/icse.2009.5070517","is_oa":false,"landing_page_url":"https://doi.org/10.1109/icse.2009.5070517","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2009 IEEE 31st International Conference on Software Engineering","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/A5086483307","display_name":"Sudheendra Hangal","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Sudheendra Hangal","raw_affiliation_strings":["Computer Science Department, University of Stanford, CA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Computer Science Department, University of Stanford, CA, USA","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5002419188","display_name":"Monica S. Lam","orcid":"https://orcid.org/0000-0002-1205-1302"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Monica S. Lam","raw_affiliation_strings":["Computer Science Department, University of Stanford, CA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Computer Science Department, University of Stanford, CA, USA","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.9126,"has_fulltext":false,"cited_by_count":22,"citation_normalized_percentile":{"value":0.74955735,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9986000061035156,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9986000061035156,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10126","display_name":"Logic, programming, and type systems","score":0.9984999895095825,"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/T10260","display_name":"Software Engineering Research","score":0.9980000257492065,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/programming-language","display_name":"Programming language","score":0.7790263295173645},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7129210829734802},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.6756017804145813},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6518043279647827},{"id":"https://openalex.org/keywords/dimension","display_name":"Dimension (graph theory)","score":0.5583312511444092},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.4872268736362457},{"id":"https://openalex.org/keywords/consistency","display_name":"Consistency (knowledge bases)","score":0.4798373878002167},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.4655991494655609},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4620627164840698},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.20402485132217407},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.1708296835422516},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.10118362307548523}],"concepts":[{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7790263295173645},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7129210829734802},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.6756017804145813},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6518043279647827},{"id":"https://openalex.org/C33676613","wikidata":"https://www.wikidata.org/wiki/Q13415176","display_name":"Dimension (graph theory)","level":2,"score":0.5583312511444092},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.4872268736362457},{"id":"https://openalex.org/C2776436953","wikidata":"https://www.wikidata.org/wiki/Q5163215","display_name":"Consistency (knowledge bases)","level":2,"score":0.4798373878002167},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.4655991494655609},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4620627164840698},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.20402485132217407},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.1708296835422516},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.10118362307548523},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","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/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1109/icse.2009.5070517","is_oa":false,"landing_page_url":"https://doi.org/10.1109/icse.2009.5070517","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2009 IEEE 31st International Conference on Software Engineering","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.157.1876","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.157.1876","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://suif.stanford.edu/papers/ICSE2009_RP_0142_Hangal_Sudheendra.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.321.8287","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.321.8287","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://suif.stanford.edu/unifi/unifi-icse-2009.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Peace, Justice and strong institutions","score":0.4300000071525574,"id":"https://metadata.un.org/sdg/16"}],"awards":[],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320322648","display_name":"Universit\u00e0 degli Studi di Firenze","ror":"https://ror.org/04jr1s763"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":24,"referenced_works":["https://openalex.org/W1565113942","https://openalex.org/W1963569294","https://openalex.org/W1968027261","https://openalex.org/W1995008247","https://openalex.org/W2010452422","https://openalex.org/W2024453375","https://openalex.org/W2024943946","https://openalex.org/W2043811931","https://openalex.org/W2099963114","https://openalex.org/W2116409384","https://openalex.org/W2121059325","https://openalex.org/W2132874586","https://openalex.org/W2136064646","https://openalex.org/W2145708265","https://openalex.org/W2159745859","https://openalex.org/W2163319971","https://openalex.org/W2172082781","https://openalex.org/W2295399529","https://openalex.org/W4214813686","https://openalex.org/W4231709874","https://openalex.org/W4255079701","https://openalex.org/W6634118787","https://openalex.org/W6642147301","https://openalex.org/W7066626353"],"related_works":["https://openalex.org/W2379153735","https://openalex.org/W2046172023","https://openalex.org/W2972896947","https://openalex.org/W2170146914","https://openalex.org/W2355105570","https://openalex.org/W2083974823","https://openalex.org/W2072751097","https://openalex.org/W4237177615","https://openalex.org/W2289257917","https://openalex.org/W2015567081"],"abstract_inverted_index":{"This":[0],"paper":[1],"introduces":[2],"UniFi,":[3],"a":[4,27,101,111],"tool":[5],"that":[6,46,91],"attempts":[7],"to":[8],"automatically":[9],"detect":[10],"dimension":[11,97],"errors":[12],"in":[13,26,95],"Java":[14,87],"programs.":[15],"UniFi":[16,50,66,84,106],"infers":[17],"dimensional":[18,38,63],"relationships":[19,39],"across":[20],"primitive":[21],"type":[22],"and":[23,55,89],"string":[24],"variables":[25],"program,":[28],"using":[29,105],"an":[30],"inter-procedural,":[31],"context-sensitive":[32],"analysis.":[33],"It":[34],"then":[35],"monitors":[36],"these":[37],"as":[40,79,116],"the":[41],"program":[42],"evolves,":[43],"flagging":[44],"inconsistencies":[45],"may":[47],"be":[48,74],"errors.":[49,98],"requires":[51],"no":[52],"programmer":[53],"annotations,":[54],"supports":[56],"arbitrary":[57],"program-specific":[58],"dimensions,":[59],"thus":[60],"providing":[61],"fine-grained":[62],"consistency":[64],"checking.":[65],"exploits":[67],"features":[68],"of":[69,104,110],"object-oriented":[70],"languages,":[71],"but":[72],"can":[73],"used":[75],"for":[76],"other":[77],"languages":[78],"well.":[80],"We":[81,99],"have":[82],"run":[83],"on":[85,107],"real-life":[86],"code":[88,114],"found":[90],"it":[92,117],"is":[93],"useful":[94],"exposing":[96],"present":[100],"case":[102],"study":[103],"nightly":[108],"builds":[109],"19,000":[112],"line":[113],"base":[115],"evolved":[118],"over":[119],"10":[120],"months.":[121]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":2},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":3},{"year":2016,"cited_by_count":2},{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":2}],"updated_date":"2026-08-26T07:47:46.906454","created_date":"2025-10-10T00:00:00"}
