{"id":"https://openalex.org/W4200071154","doi":"https://doi.org/10.1145/3494885.3494910","title":"Refactoring Java Loops to Streams Automatically","display_name":"Refactoring Java Loops to Streams Automatically","publication_year":2021,"publication_date":"2021-10-22","ids":{"openalex":"https://openalex.org/W4200071154","doi":"https://doi.org/10.1145/3494885.3494910"},"language":"en","primary_location":{"id":"doi:10.1145/3494885.3494910","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3494885.3494910","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2021 4th International Conference on Computer Science and Software Engineering (CSSE 2021)","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/A5064043728","display_name":"Alessandro Midolo","orcid":"https://orcid.org/0000-0002-9575-8054"},"institutions":[{"id":"https://openalex.org/I39063666","display_name":"University of Catania","ror":"https://ror.org/03a64bh57","country_code":"IT","type":"education","lineage":["https://openalex.org/I39063666"]}],"countries":["IT"],"is_corresponding":false,"raw_author_name":"Alessandro Midolo","raw_affiliation_strings":["Dipartimento di Matematica e Informatica, University of Catania, Italy"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Dipartimento di Matematica e Informatica, University of Catania, Italy","institution_ids":["https://openalex.org/I39063666"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5011707033","display_name":"Emiliano Tramontana","orcid":"https://orcid.org/0000-0002-7169-659X"},"institutions":[{"id":"https://openalex.org/I39063666","display_name":"University of Catania","ror":"https://ror.org/03a64bh57","country_code":"IT","type":"education","lineage":["https://openalex.org/I39063666"]}],"countries":["IT"],"is_corresponding":false,"raw_author_name":"Emiliano Tramontana","raw_affiliation_strings":["Dipartimento di Matematica e Informatica, University of Catania, Italy"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Dipartimento di Matematica e Informatica, University of Catania, Italy","institution_ids":["https://openalex.org/I39063666"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.6997,"has_fulltext":false,"cited_by_count":7,"citation_normalized_percentile":{"value":0.7721786,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"135","last_page":"139"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9993000030517578,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9993000030517578,"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.9990000128746033,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9979000091552734,"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.9112765789031982},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8532564640045166},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.7833170890808105},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6806415319442749},{"id":"https://openalex.org/keywords/embedding","display_name":"Embedding","score":0.5760766863822937},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5684649348258972},{"id":"https://openalex.org/keywords/template","display_name":"Template","score":0.5678175091743469},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.5175820589065552},{"id":"https://openalex.org/keywords/loop","display_name":"Loop (graph theory)","score":0.4712042212486267},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.44697535037994385},{"id":"https://openalex.org/keywords/for-loop","display_name":"For loop","score":0.4305438697338104},{"id":"https://openalex.org/keywords/streams","display_name":"STREAMS","score":0.4218292832374573},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3237401843070984},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.19263246655464172},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.1578960418701172},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.14331141114234924}],"concepts":[{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.9112765789031982},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8532564640045166},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.7833170890808105},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6806415319442749},{"id":"https://openalex.org/C41608201","wikidata":"https://www.wikidata.org/wiki/Q980509","display_name":"Embedding","level":2,"score":0.5760766863822937},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5684649348258972},{"id":"https://openalex.org/C82714645","wikidata":"https://www.wikidata.org/wiki/Q438331","display_name":"Template","level":2,"score":0.5678175091743469},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.5175820589065552},{"id":"https://openalex.org/C184670325","wikidata":"https://www.wikidata.org/wiki/Q512604","display_name":"Loop (graph theory)","level":2,"score":0.4712042212486267},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.44697535037994385},{"id":"https://openalex.org/C2779624466","wikidata":"https://www.wikidata.org/wiki/Q838119","display_name":"For loop","level":3,"score":0.4305438697338104},{"id":"https://openalex.org/C42090638","wikidata":"https://www.wikidata.org/wiki/Q4048907","display_name":"STREAMS","level":2,"score":0.4218292832374573},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3237401843070984},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.19263246655464172},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.1578960418701172},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.14331141114234924},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3494885.3494910","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3494885.3494910","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2021 4th International Conference on Computer Science and Software Engineering (CSSE 2021)","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":10,"referenced_works":["https://openalex.org/W2004771867","https://openalex.org/W2048960787","https://openalex.org/W2066455950","https://openalex.org/W2069326104","https://openalex.org/W2580473522","https://openalex.org/W2620436109","https://openalex.org/W2787379525","https://openalex.org/W2886799409","https://openalex.org/W3023891024","https://openalex.org/W3101464617"],"related_works":["https://openalex.org/W4313549863","https://openalex.org/W4231266416","https://openalex.org/W2395465245","https://openalex.org/W2072205733","https://openalex.org/W3176957927","https://openalex.org/W4296534969","https://openalex.org/W194942058","https://openalex.org/W2991900792","https://openalex.org/W2088986462","https://openalex.org/W1985388819"],"abstract_inverted_index":{"Java,":[0],"starting":[1],"from":[2,76],"version":[3],"8,":[4],"adopted":[5],"the":[6,64,69,77,92,100],"functional":[7,13],"paradigm,":[8],"comprising":[9],"lambda":[10],"expressions,":[11],"streams,":[12],"interfaces,":[14],"etc.":[15],"This":[16],"paper":[17],"proposes":[18],"an":[19],"approach":[20,81],"to":[21,26,44,51,68],"automatically":[22],"refactor":[23],"for":[24,33,49],"loops":[25,34,59],"streams.":[27],"In":[28],"our":[29],"approach,":[30],"code":[31],"implementing":[32],"is":[35],"checked":[36],"against":[37],"a":[38,48,52],"set":[39],"of":[40],"preconditions":[41],"and":[42,97],"matched":[43],"proposed":[45,93],"templates":[46,94],"associating":[47],"loop":[50],"proper":[53],"equivalent":[54,65],"stream-based":[55],"code.":[56],"Then,":[57],"matching":[58],"can":[60],"be":[61],"replaced":[62],"with":[63],"code,":[66],"according":[67],"recognised":[70],"template,":[71],"embedding":[72],"selected":[73],"statements":[74],"extracted":[75],"original":[78],"version.":[79],"The":[80],"has":[82],"been":[83],"validated":[84],"on":[85],"several":[86],"open":[87],"source":[88],"projects,":[89],"showing":[90],"that":[91],"are":[95],"effective":[96],"transformations":[98],"preserve":[99],"behaviour.":[101]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":4},{"year":2022,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
