{"id":"https://openalex.org/W2068078761","doi":"https://doi.org/10.1145/1028664.1028771","title":"Traits","display_name":"Traits","publication_year":2004,"publication_date":"2004-10-23","ids":{"openalex":"https://openalex.org/W2068078761","doi":"https://doi.org/10.1145/1028664.1028771","mag":"2068078761"},"language":"en","primary_location":{"id":"doi:10.1145/1028664.1028771","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1028664.1028771","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Companion to 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/A5052426710","display_name":"Emerson Murphy-Hill","orcid":"https://orcid.org/0000-0003-3921-9416"},"institutions":[{"id":"https://openalex.org/I60341648","display_name":"The Evergreen State College","ror":"https://ror.org/043yd1m08","country_code":"US","type":"education","lineage":["https://openalex.org/I60341648"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Emerson R. Murphy-Hill","raw_affiliation_strings":["The Evergreen State College, Olympia, WA","The Evergreen State College, Olympia WA#TAB#"],"affiliations":[{"raw_affiliation_string":"The Evergreen State College, Olympia, WA","institution_ids":["https://openalex.org/I60341648"]},{"raw_affiliation_string":"The Evergreen State College, Olympia WA#TAB#","institution_ids":["https://openalex.org/I60341648"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5020465849","display_name":"Andrew P. Black","orcid":"https://orcid.org/0000-0003-0014-6483"},"institutions":[{"id":"https://openalex.org/I165690674","display_name":"Oregon Health & Science University","ror":"https://ror.org/009avj582","country_code":"US","type":"education","lineage":["https://openalex.org/I165690674"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Andrew P. Black","raw_affiliation_strings":["Oregon Health and Science University, Beaverton, OR"],"affiliations":[{"raw_affiliation_string":"Oregon Health and Science University, Beaverton, OR","institution_ids":["https://openalex.org/I165690674"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5052426710"],"corresponding_institution_ids":["https://openalex.org/I60341648"],"apc_list":null,"apc_paid":null,"fwci":0.7891,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":{"value":0.84908061,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"275","last_page":"282"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":1.0,"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"}},"topics":[{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":1.0,"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"}},{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9966999888420105,"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/T11675","display_name":"Open Source Software Innovations","score":0.9958999752998352,"subfield":{"id":"https://openalex.org/subfields/1706","display_name":"Computer Science Applications"},"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/smalltalk","display_name":"Smalltalk","score":0.804815411567688},{"id":"https://openalex.org/keywords/code-refactoring","display_name":"Code refactoring","score":0.7256563901901245},{"id":"https://openalex.org/keywords/reuse","display_name":"Reuse","score":0.7192389965057373},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7177340388298035},{"id":"https://openalex.org/keywords/hierarchy","display_name":"Hierarchy","score":0.5192670822143555},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.5062074065208435},{"id":"https://openalex.org/keywords/class-hierarchy","display_name":"Class hierarchy","score":0.4992837905883789},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.4235425591468811},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4059010148048401},{"id":"https://openalex.org/keywords/natural-language-processing","display_name":"Natural language processing","score":0.3268005847930908},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.3209728002548218},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.3089666962623596},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.21490085124969482},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.09495809674263}],"concepts":[{"id":"https://openalex.org/C2777293101","wikidata":"https://www.wikidata.org/wiki/Q235086","display_name":"Smalltalk","level":3,"score":0.804815411567688},{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.7256563901901245},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.7192389965057373},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7177340388298035},{"id":"https://openalex.org/C31170391","wikidata":"https://www.wikidata.org/wiki/Q188619","display_name":"Hierarchy","level":2,"score":0.5192670822143555},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.5062074065208435},{"id":"https://openalex.org/C2781289151","wikidata":"https://www.wikidata.org/wiki/Q2903989","display_name":"Class hierarchy","level":3,"score":0.4992837905883789},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.4235425591468811},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4059010148048401},{"id":"https://openalex.org/C204321447","wikidata":"https://www.wikidata.org/wiki/Q30642","display_name":"Natural language processing","level":1,"score":0.3268005847930908},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3209728002548218},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.3089666962623596},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.21490085124969482},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.09495809674263},{"id":"https://openalex.org/C34447519","wikidata":"https://www.wikidata.org/wiki/Q179522","display_name":"Market economy","level":1,"score":0.0},{"id":"https://openalex.org/C548081761","wikidata":"https://www.wikidata.org/wiki/Q180388","display_name":"Waste management","level":1,"score":0.0},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1028664.1028771","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1028664.1028771","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":7,"referenced_works":["https://openalex.org/W1595410129","https://openalex.org/W2006755756","https://openalex.org/W2098522119","https://openalex.org/W2106815057","https://openalex.org/W2169833809","https://openalex.org/W2170352783","https://openalex.org/W2244800645"],"related_works":["https://openalex.org/W2052802194","https://openalex.org/W3126797380","https://openalex.org/W2128112082","https://openalex.org/W19426508","https://openalex.org/W1584712945","https://openalex.org/W4242574932","https://openalex.org/W1515901412","https://openalex.org/W169715093","https://openalex.org/W317009327","https://openalex.org/W2290662422"],"abstract_inverted_index":{"This":[0,39],"paper":[1],"reports":[2],"our":[3],"experiences":[4],"using":[5],"traits,":[6],"collections":[7],"of":[8,36,47,63,75],"pure":[9],"methods":[10,76],"designed":[11],"to":[12,25,79],"promote":[13],"reuse":[14],"and":[15,71],"understandability":[16,70],"in":[17],"object-oriented":[18],"programs.":[19],"Traits":[20],"had":[21],"previously":[22],"been":[23],"used":[24],"refactor":[26],"the":[27,34,43,73],"Smalltalk":[28],"collection":[29],"hierarchy,":[30],"but":[31],"only":[32],"by":[33,82],"creators":[35],"traits":[37,68],"themselves.":[38],"experience":[40],"report":[41],"represents":[42],"first":[44],"independent":[45],"test":[46],"these":[48],"language":[49],"features.":[50],"Murphy-Hill":[51],"implemented":[52],"a":[53],"substantialmulti-class":[54],"data":[55],"structure":[56],"called":[57],"ropes":[58],"that":[59,67,77],"makes":[60],"significant":[61],"use":[62],"traits.":[64],"We":[65],"found":[66],"improved":[69],"reduced":[72],"number":[74],"needed":[78],"be":[80],"written":[81],"46%.":[83]},"counts_by_year":[{"year":2022,"cited_by_count":1},{"year":2017,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2016-06-24T00:00:00"}
