{"id":"https://openalex.org/W2039257851","doi":"https://doi.org/10.1145/2002962.2002970","title":"Refactoring Java programs using concurrent libraries","display_name":"Refactoring Java programs using concurrent libraries","publication_year":2011,"publication_date":"2011-07-17","ids":{"openalex":"https://openalex.org/W2039257851","doi":"https://doi.org/10.1145/2002962.2002970","mag":"2039257851"},"language":"en","primary_location":{"id":"doi:10.1145/2002962.2002970","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2002962.2002970","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging","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/A5046238836","display_name":"Kazuaki Ishizaki","orcid":null},"institutions":[{"id":"https://openalex.org/I4210145865","display_name":"IBM Research - Tokyo","ror":"https://ror.org/04915qk43","country_code":"JP","type":"facility","lineage":["https://openalex.org/I1341412227","https://openalex.org/I4210114115","https://openalex.org/I4210145865"]}],"countries":["JP"],"is_corresponding":true,"raw_author_name":"Kazuaki Ishizaki","raw_affiliation_strings":["IBM Research -- Tokyo"],"affiliations":[{"raw_affiliation_string":"IBM Research -- Tokyo","institution_ids":["https://openalex.org/I4210145865"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5008258052","display_name":"S. Daijavad","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Shahrokh Daijavad","raw_affiliation_strings":["IBM Research -- T. J. Watson Research Center"],"affiliations":[{"raw_affiliation_string":"IBM Research -- T. J. Watson Research Center","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5006642369","display_name":"Toshio Nakatani","orcid":null},"institutions":[{"id":"https://openalex.org/I4210145865","display_name":"IBM Research - Tokyo","ror":"https://ror.org/04915qk43","country_code":"JP","type":"facility","lineage":["https://openalex.org/I1341412227","https://openalex.org/I4210114115","https://openalex.org/I4210145865"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Toshio Nakatani","raw_affiliation_strings":["IBM Research -- Tokyo"],"affiliations":[{"raw_affiliation_string":"IBM Research -- Tokyo","institution_ids":["https://openalex.org/I4210145865"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5046238836"],"corresponding_institution_ids":["https://openalex.org/I4210145865"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":8,"citation_normalized_percentile":{"value":0.09859693,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"35","last_page":"44"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9995999932289124,"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"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9995999932289124,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9991000294685364,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9980999827384949,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8786493539810181},{"id":"https://openalex.org/keywords/code-refactoring","display_name":"Code refactoring","score":0.7288681268692017},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.7248516082763672},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6931840181350708},{"id":"https://openalex.org/keywords/java-concurrency","display_name":"Java concurrency","score":0.594409167766571},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.5695312023162842},{"id":"https://openalex.org/keywords/java-annotation","display_name":"Java annotation","score":0.5692713856697083},{"id":"https://openalex.org/keywords/real-time-java","display_name":"Real time Java","score":0.49794673919677734},{"id":"https://openalex.org/keywords/pointer","display_name":"Pointer (user interface)","score":0.48639801144599915},{"id":"https://openalex.org/keywords/sequential-consistency","display_name":"Sequential consistency","score":0.4536549150943756},{"id":"https://openalex.org/keywords/consistency","display_name":"Consistency (knowledge bases)","score":0.4497683346271515},{"id":"https://openalex.org/keywords/multi-core-processor","display_name":"Multi-core processor","score":0.4376397132873535},{"id":"https://openalex.org/keywords/lock","display_name":"Lock (firearm)","score":0.4258449077606201},{"id":"https://openalex.org/keywords/generics-in-java","display_name":"Generics in Java","score":0.4236738681793213},{"id":"https://openalex.org/keywords/exploit","display_name":"Exploit","score":0.4235190451145172},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.4030715823173523},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.2755371332168579},{"id":"https://openalex.org/keywords/consistency-model","display_name":"Consistency model","score":0.24014407396316528},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.16795343160629272},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.10848173499107361}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8786493539810181},{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.7288681268692017},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.7248516082763672},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6931840181350708},{"id":"https://openalex.org/C181907185","wikidata":"https://www.wikidata.org/wiki/Q1100098","display_name":"Java concurrency","level":4,"score":0.594409167766571},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.5695312023162842},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.5692713856697083},{"id":"https://openalex.org/C132106392","wikidata":"https://www.wikidata.org/wiki/Q1373903","display_name":"Real time Java","level":3,"score":0.49794673919677734},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.48639801144599915},{"id":"https://openalex.org/C82029504","wikidata":"https://www.wikidata.org/wiki/Q4373882","display_name":"Sequential consistency","level":4,"score":0.4536549150943756},{"id":"https://openalex.org/C2776436953","wikidata":"https://www.wikidata.org/wiki/Q5163215","display_name":"Consistency (knowledge bases)","level":2,"score":0.4497683346271515},{"id":"https://openalex.org/C78766204","wikidata":"https://www.wikidata.org/wiki/Q555032","display_name":"Multi-core processor","level":2,"score":0.4376397132873535},{"id":"https://openalex.org/C174839445","wikidata":"https://www.wikidata.org/wiki/Q1134386","display_name":"Lock (firearm)","level":2,"score":0.4258449077606201},{"id":"https://openalex.org/C172482141","wikidata":"https://www.wikidata.org/wiki/Q379273","display_name":"Generics in Java","level":5,"score":0.4236738681793213},{"id":"https://openalex.org/C165696696","wikidata":"https://www.wikidata.org/wiki/Q11287","display_name":"Exploit","level":2,"score":0.4235190451145172},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4030715823173523},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.2755371332168579},{"id":"https://openalex.org/C37279795","wikidata":"https://www.wikidata.org/wiki/Q2492305","display_name":"Consistency model","level":3,"score":0.24014407396316528},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.16795343160629272},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.10848173499107361},{"id":"https://openalex.org/C31972630","wikidata":"https://www.wikidata.org/wiki/Q844240","display_name":"Computer vision","level":1,"score":0.0},{"id":"https://openalex.org/C78519656","wikidata":"https://www.wikidata.org/wiki/Q101333","display_name":"Mechanical engineering","level":1,"score":0.0},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.0},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.0},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2002962.2002970","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2002962.2002970","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4","score":0.6499999761581421}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":15,"referenced_works":["https://openalex.org/W125251596","https://openalex.org/W1521422937","https://openalex.org/W1964973627","https://openalex.org/W2094991402","https://openalex.org/W2100283823","https://openalex.org/W2100506425","https://openalex.org/W2110833886","https://openalex.org/W2131791649","https://openalex.org/W2144778294","https://openalex.org/W2148189199","https://openalex.org/W2149237601","https://openalex.org/W2154563336","https://openalex.org/W2162544703","https://openalex.org/W2168909313","https://openalex.org/W4253853059"],"related_works":["https://openalex.org/W3172992491","https://openalex.org/W2541866089","https://openalex.org/W2547095320","https://openalex.org/W1974508891","https://openalex.org/W1572758480","https://openalex.org/W412736943","https://openalex.org/W2186199411","https://openalex.org/W4297798586","https://openalex.org/W1519944186","https://openalex.org/W1678486327"],"abstract_inverted_index":{"Multithread":[0],"programming":[1],"is":[2,70,88,108,121,130],"becoming":[3],"ever-more":[4],"important":[5],"to":[6,17,45,56,71,89,124,138],"exploit":[7],"the":[8,22,42,113,144,175],"capabilities":[9],"of":[10,14,115],"multicore":[11,36],"processors.":[12],"Versions":[13],"Java":[15,39,161],"prior":[16],"version":[18],"5":[19,40],"provide":[20],"only":[21],"synchronized":[23,80],"construct":[24],"as":[25,158],"a":[26,31,76,79,91,116],"consistency":[27,172],"primitive,":[28],"which":[29],"causes":[30],"performance":[32],"scalability":[33],"problem":[34,107,120,129],"for":[35,163],"machines.":[37],"Therefore,":[38],"added":[41],"java.util.concurrent":[43],"package":[44,59],"reduce":[46],"lock":[47],"contention.":[48],"Programmers":[49],"must":[50],"manually":[51],"rewrite":[52,160],"their":[53],"existing":[54,61],"code":[55,140,162,177],"use":[57,167],"this":[58],"in":[60,143],"programs.":[62],"There":[63],"are":[64,135],"two":[65,131],"typical":[66],"rewritings":[67],"methods.":[68],"One":[69,106],"replace":[72,90],"an":[73,83],"operation":[74],"on":[75],"variable":[77],"within":[78],"block":[81],"with":[82,95],"atomic-lock-free":[84],"version.":[85,98],"The":[86,99,118,127],"other":[87],"sequential":[92],"concurrent":[93,97],"class":[94],"its":[96],"conventional":[100],"rewriting":[101],"approach":[102],"has":[103],"three":[104,156],"deficiencies.":[105],"transformations":[109],"that":[110,153],"may":[111],"change":[112],"behavior":[114],"program.":[117],"second":[119],"missed":[122],"modifications":[123],"be":[125],"rewritten.":[126],"third":[128],"difference":[132],"writing":[133],"techniques":[134],"applied":[136],"individually":[137],"each":[139],"fragment":[141],"even":[142],"same":[145],"method.":[146],"This":[147],"paper":[148],"describes":[149],"our":[150],"refactoring":[151],"algorithms":[152],"address":[154],"these":[155],"problems":[157],"they":[159],"scalable":[164],"performance.":[165],"We":[166],"inter-procedural":[168],"pointer":[169],"analysis":[170],"and":[171],"tests":[173],"among":[174],"candidate":[176],"fragments.":[178]},"counts_by_year":[{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
