{"id":"https://openalex.org/W2045903735","doi":"https://doi.org/10.1145/383721.383732","title":"Using types to analyze and optimize object-oriented programs","display_name":"Using types to analyze and optimize object-oriented programs","publication_year":2001,"publication_date":"2001-01-01","ids":{"openalex":"https://openalex.org/W2045903735","doi":"https://doi.org/10.1145/383721.383732","mag":"2045903735"},"language":"en","primary_location":{"id":"doi:10.1145/383721.383732","doi":"https://doi.org/10.1145/383721.383732","is_oa":true,"landing_page_url":"https://doi.org/10.1145/383721.383732","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/383721.383732","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["ccf-a","cwts-core","dongbi-a","jufo-3","norway-2","poland-140","russia-white-list-2"],"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 Transactions on Programming Languages and Systems","raw_type":"journal-article"},"volume":null,"type":"article","is_traditional":true,"indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/383721.383732","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5059100099","display_name":"Amer Diwan \u0396","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I188538660","display_name":"University of Colorado Boulder","ror":"https://ror.org/02ttsq026","country_code":"US","type":"education","lineage":["https://openalex.org/I188538660"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Amer Diwan","raw_affiliation_strings":["Univ. of Colorado, Boulder"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Univ. of Colorado, Boulder","institution_ids":["https://openalex.org/I188538660"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5087054368","display_name":"Kathryn S. McKinley","orcid":"https://orcid.org/0000-0002-7188-2501","observed_orcids":["https://orcid.org/0000-0002-7188-2501"]},"institutions":[{"id":"https://openalex.org/I24603500","display_name":"University of Massachusetts Amherst","ror":"https://ror.org/0072zz521","country_code":"US","type":"education","lineage":["https://openalex.org/I24603500"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Kathryn S. McKinley","raw_affiliation_strings":["Univ. of Massachusetts, Amherst","University of Massachusetts: Amherst#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Univ. of Massachusetts, Amherst","institution_ids":["https://openalex.org/I24603500"]},{"raw_affiliation_string":"University of Massachusetts: Amherst#TAB#","institution_ids":["https://openalex.org/I24603500"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5015046489","display_name":"J. Eliot B. Moss","orcid":"https://orcid.org/0000-0001-6637-3641","observed_orcids":["https://orcid.org/0000-0001-6637-3641"]},"institutions":[{"id":"https://openalex.org/I24603500","display_name":"University of Massachusetts Amherst","ror":"https://ror.org/0072zz521","country_code":"US","type":"education","lineage":["https://openalex.org/I24603500"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"J. Eliot B. Moss","raw_affiliation_strings":["Univ. of Massachusetts, Amherst","University of Massachusetts: Amherst#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Univ. of Massachusetts, Amherst","institution_ids":["https://openalex.org/I24603500"]},{"raw_affiliation_string":"University of Massachusetts: Amherst#TAB#","institution_ids":["https://openalex.org/I24603500"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":6.3755,"has_fulltext":true,"cited_by_count":39,"citation_normalized_percentile":{"value":0.95940959,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":88,"max":97},"biblio":{"volume":"23","issue":"1","first_page":"30","last_page":"72"},"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.9897000193595886,"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.9897000193595886,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.009499999694526196,"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/T10260","display_name":"Software Engineering Research","score":9.999999747378752e-05,"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/modula-3","display_name":"Modula-3","score":0.9430000185966492},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"object-oriented programming","score":0.8220000267028809},{"id":"https://openalex.org/keywords/method-invocation","display_name":"method invocation","score":0.6190000176429749},{"id":"https://openalex.org/keywords/static-analysis","display_name":"static analysis","score":0.33399999141693115},{"id":"https://openalex.org/keywords/program-optimization","display_name":"program optimization","score":0.6729999780654907},{"id":"https://openalex.org/keywords/static-typing","display_name":"static typing","score":0.3230000138282776}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9265502691268921},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7497473359107971},{"id":"https://openalex.org/C46681722","wikidata":"https://www.wikidata.org/wiki/Q4725589","display_name":"Alias","level":2,"score":0.7099158763885498},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.6791510581970215},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6426777839660645},{"id":"https://openalex.org/C7263679","wikidata":"https://www.wikidata.org/wiki/Q5978076","display_name":"Pointer analysis","level":3,"score":0.6101792454719543},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.43643367290496826},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.43329286575317383},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.369246244430542},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.10809734463691711},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.0}],"mesh":[],"locations_count":11,"locations":[{"id":"doi:10.1145/383721.383732","doi":"https://doi.org/10.1145/383721.383732","is_oa":true,"landing_page_url":"https://doi.org/10.1145/383721.383732","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/383721.383732","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["ccf-a","cwts-core","dongbi-a","jufo-3","norway-2","poland-140","russia-white-list-2"],"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 Transactions on Programming Languages and Systems","raw_type":"journal-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.23.5908","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.23.5908","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.colorado.edu/~diwan/5535-01/types.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.29.2546","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.2546","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.colorado.edu/~diwan/toplas.ps","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.36.6932","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.36.6932","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.colorado.edu/~diwan/7135/types.ps","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.37.1036","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.1036","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.colorado.edu/~diwan/5535-00/types.ps","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.383.8677","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.383.8677","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.dacapo-group.org/papers/toplas2001.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.91.9667","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.91.9667","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.umass.edu/~moss/papers/toplas-2001-analysis.pdf","raw_type":"text"},{"id":"pmh:oai:scholarworks.umass.edu:cs_faculty_pubs-1008","doi":null,"is_oa":false,"landing_page_url":"https://scholarworks.umass.edu/cs_faculty_pubs/17","pdf_url":null,"source":{"id":"https://openalex.org/S4306402240","display_name":"ScholarWorks@UMassAmherst (University of Massachusetts Amherst)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I24603500","host_organization_name":"University of Massachusetts Amherst","host_organization_lineage":["https://openalex.org/I24603500"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Computer Science Department Faculty Publication Series","raw_type":"text"},{"id":"pmh:oai:scholarworks.umass.edu:20.500.14394/9830","doi":null,"is_oa":false,"landing_page_url":"https://hdl.handle.net/20.500.14394/9830","pdf_url":null,"source":{"id":"https://openalex.org/S4306402240","display_name":"ScholarWorks@UMassAmherst (University of Massachusetts Amherst)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I24603500","host_organization_name":"University of Massachusetts Amherst","host_organization_lineage":["https://openalex.org/I24603500"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"published","raw_type":"Article"},{"id":"pmh:oai:works.bepress.com:eliot_moss-1012","doi":null,"is_oa":false,"landing_page_url":"https://works.bepress.com/eliot_moss/13","pdf_url":null,"source":{"id":"https://openalex.org/S4306402240","display_name":"ScholarWorks@UMassAmherst (University of Massachusetts Amherst)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I24603500","host_organization_name":"University of Massachusetts Amherst","host_organization_lineage":["https://openalex.org/I24603500"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Eliot B. Moss","raw_type":"text"},{"id":"mag:2184851866","doi":null,"is_oa":false,"landing_page_url":"http://www.cs.umass.edu/~moss/papers/toplas-2001-analysis.pdf","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":null}],"best_oa_location":{"id":"doi:10.1145/383721.383732","doi":"https://doi.org/10.1145/383721.383732","is_oa":true,"landing_page_url":"https://doi.org/10.1145/383721.383732","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/383721.383732","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["ccf-a","cwts-core","dongbi-a","jufo-3","norway-2","poland-140","russia-white-list-2"],"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 Transactions on Programming Languages and Systems","raw_type":"journal-article"},"sustainable_development_goals":[],"study_designs":[],"awards":[{"id":"https://openalex.org/G2575301005","display_name":"Improving Cache Performance for Uniprocessors","funder_award_id":"9525767","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G4068282225","display_name":"Storage Management for Persistent Programming Languages","funder_award_id":"9211272","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G6370400435","display_name":"CAREER:  Compiling for Heterogeneous Systems","funder_award_id":"9624209","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2045903735.pdf","grobid_xml":"https://content.openalex.org/works/W2045903735.grobid-xml"},"referenced_works_count":81,"referenced_works":["https://openalex.org/W10127936","https://openalex.org/W32552433","https://openalex.org/W76185594","https://openalex.org/W102335353","https://openalex.org/W110891807","https://openalex.org/W199031666","https://openalex.org/W1482951056","https://openalex.org/W1491178396","https://openalex.org/W1492489158","https://openalex.org/W1517152123","https://openalex.org/W1538592187","https://openalex.org/W1543063618","https://openalex.org/W1555915743","https://openalex.org/W1565143444","https://openalex.org/W1579167185","https://openalex.org/W1597122400","https://openalex.org/W1604666619","https://openalex.org/W1637758212","https://openalex.org/W1845511207","https://openalex.org/W1966449927","https://openalex.org/W1970061809","https://openalex.org/W1974604404","https://openalex.org/W1975914482","https://openalex.org/W1982322251","https://openalex.org/W1984458638","https://openalex.org/W1988827547","https://openalex.org/W1996094959","https://openalex.org/W1996146601","https://openalex.org/W2002771912","https://openalex.org/W2004633100","https://openalex.org/W2007146206","https://openalex.org/W2009911326","https://openalex.org/W2019410896","https://openalex.org/W2021085621","https://openalex.org/W2046079722","https://openalex.org/W2046137117","https://openalex.org/W2047226031","https://openalex.org/W2048683749","https://openalex.org/W2050320220","https://openalex.org/W2051345428","https://openalex.org/W2051600169","https://openalex.org/W2067872353","https://openalex.org/W2072964972","https://openalex.org/W2073888041","https://openalex.org/W2076063371","https://openalex.org/W2077102566","https://openalex.org/W2087612811","https://openalex.org/W2088494048","https://openalex.org/W2090110595","https://openalex.org/W2091909330","https://openalex.org/W2093334386","https://openalex.org/W2095390121","https://openalex.org/W2101483132","https://openalex.org/W2102440514","https://openalex.org/W2110795198","https://openalex.org/W2112393653","https://openalex.org/W2116098983","https://openalex.org/W2129192659","https://openalex.org/W2131135493","https://openalex.org/W2133608633","https://openalex.org/W2142547405","https://openalex.org/W2145913834","https://openalex.org/W2151360539","https://openalex.org/W2152954816","https://openalex.org/W2162026864","https://openalex.org/W2166341446","https://openalex.org/W2166781987","https://openalex.org/W2171240827","https://openalex.org/W2755344367","https://openalex.org/W2911524086","https://openalex.org/W2914074464","https://openalex.org/W3003698748","https://openalex.org/W3142323636","https://openalex.org/W4229524341","https://openalex.org/W4230766819","https://openalex.org/W4232966426","https://openalex.org/W4247445868","https://openalex.org/W4250522981","https://openalex.org/W6602947125","https://openalex.org/W6638360129","https://openalex.org/W6679073214"],"related_works":["https://openalex.org/W2184851866","https://openalex.org/W1579167185","https://openalex.org/W7100256690","https://openalex.org/W7099505039","https://openalex.org/W7099222842","https://openalex.org/W1606397617","https://openalex.org/W2072964972","https://openalex.org/W10481567","https://openalex.org/W102335353","https://openalex.org/W2021085621"],"abstract_inverted_index":{"Object-oriented":[0,16],"programming":[1],"languages":[2],"provide":[3],"many":[4],"software":[5],"engineering":[6],"benefits,":[7],"but":[8],"these":[9,53,106],"often":[10],"come":[11],"at":[12],"a":[13,57,114],"performance":[14],"cost.":[15],"programs":[17],"make":[18],"extensive":[19],"use":[20,40],"of":[21,28,52,76,116],"method":[22,90],"invocations":[23],"and":[24,86,99,110],"pointer":[25],"dereferences,":[26],"both":[27],"which":[29],"are":[30,108],"potentially":[31],"costly":[32],"on":[33],"modern":[34],"machines.":[35],"We":[36],"show":[37],"how":[38],"to":[39,42,68,81,87],"types":[41],"produce":[43],"effective,":[44,109],"yet":[45],"simple,":[46],"techniques":[47,107],"that":[48,105],"reduce":[49],"the":[50,74,77],"costs":[51],"features":[54],"in":[55],"Modula-3,":[56],"statically":[58],"typed,":[59],"object-oriented":[60],"language.":[61],"Our":[62],"compiler":[63],"performs":[64],"type-based":[65,78],"alias":[66,79],"analysis":[67,80],"disambiguate":[69],"memory":[70,84],"references.":[71],"It":[72],"uses":[73],"results":[75],"eliminate":[82],"redundant":[83],"references":[85],"replace":[88],"monomorphic":[89],"invocation":[91],"sites":[92],"with":[93],"direct":[94],"calls.":[95],"Using":[96],"limit,":[97],"static,":[98],"running":[100],"time":[101],"evaluation,":[102],"we":[103],"demonstrate":[104],"sometimes":[111],"perfect":[112],"for":[113],"set":[115],"Modula-3":[117],"benchmarks.":[118]},"counts_by_year":[{"year":2020,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2013,"cited_by_count":4}],"updated_date":"2026-11-12T12:28:57.059296","created_date":"2016-06-24T00:00:00"}
