{"id":"https://openalex.org/W2155640360","doi":"https://doi.org/10.1145/2500828.2500835","title":"Pure trait-based programming on the Java platform","display_name":"Pure trait-based programming on the Java platform","publication_year":2013,"publication_date":"2013-09-03","ids":{"openalex":"https://openalex.org/W2155640360","doi":"https://doi.org/10.1145/2500828.2500835","mag":"2155640360"},"language":"en","primary_location":{"id":"doi:10.1145/2500828.2500835","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2500828.2500835","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools","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/A5083629281","display_name":"Lorenzo Bettini","orcid":"https://orcid.org/0000-0002-4481-8096"},"institutions":[{"id":"https://openalex.org/I55143463","display_name":"University of Turin","ror":"https://ror.org/048tbm396","country_code":"IT","type":"education","lineage":["https://openalex.org/I55143463"]}],"countries":["IT"],"is_corresponding":true,"raw_author_name":"Lorenzo Bettini","raw_affiliation_strings":["University of Torino, Italy"],"affiliations":[{"raw_affiliation_string":"University of Torino, Italy","institution_ids":["https://openalex.org/I55143463"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5065182304","display_name":"Ferruccio Damiani","orcid":"https://orcid.org/0000-0001-8109-1706"},"institutions":[{"id":"https://openalex.org/I55143463","display_name":"University of Turin","ror":"https://ror.org/048tbm396","country_code":"IT","type":"education","lineage":["https://openalex.org/I55143463"]}],"countries":["IT"],"is_corresponding":false,"raw_author_name":"Ferruccio Damiani","raw_affiliation_strings":["University of Torino, Italy"],"affiliations":[{"raw_affiliation_string":"University of Torino, Italy","institution_ids":["https://openalex.org/I55143463"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5083629281"],"corresponding_institution_ids":["https://openalex.org/I55143463"],"apc_list":null,"apc_paid":null,"fwci":3.3662,"has_fulltext":false,"cited_by_count":7,"citation_normalized_percentile":{"value":0.92926262,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"67","last_page":"78"},"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.9994999766349792,"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.9994999766349792,"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.9988999962806702,"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.9976999759674072,"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/computer-science","display_name":"Computer science","score":0.7786966562271118},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.7653748989105225},{"id":"https://openalex.org/keywords/java-annotation","display_name":"Java annotation","score":0.7084934711456299},{"id":"https://openalex.org/keywords/code-reuse","display_name":"Code reuse","score":0.6794122457504272},{"id":"https://openalex.org/keywords/real-time-java","display_name":"Real time Java","score":0.6538509726524353},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6447319984436035},{"id":"https://openalex.org/keywords/generics-in-java","display_name":"Generics in Java","score":0.6048200130462646},{"id":"https://openalex.org/keywords/java-modeling-language","display_name":"Java Modeling Language","score":0.5670382380485535},{"id":"https://openalex.org/keywords/reuse","display_name":"Reuse","score":0.5453764796257019},{"id":"https://openalex.org/keywords/java-concurrency","display_name":"Java concurrency","score":0.506639301776886},{"id":"https://openalex.org/keywords/interoperability","display_name":"Interoperability","score":0.5017035007476807},{"id":"https://openalex.org/keywords/trait","display_name":"Trait","score":0.48559826612472534},{"id":"https://openalex.org/keywords/inheritance","display_name":"Inheritance (genetic algorithm)","score":0.4465206563472748},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.4184938371181488},{"id":"https://openalex.org/keywords/suite","display_name":"Suite","score":0.41069743037223816},{"id":"https://openalex.org/keywords/scala","display_name":"Scala","score":0.4105868935585022},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.21335077285766602},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.09736135601997375},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.09546405076980591},{"id":"https://openalex.org/keywords/biology","display_name":"Biology","score":0.0824417769908905}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7786966562271118},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.7653748989105225},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.7084934711456299},{"id":"https://openalex.org/C2778583558","wikidata":"https://www.wikidata.org/wiki/Q771245","display_name":"Code reuse","level":3,"score":0.6794122457504272},{"id":"https://openalex.org/C132106392","wikidata":"https://www.wikidata.org/wiki/Q1373903","display_name":"Real time Java","level":3,"score":0.6538509726524353},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6447319984436035},{"id":"https://openalex.org/C172482141","wikidata":"https://www.wikidata.org/wiki/Q379273","display_name":"Generics in Java","level":5,"score":0.6048200130462646},{"id":"https://openalex.org/C60945770","wikidata":"https://www.wikidata.org/wiki/Q2517517","display_name":"Java Modeling Language","level":5,"score":0.5670382380485535},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.5453764796257019},{"id":"https://openalex.org/C181907185","wikidata":"https://www.wikidata.org/wiki/Q1100098","display_name":"Java concurrency","level":4,"score":0.506639301776886},{"id":"https://openalex.org/C20136886","wikidata":"https://www.wikidata.org/wiki/Q749647","display_name":"Interoperability","level":2,"score":0.5017035007476807},{"id":"https://openalex.org/C106934330","wikidata":"https://www.wikidata.org/wiki/Q1971873","display_name":"Trait","level":2,"score":0.48559826612472534},{"id":"https://openalex.org/C2780902518","wikidata":"https://www.wikidata.org/wiki/Q6033780","display_name":"Inheritance (genetic algorithm)","level":3,"score":0.4465206563472748},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.4184938371181488},{"id":"https://openalex.org/C79581498","wikidata":"https://www.wikidata.org/wiki/Q1367530","display_name":"Suite","level":2,"score":0.41069743037223816},{"id":"https://openalex.org/C109701466","wikidata":"https://www.wikidata.org/wiki/Q460584","display_name":"Scala","level":3,"score":0.4105868935585022},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.21335077285766602},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.09736135601997375},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.09546405076980591},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0824417769908905},{"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/C95457728","wikidata":"https://www.wikidata.org/wiki/Q309","display_name":"History","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},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C166957645","wikidata":"https://www.wikidata.org/wiki/Q23498","display_name":"Archaeology","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/2500828.2500835","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2500828.2500835","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools","raw_type":"proceedings-article"},{"id":"pmh:oai:flore.unifi.it:2158/1039577","is_oa":false,"landing_page_url":"http://dl.acm.org/citation.cfm?doid=2500828.2500835","pdf_url":null,"source":{"id":"https://openalex.org/S4306402033","display_name":"Florence Research (University of Florence)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I45084792","host_organization_name":"University of Florence","host_organization_lineage":["https://openalex.org/I45084792"],"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":"info:eu-repo/semantics/conferenceObject"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":52,"referenced_works":["https://openalex.org/W143490393","https://openalex.org/W189631424","https://openalex.org/W196036100","https://openalex.org/W1492136318","https://openalex.org/W1507539036","https://openalex.org/W1537084112","https://openalex.org/W1550017767","https://openalex.org/W1559822977","https://openalex.org/W1588959535","https://openalex.org/W1593874741","https://openalex.org/W1967305746","https://openalex.org/W1981619145","https://openalex.org/W1993029567","https://openalex.org/W1997522747","https://openalex.org/W2004875478","https://openalex.org/W2006755756","https://openalex.org/W2014256382","https://openalex.org/W2014309790","https://openalex.org/W2022744394","https://openalex.org/W2033348393","https://openalex.org/W2034356735","https://openalex.org/W2035145332","https://openalex.org/W2036980467","https://openalex.org/W2055879494","https://openalex.org/W2064100132","https://openalex.org/W2069411162","https://openalex.org/W2073379710","https://openalex.org/W2077123681","https://openalex.org/W2080648611","https://openalex.org/W2086957250","https://openalex.org/W2087854018","https://openalex.org/W2098139020","https://openalex.org/W2106052980","https://openalex.org/W2111898165","https://openalex.org/W2114980545","https://openalex.org/W2115680394","https://openalex.org/W2125876733","https://openalex.org/W2128029766","https://openalex.org/W2153060956","https://openalex.org/W2185335208","https://openalex.org/W2244800645","https://openalex.org/W2611004271","https://openalex.org/W3143245542","https://openalex.org/W3183224878","https://openalex.org/W4206337257","https://openalex.org/W4236858872","https://openalex.org/W4255667787","https://openalex.org/W6607666075","https://openalex.org/W6629694046","https://openalex.org/W6633341880","https://openalex.org/W6634508966","https://openalex.org/W6792413771"],"related_works":["https://openalex.org/W2541866089","https://openalex.org/W2035709547","https://openalex.org/W2547095320","https://openalex.org/W2181544444","https://openalex.org/W3172992491","https://openalex.org/W4231981509","https://openalex.org/W1572758480","https://openalex.org/W321450354","https://openalex.org/W1967435589","https://openalex.org/W2155640360"],"abstract_inverted_index":{"Traits":[0],"provide":[1],"a":[2,18,44,52,106,116],"mechanism":[3],"for":[4],"fine-grained":[5],"code":[6],"reuse":[7],"to":[8,35,58,82,111],"overcome":[9],"the":[10,65,70,94,120],"limitations":[11],"of":[12,20,43,46,54,72,87,105,119],"class-based":[13],"inheritance.":[14],"A":[15],"trait":[16,96],"is":[17,23],"set":[19],"methods":[21],"which":[22,56,80],"completely":[24],"independent":[25],"from":[26],"any":[27],"class":[28],"hierarchy":[29],"and":[30,62,74],"can":[31,98,108],"be":[32,109],"flexibly":[33],"used":[34],"build":[36],"other":[37],"traits":[38,55,88],"or":[39],"classes":[40],"by":[41],"means":[42],"suite":[45],"composition":[47],"operations.":[48],"We":[49],"present:":[50],"(i)":[51],"formulation":[53],"aims":[57,81],"achieve":[59],"complete":[60,117],"compatibility":[61],"interoperability":[63],"with":[64,78,100],"Java":[66,91,101],"platform":[67],"without":[68,114],"reducing":[69],"flexibility":[71],"traits,":[73,113],"(ii)":[75],"an":[76,84],"integration":[77],"Eclipse":[79],"support":[83],"incremental":[85],"adoption":[86],"in":[89],"existing":[90,122],"projects.":[92],"Indeed,":[93],"proposed":[95],"language":[97],"coexist":[99],"code.":[102],"Single":[103],"parts":[104],"project":[107],"refactored":[110],"use":[112],"requiring":[115],"rewrite":[118],"whole":[121],"code-base.":[123]},"counts_by_year":[{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":2},{"year":2014,"cited_by_count":3},{"year":2013,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
