{"id":"https://openalex.org/W3180904400","doi":"https://doi.org/10.1007/s11227-021-03839-9","title":"Making legacy Fortran code type safe through automated program transformation","display_name":"Making legacy Fortran code type safe through automated program transformation","publication_year":2021,"publication_date":"2021-07-14","ids":{"openalex":"https://openalex.org/W3180904400","doi":"https://doi.org/10.1007/s11227-021-03839-9","mag":"3180904400"},"language":"en","primary_location":{"id":"doi:10.1007/s11227-021-03839-9","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s11227-021-03839-9","pdf_url":"https://link.springer.com/content/pdf/10.1007/s11227-021-03839-9.pdf","source":{"id":"https://openalex.org/S32326811","display_name":"The Journal of Supercomputing","issn_l":"0920-8542","issn":["0920-8542","1573-0484"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Journal of Supercomputing","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://link.springer.com/content/pdf/10.1007/s11227-021-03839-9.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5047735250","display_name":"Wim Vanderbauwhede","orcid":"https://orcid.org/0000-0001-6768-0037"},"institutions":[{"id":"https://openalex.org/I4210138626","display_name":"Nederlandse Vereniging voor Anesthesiologie","ror":"https://ror.org/02ykn5012","country_code":"NL","type":"healthcare","lineage":["https://openalex.org/I4210138626"]},{"id":"https://openalex.org/I7882870","display_name":"University of Glasgow","ror":"https://ror.org/00vtgdb53","country_code":"GB","type":"education","lineage":["https://openalex.org/I7882870"]}],"countries":["GB","NL"],"is_corresponding":true,"raw_author_name":"Wim Vanderbauwhede","raw_affiliation_strings":[". com/ wimva nderb auwhe de/ LES","School of Computing Science, University of Glasgow, Glasgow, UK"],"affiliations":[{"raw_affiliation_string":". com/ wimva nderb auwhe de/ LES","institution_ids":["https://openalex.org/I4210138626"]},{"raw_affiliation_string":"School of Computing Science, University of Glasgow, Glasgow, UK","institution_ids":["https://openalex.org/I7882870"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5047735250"],"corresponding_institution_ids":["https://openalex.org/I4210138626","https://openalex.org/I7882870"],"apc_list":{"value":2390,"currency":"EUR","value_usd":2990},"apc_paid":{"value":2390,"currency":"EUR","value_usd":2990},"fwci":1.8195,"has_fulltext":true,"cited_by_count":17,"citation_normalized_percentile":{"value":0.87814447,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":100},"biblio":{"volume":"78","issue":"2","first_page":"2988","last_page":"3028"},"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.9969000220298767,"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.9969000220298767,"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.9945999979972839,"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/T11424","display_name":"Security and Verification in Computing","score":0.9926999807357788,"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/fortran","display_name":"Fortran","score":0.9078094959259033},{"id":"https://openalex.org/keywords/subroutine","display_name":"Subroutine","score":0.9059414863586426},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8581180572509766},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7749192714691162},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7497535943984985},{"id":"https://openalex.org/keywords/program-transformation","display_name":"Program transformation","score":0.5389718413352966},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.5178239941596985},{"id":"https://openalex.org/keywords/transformation","display_name":"Transformation (genetics)","score":0.5057969093322754},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4544563293457031},{"id":"https://openalex.org/keywords/legacy-code","display_name":"Legacy code","score":0.45200106501579285},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.42282694578170776},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.3515864908695221},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.2203367054462433},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.08525258302688599}],"concepts":[{"id":"https://openalex.org/C2778241615","wikidata":"https://www.wikidata.org/wiki/Q83303","display_name":"Fortran","level":2,"score":0.9078094959259033},{"id":"https://openalex.org/C96147967","wikidata":"https://www.wikidata.org/wiki/Q190686","display_name":"Subroutine","level":2,"score":0.9059414863586426},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8581180572509766},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7749192714691162},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7497535943984985},{"id":"https://openalex.org/C2778361913","wikidata":"https://www.wikidata.org/wiki/Q7248437","display_name":"Program transformation","level":2,"score":0.5389718413352966},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.5178239941596985},{"id":"https://openalex.org/C204241405","wikidata":"https://www.wikidata.org/wiki/Q461499","display_name":"Transformation (genetics)","level":3,"score":0.5057969093322754},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4544563293457031},{"id":"https://openalex.org/C85687889","wikidata":"https://www.wikidata.org/wiki/Q445962","display_name":"Legacy code","level":3,"score":0.45200106501579285},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.42282694578170776},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3515864908695221},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.2203367054462433},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.08525258302688599},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","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}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1007/s11227-021-03839-9","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s11227-021-03839-9","pdf_url":"https://link.springer.com/content/pdf/10.1007/s11227-021-03839-9.pdf","source":{"id":"https://openalex.org/S32326811","display_name":"The Journal of Supercomputing","issn_l":"0920-8542","issn":["0920-8542","1573-0484"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Journal of Supercomputing","raw_type":"journal-article"},{"id":"pmh:oai:eprints.gla.ac.uk:243180","is_oa":true,"landing_page_url":null,"pdf_url":null,"source":{"id":"https://openalex.org/S4210235606","display_name":"ENLIGHTEN (Jurnal Bimbingan dan Konseling Islam)","issn_l":"2622-8912","issn":["2622-8912","2622-8920"],"is_oa":true,"is_in_doaj":true,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":"cc-by-sa","license_id":"https://openalex.org/licenses/cc-by-sa","version":"acceptedVersion","is_accepted":true,"is_published":false,"raw_source_name":"","raw_type":"Articles"}],"best_oa_location":{"id":"doi:10.1007/s11227-021-03839-9","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s11227-021-03839-9","pdf_url":"https://link.springer.com/content/pdf/10.1007/s11227-021-03839-9.pdf","source":{"id":"https://openalex.org/S32326811","display_name":"The Journal of Supercomputing","issn_l":"0920-8542","issn":["0920-8542","1573-0484"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Journal of Supercomputing","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G5549522161","display_name":null,"funder_award_id":"P/L00058X/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G600182179","display_name":null,"funder_award_id":"EP/L00058X/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G6968114954","display_name":"Exploiting Parallelism through Type Transformations for Hybrid Manycore Systems","funder_award_id":"EP/L00058X/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3180904400.pdf","grobid_xml":"https://content.openalex.org/works/W3180904400.grobid-xml"},"referenced_works_count":19,"referenced_works":["https://openalex.org/W655704103","https://openalex.org/W1557561422","https://openalex.org/W1604316186","https://openalex.org/W1992791679","https://openalex.org/W1994706453","https://openalex.org/W2050776543","https://openalex.org/W2066744212","https://openalex.org/W2081605270","https://openalex.org/W2088792221","https://openalex.org/W2112774031","https://openalex.org/W2157532442","https://openalex.org/W2166822586","https://openalex.org/W2171035674","https://openalex.org/W2200095440","https://openalex.org/W2479997015","https://openalex.org/W2905166231","https://openalex.org/W2963541958","https://openalex.org/W2997255185","https://openalex.org/W3019148798"],"related_works":["https://openalex.org/W136575323","https://openalex.org/W3150993086","https://openalex.org/W1516043520","https://openalex.org/W3150762485","https://openalex.org/W767506823","https://openalex.org/W3125463300","https://openalex.org/W2218209960","https://openalex.org/W246887380","https://openalex.org/W2389300841","https://openalex.org/W1508156279"],"abstract_inverted_index":{"Abstract":[0],"Fortran":[1,56,114],"is":[2,21,30,67,140],"still":[3],"widely":[4],"used":[5],"in":[6,23,113,121],"scientific":[7],"computing,":[8],"and":[9,89,94,104,111,128,143,149],"a":[10,47,122],"very":[11],"large":[12],"corpus":[13],"of":[14,54,64,82,86],"legacy":[15,55,132],"as":[16,18],"well":[17],"new":[19],"code":[20,29,57,139],"written":[22],"FORTRAN":[24,87,101],"77.":[25],"In":[26,42],"general":[27],"this":[28,43,65],"not":[31],"type":[32,52,74,84,95,126,141],"safe,":[33],"so":[34],"that":[35,136,144],"incorrect":[36],"programs":[37],"can":[38,153],"compile":[39],"without":[40],"errors.":[41],"paper,":[44],"we":[45],"present":[46,77],"formal":[48],"approach":[49],"to":[50,68,99,157],"ensure":[51],"safety":[53,85],"through":[58],"automated":[59],"program":[60,92],"transformation.":[61],"The":[62],"objective":[63],"work":[66],"reduce":[69],"programming":[70],"errors":[71],"by":[72],"guaranteeing":[73],"safety.":[75],"We":[76,116,134],"the":[78,83,90,131,137,145],"first":[79],"rigorous":[80],"analysis":[81],"77":[88,102],"novel":[91],"transformation":[93],"checking":[96],"algorithms":[97,120],"required":[98],"convert":[100],"subroutines":[103,110,152],"functions":[105,112],"into":[106],"pure,":[107,146],"side-effect":[108,147],"free":[109,148],"90.":[115],"have":[117],"implemented":[118],"these":[119],"source-to-source":[123],"compiler":[124],"which":[125],"checks":[127],"automatically":[129],"transforms":[130],"code.":[133],"show":[135],"resulting":[138],"safe":[142],"referentially":[150],"transparent":[151],"readily":[154],"be":[155],"offloaded":[156],"accelerators.":[158]},"counts_by_year":[{"year":2026,"cited_by_count":3},{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":10}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
