{"id":"https://openalex.org/W2914174907","doi":"https://doi.org/10.22152/programming-journal.org/2019/3/12","title":"Separating Use and Reuse to Improve Both","display_name":"Separating Use and Reuse to Improve Both","publication_year":2019,"publication_date":"2019-02-01","ids":{"openalex":"https://openalex.org/W2914174907","doi":"https://doi.org/10.22152/programming-journal.org/2019/3/12","mag":"2914174907"},"language":"en","primary_location":{"id":"doi:10.22152/programming-journal.org/2019/3/12","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2019/3/12","pdf_url":"https://arxiv.org/pdf/1902.00546v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://arxiv.org/pdf/1902.00546v1","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Hrshikesh Arora","orcid":null},"institutions":[{"id":"https://openalex.org/I41156924","display_name":"Victoria University of Wellington","ror":"https://ror.org/0040r6f76","country_code":"NZ","type":"education","lineage":["https://openalex.org/I41156924"]}],"countries":["NZ"],"is_corresponding":false,"raw_author_name":"Hrshikesh Arora","raw_affiliation_strings":["Victoria University of Wellington, New Zealand"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Victoria University of Wellington, New Zealand","institution_ids":["https://openalex.org/I41156924"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Marco Servetto","orcid":null},"institutions":[{"id":"https://openalex.org/I41156924","display_name":"Victoria University of Wellington","ror":"https://ror.org/0040r6f76","country_code":"NZ","type":"education","lineage":["https://openalex.org/I41156924"]}],"countries":["NZ"],"is_corresponding":false,"raw_author_name":"Marco Servetto","raw_affiliation_strings":["Victoria University Wellington, New Zealand"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Victoria University Wellington, New Zealand","institution_ids":["https://openalex.org/I41156924"]}]},{"author_position":"last","author":{"id":null,"display_name":"Bruno C. D. S. Oliveira","orcid":null},"institutions":[{"id":"https://openalex.org/I889458895","display_name":"University of Hong Kong","ror":"https://ror.org/02zhqgq86","country_code":"HK","type":"education","lineage":["https://openalex.org/I889458895"]}],"countries":["HK"],"is_corresponding":false,"raw_author_name":"Bruno C. D. S. Oliveira","raw_affiliation_strings":["The University of Hong Kong, Hong Kong"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Hong Kong, Hong Kong","institution_ids":["https://openalex.org/I889458895"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":1,"citation_normalized_percentile":{"value":0.01342318,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":91,"max":95},"biblio":{"volume":"3","issue":"3","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.7512999773025513,"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.7512999773025513,"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/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.1331000030040741,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.04540000110864639,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/reuse","display_name":"Reuse","score":0.8170999884605408},{"id":"https://openalex.org/keywords/subtyping","display_name":"Subtyping","score":0.5282999873161316},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.42890000343322754},{"id":"https://openalex.org/keywords/state","display_name":"State (computer science)","score":0.4230000078678131},{"id":"https://openalex.org/keywords/component","display_name":"Component (thermodynamics)","score":0.40860000252723694},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4059999883174896},{"id":"https://openalex.org/keywords/object","display_name":"Object (grammar)","score":0.39559999108314514},{"id":"https://openalex.org/keywords/inheritance","display_name":"Inheritance (genetic algorithm)","score":0.38429999351501465}],"concepts":[{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.8170999884605408},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6927000284194946},{"id":"https://openalex.org/C83852419","wikidata":"https://www.wikidata.org/wiki/Q2713292","display_name":"Subtyping","level":2,"score":0.5282999873161316},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.4422000050544739},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.42890000343322754},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.4230000078678131},{"id":"https://openalex.org/C168167062","wikidata":"https://www.wikidata.org/wiki/Q1117970","display_name":"Component (thermodynamics)","level":2,"score":0.40860000252723694},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4059999883174896},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.39890000224113464},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.39559999108314514},{"id":"https://openalex.org/C2780902518","wikidata":"https://www.wikidata.org/wiki/Q6033780","display_name":"Inheritance (genetic algorithm)","level":3,"score":0.38429999351501465},{"id":"https://openalex.org/C106934330","wikidata":"https://www.wikidata.org/wiki/Q1971873","display_name":"Trait","level":2,"score":0.3698999881744385},{"id":"https://openalex.org/C40231798","wikidata":"https://www.wikidata.org/wiki/Q1333743","display_name":"Composition (language)","level":2,"score":0.3646000027656555},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.30630001425743103},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.30230000615119934},{"id":"https://openalex.org/C2778583558","wikidata":"https://www.wikidata.org/wiki/Q771245","display_name":"Code reuse","level":3,"score":0.29190000891685486},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.28029999136924744},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.27810001373291016},{"id":"https://openalex.org/C124101348","wikidata":"https://www.wikidata.org/wiki/Q172491","display_name":"Data mining","level":1,"score":0.26980000734329224},{"id":"https://openalex.org/C2778751112","wikidata":"https://www.wikidata.org/wiki/Q835016","display_name":"Window (computing)","level":2,"score":0.2676999866962433},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.25929999351501465},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.2565000057220459}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.22152/programming-journal.org/2019/3/12","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2019/3/12","pdf_url":"https://arxiv.org/pdf/1902.00546v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:1902.00546","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1902.00546","pdf_url":"https://arxiv.org/pdf/1902.00546","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"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":"text"}],"best_oa_location":{"id":"doi:10.22152/programming-journal.org/2019/3/12","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2019/3/12","pdf_url":"https://arxiv.org/pdf/1902.00546v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2914174907.pdf","grobid_xml":"https://content.openalex.org/works/W2914174907.grobid-xml"},"referenced_works_count":34,"referenced_works":["https://openalex.org/W143490393","https://openalex.org/W144994574","https://openalex.org/W1567378416","https://openalex.org/W1601975527","https://openalex.org/W1758754314","https://openalex.org/W1871430636","https://openalex.org/W1986108927","https://openalex.org/W2004403526","https://openalex.org/W2005221219","https://openalex.org/W2030639337","https://openalex.org/W2033348393","https://openalex.org/W2035145332","https://openalex.org/W2036338035","https://openalex.org/W2036980467","https://openalex.org/W2057779758","https://openalex.org/W2064560668","https://openalex.org/W2069411162","https://openalex.org/W2072165593","https://openalex.org/W2102044874","https://openalex.org/W2108025710","https://openalex.org/W2111898165","https://openalex.org/W2127581079","https://openalex.org/W2137252778","https://openalex.org/W2140602484","https://openalex.org/W2153060956","https://openalex.org/W2169674897","https://openalex.org/W2172232818","https://openalex.org/W2313939972","https://openalex.org/W2534191701","https://openalex.org/W2729760496","https://openalex.org/W2914539344","https://openalex.org/W4205962651","https://openalex.org/W4230858227","https://openalex.org/W4288400169"],"related_works":[],"abstract_inverted_index":{"Context:":[0],"Trait":[1],"composition":[2,27],"has":[3],"inspired":[4],"new":[5],"research":[6],"in":[7],"the":[8,20],"area":[9],"of":[10,19,23,26,48],"code":[11],"reuse":[12],"for":[13,41],"object":[14],"oriented":[15],"(OO)":[16],"languages.":[17],"One":[18],"main":[21],"advantages":[22],"this":[24],"kind":[25],"is":[28,39,52],"that":[29],"it":[30],"makes":[31],"possible":[32],"to":[33],"separate":[34],"subtyping":[35],"from":[36],"subclassing;":[37],"which":[38],"good":[40],"code-reuse,":[42],"design":[43],"and":[44],"reasoning":[45],"However,":[46],"handling":[47],"state":[49],"within":[50],"traits":[51],"difficult,":[53],"verbose":[54],"or":[55],"inelegant.":[56]},"counts_by_year":[{"year":2025,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2019-02-21T00:00:00"}
