{"id":"https://openalex.org/W2172232818","doi":"https://doi.org/10.1145/1028976.1028986","title":"Scalable extensibility via nested inheritance","display_name":"Scalable extensibility via nested inheritance","publication_year":2004,"publication_date":"2004-10-01","ids":{"openalex":"https://openalex.org/W2172232818","doi":"https://doi.org/10.1145/1028976.1028986","mag":"2172232818"},"language":"en","primary_location":{"id":"doi:10.1145/1028976.1028986","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1028976.1028986","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications","raw_type":"proceedings-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/A5111998286","display_name":"Nathaniel Nystrom","orcid":null},"institutions":[{"id":"https://openalex.org/I205783295","display_name":"Cornell University","ror":"https://ror.org/05bnh6r87","country_code":"US","type":"education","lineage":["https://openalex.org/I205783295"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Nathaniel Nystrom","raw_affiliation_strings":["Cornell University"],"affiliations":[{"raw_affiliation_string":"Cornell University","institution_ids":["https://openalex.org/I205783295"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5046383149","display_name":"Stephen Chong","orcid":"https://orcid.org/0000-0002-6734-5383"},"institutions":[{"id":"https://openalex.org/I205783295","display_name":"Cornell University","ror":"https://ror.org/05bnh6r87","country_code":"US","type":"education","lineage":["https://openalex.org/I205783295"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Stephen Chong","raw_affiliation_strings":["Cornell University"],"affiliations":[{"raw_affiliation_string":"Cornell University","institution_ids":["https://openalex.org/I205783295"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5101697549","display_name":"Andrew C. Myers","orcid":"https://orcid.org/0000-0001-5819-7588"},"institutions":[{"id":"https://openalex.org/I205783295","display_name":"Cornell University","ror":"https://ror.org/05bnh6r87","country_code":"US","type":"education","lineage":["https://openalex.org/I205783295"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Andrew C. Myers","raw_affiliation_strings":["Cornell University"],"affiliations":[{"raw_affiliation_string":"Cornell University","institution_ids":["https://openalex.org/I205783295"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5111998286"],"corresponding_institution_ids":["https://openalex.org/I205783295"],"apc_list":null,"apc_paid":null,"fwci":26.8035,"has_fulltext":false,"cited_by_count":150,"citation_normalized_percentile":{"value":0.99622236,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"99","last_page":"115"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9997000098228455,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9997000098228455,"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/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/T10260","display_name":"Software Engineering Research","score":0.9984999895095825,"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/computer-science","display_name":"Computer science","score":0.8470390439033508},{"id":"https://openalex.org/keywords/inheritance","display_name":"Inheritance (genetic algorithm)","score":0.8120864629745483},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7930275201797485},{"id":"https://openalex.org/keywords/multiple-inheritance","display_name":"Multiple inheritance","score":0.6730928421020508},{"id":"https://openalex.org/keywords/extensibility","display_name":"Extensibility","score":0.6238482594490051},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.4966426491737366},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.4542040526866913},{"id":"https://openalex.org/keywords/code-reuse","display_name":"Code reuse","score":0.4486272633075714},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.4113360047340393},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.36463019251823425},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.232201486825943}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8470390439033508},{"id":"https://openalex.org/C2780902518","wikidata":"https://www.wikidata.org/wiki/Q6033780","display_name":"Inheritance (genetic algorithm)","level":3,"score":0.8120864629745483},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7930275201797485},{"id":"https://openalex.org/C200568363","wikidata":"https://www.wikidata.org/wiki/Q1070739","display_name":"Multiple inheritance","level":3,"score":0.6730928421020508},{"id":"https://openalex.org/C32833848","wikidata":"https://www.wikidata.org/wiki/Q4115054","display_name":"Extensibility","level":2,"score":0.6238482594490051},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.4966426491737366},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.4542040526866913},{"id":"https://openalex.org/C2778583558","wikidata":"https://www.wikidata.org/wiki/Q771245","display_name":"Code reuse","level":3,"score":0.4486272633075714},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.4113360047340393},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.36463019251823425},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.232201486825943},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0}],"mesh":[],"locations_count":6,"locations":[{"id":"doi:10.1145/1028976.1028986","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1028976.1028986","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.156.3026","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.156.3026","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.iam.unibe.ch/~ducasse/Teaching/CoursAnnecy/0506-Master/ForPresentations/p99-nystrom.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.189.1305","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.189.1305","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://pag.csail.mit.edu/reading-group/nystrom04nested.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.380.5372","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.380.5372","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://ranger.uta.edu/~nystrom/papers/nested.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.58.6029","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.58.6029","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.cornell.edu/andru/papers/ncm04.pdf","raw_type":"text"},{"id":"pmh:oai:ecommons.cornell.edu:1813/5651","is_oa":false,"landing_page_url":"https://hdl.handle.net/1813/5651","pdf_url":null,"source":{"id":"https://openalex.org/S4306400757","display_name":"eCommons (Cornell University)","issn_l":null,"issn":null,"is_oa":false,"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":null,"raw_type":"technical report"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":44,"referenced_works":["https://openalex.org/W10589072","https://openalex.org/W168248273","https://openalex.org/W1482171176","https://openalex.org/W1495226832","https://openalex.org/W1507881659","https://openalex.org/W1559059528","https://openalex.org/W1564310313","https://openalex.org/W1577182889","https://openalex.org/W1600168243","https://openalex.org/W1610570299","https://openalex.org/W1644882639","https://openalex.org/W1649645444","https://openalex.org/W1739798036","https://openalex.org/W1810858699","https://openalex.org/W1812582761","https://openalex.org/W1829244603","https://openalex.org/W1980939032","https://openalex.org/W2015554455","https://openalex.org/W2023661080","https://openalex.org/W2033348393","https://openalex.org/W2049773429","https://openalex.org/W2055970549","https://openalex.org/W2056821525","https://openalex.org/W2080648611","https://openalex.org/W2106348655","https://openalex.org/W2115680394","https://openalex.org/W2127581079","https://openalex.org/W2136449473","https://openalex.org/W2138964563","https://openalex.org/W2143238865","https://openalex.org/W2163009019","https://openalex.org/W2169934995","https://openalex.org/W2561675875","https://openalex.org/W2597834528","https://openalex.org/W2913972837","https://openalex.org/W3172349748","https://openalex.org/W3174107850","https://openalex.org/W4237566830","https://openalex.org/W4254691308","https://openalex.org/W4285719527","https://openalex.org/W6636988782","https://openalex.org/W6638886220","https://openalex.org/W6676053513","https://openalex.org/W6769869828"],"related_works":["https://openalex.org/W2103629969","https://openalex.org/W14080413","https://openalex.org/W2953791980","https://openalex.org/W1977596242","https://openalex.org/W2391098489","https://openalex.org/W2104879423","https://openalex.org/W2180161260","https://openalex.org/W1578048281","https://openalex.org/W203053519","https://openalex.org/W1965677104"],"abstract_inverted_index":{"Inheritance":[0],"is":[1,86,93],"a":[2,22,69],"useful":[3],"mechanism":[4,23],"for":[5,14],"factoring":[6],"and":[7,33,77,98],"reusing":[8],"code.":[9,135],"However,":[10],"it":[11,97],"has":[12],"limitations":[13,29],"building":[15],"extensible":[16,43,57],"systems.":[17],"We":[18,105],"describe":[19,106],"<i>nested":[20],"inheritance</i>,":[21],"that":[24],"addresses":[25],"some":[26],"of":[27,30,63,83,109,116],"the":[28,117],"ordinary":[31,129],"inheritance":[32,50,65,111],"other":[34],"code":[35,127],"reuse":[36],"mechanisms.":[37],"Using":[38],"our":[39,107],"experience":[40],"with":[41,73],"an":[42,74,113],"compiler":[44],"framework,":[45],"we":[46],"show":[47],"how":[48],"nested":[49,64,110],"can":[51,103],"be":[52],"used":[53],"to":[54,95,128],"construct":[55],"highly":[56],"software":[58],"frameworks.":[59],"The":[60,80],"essential":[61],"aspects":[62],"are":[66],"formalized":[67],"in":[68],"simple":[70],"object-oriented":[71],"language":[72,85],"operational":[75],"semantics":[76],"type":[78,81,91,101],"system.":[79],"system":[82],"this":[84],"sound,":[87],"so":[88],"no":[89,99],"run-time":[90,100],"checking":[92],"required":[94],"implement":[96],"errors":[102],"occur.":[104],"implementation":[108,124],"as":[112],"unobtrusive":[114],"extension":[115],"Java":[118,130],"language,":[119],"called":[120],"Jx.":[121],"Our":[122],"prototype":[123],"translates":[125],"Jx":[126],"code,":[131],"without":[132],"duplicating":[133],"inherited":[134]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":1},{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":3},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":9},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":5},{"year":2013,"cited_by_count":4},{"year":2012,"cited_by_count":5}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
