{"id":"https://openalex.org/W2156005001","doi":"https://doi.org/10.1109/icsm.2015.7332506","title":"Towards purity-guided refactoring in Java","display_name":"Towards purity-guided refactoring in Java","publication_year":2015,"publication_date":"2015-09-01","ids":{"openalex":"https://openalex.org/W2156005001","doi":"https://doi.org/10.1109/icsm.2015.7332506","mag":"2156005001"},"language":"en","primary_location":{"id":"doi:10.1109/icsm.2015.7332506","is_oa":false,"landing_page_url":"https://doi.org/10.1109/icsm.2015.7332506","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2015 IEEE International Conference on Software Maintenance and Evolution (ICSME)","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/A5101850988","display_name":"Jiachen Yang","orcid":"https://orcid.org/0000-0003-2234-6224"},"institutions":[{"id":"https://openalex.org/I98285908","display_name":"Osaka University","ror":"https://ror.org/035t8zc32","country_code":"JP","type":"education","lineage":["https://openalex.org/I98285908"]}],"countries":["JP"],"is_corresponding":true,"raw_author_name":"Jiachen Yang","raw_affiliation_strings":["Graduate School of Information Science and Technology, Osaka University, Osaka, Japan"],"affiliations":[{"raw_affiliation_string":"Graduate School of Information Science and Technology, Osaka University, Osaka, Japan","institution_ids":["https://openalex.org/I98285908"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5102258973","display_name":"Keisuke Hotta","orcid":null},"institutions":[{"id":"https://openalex.org/I98285908","display_name":"Osaka University","ror":"https://ror.org/035t8zc32","country_code":"JP","type":"education","lineage":["https://openalex.org/I98285908"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Keisuke Hotta","raw_affiliation_strings":["Graduate School of Information Science and Technology, Osaka University, Osaka, Japan"],"affiliations":[{"raw_affiliation_string":"Graduate School of Information Science and Technology, Osaka University, Osaka, Japan","institution_ids":["https://openalex.org/I98285908"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5024065727","display_name":"Yoshiki Higo","orcid":"https://orcid.org/0000-0002-8278-8975"},"institutions":[{"id":"https://openalex.org/I98285908","display_name":"Osaka University","ror":"https://ror.org/035t8zc32","country_code":"JP","type":"education","lineage":["https://openalex.org/I98285908"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Yoshiki Higo","raw_affiliation_strings":["Graduate School of Information Science and Technology, Osaka University, Osaka, Japan"],"affiliations":[{"raw_affiliation_string":"Graduate School of Information Science and Technology, Osaka University, Osaka, Japan","institution_ids":["https://openalex.org/I98285908"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5109843671","display_name":"Shinji Kusumoto","orcid":null},"institutions":[{"id":"https://openalex.org/I98285908","display_name":"Osaka University","ror":"https://ror.org/035t8zc32","country_code":"JP","type":"education","lineage":["https://openalex.org/I98285908"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Shinji Kusumoto","raw_affiliation_strings":["Graduate School of Information Science and Technology, Osaka University, Osaka, Japan"],"affiliations":[{"raw_affiliation_string":"Graduate School of Information Science and Technology, Osaka University, Osaka, Japan","institution_ids":["https://openalex.org/I98285908"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5101850988"],"corresponding_institution_ids":["https://openalex.org/I98285908"],"apc_list":null,"apc_paid":null,"fwci":1.6468,"has_fulltext":false,"cited_by_count":6,"citation_normalized_percentile":{"value":0.8836674,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"521","last_page":"525"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998999834060669,"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":0.9998999834060669,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9994000196456909,"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.9984999895095825,"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/code-refactoring","display_name":"Code refactoring","score":0.9922630786895752},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8178255558013916},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7013602256774902},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6171289682388306},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.5220130085945129},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.5200921297073364},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.31821611523628235}],"concepts":[{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.9922630786895752},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8178255558013916},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7013602256774902},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6171289682388306},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.5220130085945129},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.5200921297073364},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.31821611523628235}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1109/icsm.2015.7332506","is_oa":false,"landing_page_url":"https://doi.org/10.1109/icsm.2015.7332506","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2015 IEEE International Conference on Software Maintenance and Evolution (ICSME)","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.701.6640","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.701.6640","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://sdl.ist.osaka-u.ac.jp/%7Ejc-yang/icsme15era-eraid18-p-b3a5737-25095-preprint.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320334764","display_name":"Japan Society for the Promotion of Science","ror":"https://ror.org/00hhkn466"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":17,"referenced_works":["https://openalex.org/W272773829","https://openalex.org/W1493688518","https://openalex.org/W1500987966","https://openalex.org/W1507539036","https://openalex.org/W1980201123","https://openalex.org/W2020142017","https://openalex.org/W2134968380","https://openalex.org/W2149082609","https://openalex.org/W2153887189","https://openalex.org/W2279489951","https://openalex.org/W2400216756","https://openalex.org/W2787379525","https://openalex.org/W6629538277","https://openalex.org/W6630630429","https://openalex.org/W6683106902","https://openalex.org/W6694816183","https://openalex.org/W6712629026"],"related_works":["https://openalex.org/W4313549863","https://openalex.org/W2395465245","https://openalex.org/W2072205733","https://openalex.org/W2101762871","https://openalex.org/W3176957927","https://openalex.org/W2096877983","https://openalex.org/W194942058","https://openalex.org/W2991900792","https://openalex.org/W1985388819","https://openalex.org/W2088986462"],"abstract_inverted_index":{"Refactoring":[0],"source":[1,48],"code":[2,49],"requires":[3],"preserving":[4],"a":[5,121],"certain":[6],"level":[7],"of":[8,56,102,124,140,145],"semantic":[9,36,58,103],"behaviors,":[10],"which":[11,29,57,73,110],"are":[12,30,43,60],"difficult":[13],"to":[14,63],"be":[15,64,85],"checked":[16],"by":[17,118,147],"IDEs.":[18,119],"Therefore,":[19],"IDEs":[20],"generally":[21],"check":[22],"syntactic":[23],"pre-conditions":[24],"instead":[25],"before":[26],"applying":[27],"refactoring,":[28,72,96],"often":[31],"too":[32],"restrictive":[33],"than":[34],"checking":[35],"behaviors.":[37],"On":[38],"the":[39,47,100,141],"other":[40],"hand,":[41],"there":[42],"pure":[44,81,108],"functions":[45,82],"in":[46,135],"that":[50,83],"do":[51],"not":[52],"have":[53],"observable":[54],"side-effects,":[55],"behaviors":[59,104],"more":[61],"easily":[62],"checked.":[65],"In":[66],"this":[67],"research,":[68],"we":[69,97,127],"propose":[70],"purity-guided":[71],"applies":[74],"high-level":[75],"refactoring":[76,115,130],"such":[77],"as":[78],"memoization":[79],"on":[80,105,131],"can":[84,98],"detected":[86,107],"statically.":[87],"By":[88],"combining":[89],"our":[90,125],"purity":[91],"analyzing":[92],"tool":[93],"purano":[94],"with":[95],"ensure":[99],"preservation":[101,144],"these":[106],"functions,":[109],"is":[111],"impossible":[112],"through":[113],"previous":[114],"operations":[116],"provided":[117],"As":[120],"case":[122],"study":[123],"approach,":[126],"applied":[128],"memorization":[129],"several":[132],"open-source":[133],"software":[134],"Java.":[136],"We":[137],"observed":[138],"improvements":[139],"performance":[142],"and":[143],"semantics":[146],"profiling":[148],"their":[149],"bundled":[150],"test":[151],"cases.":[152]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":1},{"year":2016,"cited_by_count":1}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
