{"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","doi":"https://doi.org/10.1109/icse.2009.5070517","is_oa":false,"landing_page_url":"https://doi.org/10.1109/icse.2009.5070517","pdf_url":null,"source":{"id":"https://openalex.org/S4210203175","display_name":"ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","issn_l":"0270-5257","issn":["0270-5257","1558-1225"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core","norway-2"],"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"conference"},"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"},"volume":null,"type":"conference-paper","is_traditional":true,"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,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"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":["https://openalex.org/I97018004"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5002419188","display_name":"Monica S. Lam","orcid":"https://orcid.org/0000-0002-1205-1302","observed_orcids":["https://orcid.org/0000-0002-1205-1302"]},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"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":["https://openalex.org/I97018004"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I97018004"],"apc_list":null,"apc_paid":null,"fwci":0.8959,"has_fulltext":false,"cited_by_count":23,"citation_normalized_percentile":{"value":0.72913028,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":88,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9545999765396118,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9545999765396118,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.031199999153614044,"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/T10260","display_name":"Software Engineering Research","score":0.012000000104308128,"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/java-programs","display_name":"Java programs","score":0.7210000157356262},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"object-oriented programming","score":0.6480000019073486},{"id":"https://openalex.org/keywords/interprocedural-analysis","display_name":"interprocedural analysis","score":0.9520000219345093},{"id":"https://openalex.org/keywords/context-sensitive-analysis","display_name":"context-sensitive analysis","score":0.9819999933242798},{"id":"https://openalex.org/keywords/software-evolution","display_name":"software evolution","score":0.4580000042915344},{"id":"https://openalex.org/keywords/unifi","display_name":"UNIFI","score":0.5189999938011169},{"id":"https://openalex.org/keywords/static-analysis","display_name":"static analysis","score":0.47600001096725464}],"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","doi":"https://doi.org/10.1109/icse.2009.5070517","is_oa":false,"landing_page_url":"https://doi.org/10.1109/icse.2009.5070517","pdf_url":null,"source":{"id":"https://openalex.org/S4210203175","display_name":"ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","issn_l":"0270-5257","issn":["0270-5257","1558-1225"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core","norway-2"],"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"conference"},"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","doi":null,"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","doi":null,"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":[],"study_designs":[],"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":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":21,"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/W2163319971","https://openalex.org/W2172082781","https://openalex.org/W2295399529","https://openalex.org/W4214813686","https://openalex.org/W4231709874","https://openalex.org/W4255079701","https://openalex.org/W7066626353"],"related_works":["https://openalex.org/W4408479858","https://openalex.org/W7099701482","https://openalex.org/W7009997010","https://openalex.org/W7045430569","https://openalex.org/W2797299946","https://openalex.org/W2997805850","https://openalex.org/W2585396981","https://openalex.org/W1548005479","https://openalex.org/W7098324187","https://openalex.org/W7060874295"],"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":2},{"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-11-07T11:25:07.637180","created_date":"2016-06-24T00:00:00"}
