Making legacy Fortran code type safe through automated program transformation
Fortran is still widely used in scientific computing, and a very large corpus of legacy as well as new code is written in FORTRAN 77. In general this code is not type safe, so that incorrect programs can compile without errors. In this paper, we present a formal approach to ensure type safety of leg...
Saved in:
| Published in: | The Journal of supercomputing Vol. 78; no. 2; pp. 2988 - 3028 |
|---|---|
| Main Author: | |
| Format: | Journal Article |
| Language: | English |
| Published: |
New York
Springer US
01.02.2022
Springer Nature B.V |
| Subjects: | |
| ISSN: | 0920-8542, 1573-0484 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Abstract | Fortran is still widely used in scientific computing, and a very large corpus of legacy as well as new code is written in FORTRAN 77. In general this code is not type safe, so that incorrect programs can compile without errors. In this paper, we present a formal approach to ensure type safety of legacy Fortran code through automated program transformation. The objective of this work is to reduce programming errors by guaranteeing type safety. We present the first rigorous analysis of the type safety of FORTRAN 77 and the novel program transformation and type checking algorithms required to convert FORTRAN 77 subroutines and functions into pure, side-effect free subroutines and functions in Fortran 90. We have implemented these algorithms in a source-to-source compiler which type checks and automatically transforms the legacy code. We show that the resulting code is type safe and that the pure, side-effect free and referentially transparent subroutines can readily be offloaded to accelerators. |
|---|---|
| AbstractList | Fortran is still widely used in scientific computing, and a very large corpus of legacy as well as new code is written in FORTRAN 77. In general this code is not type safe, so that incorrect programs can compile without errors. In this paper, we present a formal approach to ensure type safety of legacy Fortran code through automated program transformation. The objective of this work is to reduce programming errors by guaranteeing type safety. We present the first rigorous analysis of the type safety of FORTRAN 77 and the novel program transformation and type checking algorithms required to convert FORTRAN 77 subroutines and functions into pure, side-effect free subroutines and functions in Fortran 90. We have implemented these algorithms in a source-to-source compiler which type checks and automatically transforms the legacy code. We show that the resulting code is type safe and that the pure, side-effect free and referentially transparent subroutines can readily be offloaded to accelerators. |
| Author | Vanderbauwhede, Wim |
| Author_xml | – sequence: 1 givenname: Wim orcidid: 0000-0001-6768-0037 surname: Vanderbauwhede fullname: Vanderbauwhede, Wim email: wim.vanderbauwhede@glasgow.ac.uk organization: School of Computing Science, University of Glasgow |
| BookMark | eNp9kE1LAzEQhoNUsK3-AU8Bz6uTj_3IUYpVweJFz2GaTbZb201Ndg_996atIHjoaYbhfWbeeSdk1PnOEnLL4J4BlA-RMc7LDDjLQFRCZeqCjFleigxkJUdkDIpDVuWSX5FJjGsAkKIUY7JY4FfbNXRjGzR7OvehD9hR42tL-_3O0ogudavgh2ZFcej9Fntb013wTcAtPaij8yFNW99dk0uHm2hvfuuUfM6fPmYv2dv78-vs8S0zohB9prhcQu1AWOekw9IVqsTClblwcmkRjBBmqbhwNUpQjLO8qutKmQJ5jTlDMSV3p73JxvdgY6_XfghdOql5wXnBmACeVPykMsHHGKzTu9BuMew1A32ITZ9i0yk2fYxNqwRV_yDT9sfn0qvt5jwqTmhMd7rGhj9XZ6gfDPeEwg |
| CitedBy_id | crossref_primary_10_3390_a16050241 |
| Cites_doi | 10.1145/1238844.1238856 10.21105/joss.00865 10.1145/2179280.2179281 10.1007/978-3-642-13217-9_2 10.1016/0022-0000(78)90014-4 10.1145/1145319.1145331 10.1016/0010-4655(94)90212-7 10.1016/0010-4655(96)00093-8 10.1145/2541348.2541356 10.1007/978-3-642-00820-7 10.1109/MCSE.2016.17 10.1145/328239.333386 10.1016/j.uclim.2020.100625 10.1016/j.procs.2014.05.052 10.1049/sej.1990.0017 10.1016/j.compfluid.2018.06.005 10.1145/3206214.3206215 |
| ContentType | Journal Article |
| Copyright | The Author(s) 2021 The Author(s) 2021. This work is published under http://creativecommons.org/licenses/by/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License. |
| Copyright_xml | – notice: The Author(s) 2021 – notice: The Author(s) 2021. This work is published under http://creativecommons.org/licenses/by/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License. |
| DBID | C6C AAYXX CITATION JQ2 |
| DOI | 10.1007/s11227-021-03839-9 |
| DatabaseName | Springer Nature OA Free Journals CrossRef ProQuest Computer Science Collection |
| DatabaseTitle | CrossRef ProQuest Computer Science Collection |
| DatabaseTitleList | ProQuest Computer Science Collection CrossRef |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 1573-0484 |
| EndPage | 3028 |
| ExternalDocumentID | 10_1007_s11227_021_03839_9 |
| GrantInformation_xml | – fundername: Engineering and Physical Sciences Research Council grantid: EP/L00058X/1 funderid: http://dx.doi.org/10.13039/501100000266 |
| GroupedDBID | -4Z -59 -5G -BR -EM -Y2 -~C .4S .86 .DC .VR 06D 0R~ 0VY 123 199 1N0 1SB 2.D 203 28- 29L 2J2 2JN 2JY 2KG 2KM 2LR 2P1 2VQ 2~H 30V 4.4 406 408 409 40D 40E 5QI 5VS 67Z 6NX 78A 8TC 8UJ 95- 95. 95~ 96X AAAVM AABHQ AACDK AAHNG AAIAL AAJBT AAJKR AANZL AAOBN AARHV AARTL AASML AATNV AATVU AAUYE AAWCG AAYIU AAYOK AAYQN AAYTO AAYZH ABAKF ABBBX ABBXA ABDBF ABDPE ABDZT ABECU ABFTD ABFTV ABHLI ABHQN ABJNI ABJOX ABKCH ABKTR ABMNI ABMQK ABNWP ABQBU ABQSL ABSXP ABTEG ABTHY ABTKH ABTMW ABULA ABWNU ABXPI ACAOD ACBXY ACDTI ACGFS ACHSB ACHXU ACKNC ACMDZ ACMLO ACOKC ACOMO ACPIV ACUHS ACZOJ ADHHG ADHIR ADIMF ADINQ ADKNI ADKPE ADMLS ADQRH ADRFC ADTPH ADURQ ADYFF ADZKW AEBTG AEFIE AEFQL AEGAL AEGNC AEJHL AEJRE AEKMD AEMSY AENEX AEOHA AEPYU AESKC AETLH AEVLU AEXYK AFBBN AFEXP AFGCZ AFLOW AFQWF AFWTZ AFZKB AGAYW AGDGC AGGDS AGJBK AGMZJ AGQEE AGQMX AGRTI AGWIL AGWZB AGYKE AHAVH AHBYD AHSBF AHYZX AI. AIAKS AIGIU AIIXL AILAN AITGF AJBLW AJRNO AJZVZ ALMA_UNASSIGNED_HOLDINGS ALWAN AMKLP AMXSW AMYLF AMYQR AOCGG ARCSS ARMRJ ASPBG AVWKF AXYYD AYJHY AZFZN B-. B0M BA0 BBWZM BDATZ BGNMA BSONS C6C CAG COF CS3 CSCUP DDRTE DL5 DNIVK DPUIP DU5 EAD EAP EAS EBD EBLON EBS EDO EIOEI EJD EMK EPL ESBYG ESX F5P FEDTE FERAY FFXSO FIGPU FINBP FNLPD FRRFC FSGXE FWDCC GGCAI GGRSB GJIRD GNWQR GQ6 GQ7 GQ8 GXS H13 HF~ HG5 HG6 HMJXF HQYDN HRMNR HVGLF HZ~ H~9 I-F I09 IHE IJ- IKXTQ ITM IWAJR IXC IZIGR IZQ I~X I~Z J-C J0Z JBSCW JCJTX JZLTJ KDC KOV KOW LAK LLZTM M4Y MA- N2Q N9A NB0 NDZJH NPVJJ NQJWS NU0 O9- O93 O9G O9I O9J OAM OVD P19 P2P P9O PF0 PT4 PT5 QOK QOS R4E R89 R9I RHV RNI ROL RPX RSV RZC RZE RZK S16 S1Z S26 S27 S28 S3B SAP SCJ SCLPG SCO SDH SDM SHX SISQX SJYHP SNE SNPRN SNX SOHCF SOJ SPISZ SRMVM SSLCW STPWE SZN T13 T16 TEORI TSG TSK TSV TUC TUS U2A UG4 UOJIU UTJUX UZXMN VC2 VFIZW VH1 W23 W48 WH7 WK8 YLTOR Z45 Z7R Z7X Z7Z Z83 Z88 Z8M Z8N Z8R Z8T Z8W Z92 ZMTXR ~8M ~EX AAPKM AAYXX ABBRH ABDBE ABFSG ABJCF ABRTQ ACSTC ADHKG ADKFA AEZWR AFDZB AFFHD AFHIU AFKRA AFOHR AGQPQ AHPBZ AHWEU AIXLP ARAPS ATHPR AYFIA BENPR BGLVJ CCPQU CITATION HCIFZ K7- M7S PHGZM PHGZT PQGLB PTHSS JQ2 |
| ID | FETCH-LOGICAL-c363t-924b0df03eff4fa7f697a6f753f4bea0c33cb923fda40912158dd89c6a2da51a3 |
| IEDL.DBID | RSV |
| ISICitedReferencesCount | 4 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000673426700001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 0920-8542 |
| IngestDate | Thu Sep 25 00:43:40 EDT 2025 Tue Nov 18 20:47:43 EST 2025 Sat Nov 29 04:27:41 EST 2025 Fri Feb 21 02:46:32 EST 2025 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | 2 |
| Keywords | Type system Type safety Acceleration Program transformation Fortran |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-c363t-924b0df03eff4fa7f697a6f753f4bea0c33cb923fda40912158dd89c6a2da51a3 |
| Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 |
| ORCID | 0000-0001-6768-0037 |
| OpenAccessLink | https://link.springer.com/10.1007/s11227-021-03839-9 |
| PQID | 2622611302 |
| PQPubID | 2043774 |
| PageCount | 41 |
| ParticipantIDs | proquest_journals_2622611302 crossref_primary_10_1007_s11227_021_03839_9 crossref_citationtrail_10_1007_s11227_021_03839_9 springer_journals_10_1007_s11227_021_03839_9 |
| PublicationCentury | 2000 |
| PublicationDate | 2022-02-01 |
| PublicationDateYYYYMMDD | 2022-02-01 |
| PublicationDate_xml | – month: 02 year: 2022 text: 2022-02-01 day: 01 |
| PublicationDecade | 2020 |
| PublicationPlace | New York |
| PublicationPlace_xml | – name: New York |
| PublicationSubtitle | An International Journal of High-Performance Computer Design, Analysis, and Use |
| PublicationTitle | The Journal of supercomputing |
| PublicationTitleAbbrev | J Supercomput |
| PublicationYear | 2022 |
| Publisher | Springer US Springer Nature B.V |
| Publisher_xml | – name: Springer US – name: Springer Nature B.V |
| References | ContrastinMRiceADanishMOrchardDUnits-of-measure correctness in Fortran programsComput Sci Eng201618110210710.1109/MCSE.2016.17 KämpfJOcean modelling for beginners: using open-source software2009BerlinSpringer10.1007/978-3-642-00820-7 Reid J (2018) The new features of Fortran 2018. In: ACM SIGPLAN fortran forum, vol 37. ACM New York, NY, USA, pp 5–43 Overbey J, Xanthos S, Johnson R, Foote B (2005) Refactorings for fortran and high-performance computing. In: Proceedings of the second international workshop on Software engineering for high performance computing system applications. ACM, pp 37–39 TakemiTYoshidaTHoriguchiMVanderbauwhedeWLarge-eddy-simulation analysis of airflows and strong wind hazards in urban areasUrban Clim20203210062510.1016/j.uclim.2020.100625 VanderbauwhedeWThe glasgow Fortran source-to-source compilerJ Open Source Softw201833286510.21105/joss.00865 ScottNKilpatrickPMaleyDThe formal specification of abstract data types and their implementation in Fortran 90Comput Phys Commun199484120122510.1016/0010-4655(94)90212-70874.68040 MaleyDKilpatrickPSchreinerEScottNDiercksenGThe formal specification of abstract data types and their implementation in Fortran 90: implementation issues concerning the use of pointersComput Phys Commun199698116718010.1016/0010-4655(96)00093-80938.68718 Liao C, Quinlan DJ, Panas T, De Supinski BR (2010) A rose-based openmp 3.0 research compiler supporting multiple runtime libraries. In: International workshop on OpenMP. Springer, Berlin, pp 15–28 PierceBCBenjaminCTypes and programming languages2002CambridgeMIT Press0995.68018 Abramson D, Lees M, Krzhizhanovskaya V, Dongarra J, Sloot PM, Yamamoto K, Uno A, Murai H, Tsukamoto T, Shoji F, Matsui S, Sekizawa R, Sueyasu F, Uchiyama H, Okamoto M, Ohgushi N, Takashina K, Wakabayashi D, Taguchi Y, Yokokawa M (2014) In: 2014 International conference on computational science the k computer operations: experiences and statistics. Procedia Computer Science, vol 29, pp 76–585 ColbrookASmytheCFormal specification of data abstraction in Fortran 77: abstract arraysSoftw Eng J19905315115910.1049/sej.1990.0017 Orchard D, Rice A (2013) Upgrading Fortran source code using automatic refactoring. In: Proceedings of the 2013 ACM workshop on refactoring tools, WRT’13. ACM, New York, NY, USA, pp 29–32. https://doi.org/10.1145/2541348.2541356 MilnerRA theory of type polymorphism in programmingJ Comput Syst Sci197817334837551684410.1016/0022-0000(78)90014-4 Reid N, Wray J (1999) A prescriptive semantics of fortran 95. In: ACM SIGPLAN fortran forum, vol 18. ACM New York, NY, USA, pp 2–3 Tinetti FG, Méndez M (2012) Fortran legacy software: source code update and possible parallelisation issues. In: ACM SIGPLAN fortran forum, vol 31. ACM, pp 5–22 VanderbauwhedeWDavidsonGDomain-specific acceleration and auto-parallelization of legacy scientific code in Fortran 77 using source-to-source compilationComput Fluids201817315384363910.1016/j.compfluid.2018.06.005 Gordon S, McBride BJ (1994) Computer program for calculation of complex chemical equilibrium. NASA reference publication 1311 Hudak P, Hughes J, Peyton Jones S, Wadler P (2007) A history of Haskell: being lazy with class. In: Proceedings of the third ACM SIGPLAN conference on history of programming languages, pp 12–1–12–55 ANSI A (1978) Standard x3. 9-1978, programming language Fortran (revision of ansi x2. 9-1966). American National Standards Institute. Inc., NY, 197(8) 3839_CR2 3839_CR1 J Kämpf (3839_CR7) 2009 3839_CR11 3839_CR12 3839_CR14 3839_CR15 T Takemi (3839_CR17) 2020; 32 W Vanderbauwhede (3839_CR19) 2018; 3 3839_CR18 R Milner (3839_CR10) 1978; 17 BC Pierce (3839_CR13) 2002 N Scott (3839_CR16) 1994; 84 A Colbrook (3839_CR3) 1990; 5 W Vanderbauwhede (3839_CR20) 2018; 173 M Contrastin (3839_CR4) 2016; 18 D Maley (3839_CR9) 1996; 98 3839_CR8 3839_CR6 3839_CR5 |
| References_xml | – reference: PierceBCBenjaminCTypes and programming languages2002CambridgeMIT Press0995.68018 – reference: ColbrookASmytheCFormal specification of data abstraction in Fortran 77: abstract arraysSoftw Eng J19905315115910.1049/sej.1990.0017 – reference: MaleyDKilpatrickPSchreinerEScottNDiercksenGThe formal specification of abstract data types and their implementation in Fortran 90: implementation issues concerning the use of pointersComput Phys Commun199698116718010.1016/0010-4655(96)00093-80938.68718 – reference: ScottNKilpatrickPMaleyDThe formal specification of abstract data types and their implementation in Fortran 90Comput Phys Commun199484120122510.1016/0010-4655(94)90212-70874.68040 – reference: VanderbauwhedeWThe glasgow Fortran source-to-source compilerJ Open Source Softw201833286510.21105/joss.00865 – reference: Reid J (2018) The new features of Fortran 2018. In: ACM SIGPLAN fortran forum, vol 37. ACM New York, NY, USA, pp 5–43 – reference: Liao C, Quinlan DJ, Panas T, De Supinski BR (2010) A rose-based openmp 3.0 research compiler supporting multiple runtime libraries. In: International workshop on OpenMP. Springer, Berlin, pp 15–28 – reference: ANSI A (1978) Standard x3. 9-1978, programming language Fortran (revision of ansi x2. 9-1966). American National Standards Institute. Inc., NY, 197(8) – reference: Tinetti FG, Méndez M (2012) Fortran legacy software: source code update and possible parallelisation issues. In: ACM SIGPLAN fortran forum, vol 31. ACM, pp 5–22 – reference: Reid N, Wray J (1999) A prescriptive semantics of fortran 95. In: ACM SIGPLAN fortran forum, vol 18. ACM New York, NY, USA, pp 2–3 – reference: Gordon S, McBride BJ (1994) Computer program for calculation of complex chemical equilibrium. NASA reference publication 1311 – reference: Overbey J, Xanthos S, Johnson R, Foote B (2005) Refactorings for fortran and high-performance computing. In: Proceedings of the second international workshop on Software engineering for high performance computing system applications. ACM, pp 37–39 – reference: Hudak P, Hughes J, Peyton Jones S, Wadler P (2007) A history of Haskell: being lazy with class. In: Proceedings of the third ACM SIGPLAN conference on history of programming languages, pp 12–1–12–55 – reference: ContrastinMRiceADanishMOrchardDUnits-of-measure correctness in Fortran programsComput Sci Eng201618110210710.1109/MCSE.2016.17 – reference: Abramson D, Lees M, Krzhizhanovskaya V, Dongarra J, Sloot PM, Yamamoto K, Uno A, Murai H, Tsukamoto T, Shoji F, Matsui S, Sekizawa R, Sueyasu F, Uchiyama H, Okamoto M, Ohgushi N, Takashina K, Wakabayashi D, Taguchi Y, Yokokawa M (2014) In: 2014 International conference on computational science the k computer operations: experiences and statistics. Procedia Computer Science, vol 29, pp 76–585 – reference: Orchard D, Rice A (2013) Upgrading Fortran source code using automatic refactoring. In: Proceedings of the 2013 ACM workshop on refactoring tools, WRT’13. ACM, New York, NY, USA, pp 29–32. https://doi.org/10.1145/2541348.2541356 – reference: TakemiTYoshidaTHoriguchiMVanderbauwhedeWLarge-eddy-simulation analysis of airflows and strong wind hazards in urban areasUrban Clim20203210062510.1016/j.uclim.2020.100625 – reference: VanderbauwhedeWDavidsonGDomain-specific acceleration and auto-parallelization of legacy scientific code in Fortran 77 using source-to-source compilationComput Fluids201817315384363910.1016/j.compfluid.2018.06.005 – reference: MilnerRA theory of type polymorphism in programmingJ Comput Syst Sci197817334837551684410.1016/0022-0000(78)90014-4 – reference: KämpfJOcean modelling for beginners: using open-source software2009BerlinSpringer10.1007/978-3-642-00820-7 – ident: 3839_CR6 doi: 10.1145/1238844.1238856 – volume: 3 start-page: 865 issue: 32 year: 2018 ident: 3839_CR19 publication-title: J Open Source Softw doi: 10.21105/joss.00865 – ident: 3839_CR18 doi: 10.1145/2179280.2179281 – ident: 3839_CR5 – ident: 3839_CR8 doi: 10.1007/978-3-642-13217-9_2 – volume-title: Types and programming languages year: 2002 ident: 3839_CR13 – ident: 3839_CR2 – volume: 17 start-page: 348 issue: 3 year: 1978 ident: 3839_CR10 publication-title: J Comput Syst Sci doi: 10.1016/0022-0000(78)90014-4 – ident: 3839_CR12 doi: 10.1145/1145319.1145331 – volume: 84 start-page: 201 issue: 1 year: 1994 ident: 3839_CR16 publication-title: Comput Phys Commun doi: 10.1016/0010-4655(94)90212-7 – volume: 98 start-page: 167 issue: 1 year: 1996 ident: 3839_CR9 publication-title: Comput Phys Commun doi: 10.1016/0010-4655(96)00093-8 – ident: 3839_CR11 doi: 10.1145/2541348.2541356 – volume-title: Ocean modelling for beginners: using open-source software year: 2009 ident: 3839_CR7 doi: 10.1007/978-3-642-00820-7 – volume: 18 start-page: 102 issue: 1 year: 2016 ident: 3839_CR4 publication-title: Comput Sci Eng doi: 10.1109/MCSE.2016.17 – ident: 3839_CR15 doi: 10.1145/328239.333386 – volume: 32 start-page: 100625 year: 2020 ident: 3839_CR17 publication-title: Urban Clim doi: 10.1016/j.uclim.2020.100625 – ident: 3839_CR1 doi: 10.1016/j.procs.2014.05.052 – volume: 5 start-page: 151 issue: 3 year: 1990 ident: 3839_CR3 publication-title: Softw Eng J doi: 10.1049/sej.1990.0017 – volume: 173 start-page: 1 year: 2018 ident: 3839_CR20 publication-title: Comput Fluids doi: 10.1016/j.compfluid.2018.06.005 – ident: 3839_CR14 doi: 10.1145/3206214.3206215 |
| SSID | ssj0004373 |
| Score | 2.2965698 |
| Snippet | Fortran is still widely used in scientific computing, and a very large corpus of legacy as well as new code is written in FORTRAN 77. In general this code is... |
| SourceID | proquest crossref springer |
| SourceType | Aggregation Database Enrichment Source Index Database Publisher |
| StartPage | 2988 |
| SubjectTerms | Algorithms Automation Compilers Computer Science Errors FORTRAN Interpreters Processor Architectures Programming Languages Safety Subroutines Transformations |
| Title | Making legacy Fortran code type safe through automated program transformation |
| URI | https://link.springer.com/article/10.1007/s11227-021-03839-9 https://www.proquest.com/docview/2622611302 |
| Volume | 78 |
| WOSCitedRecordID | wos000673426700001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVAVX databaseName: SpringerLINK Contemporary 1997-Present customDbUrl: eissn: 1573-0484 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0004373 issn: 0920-8542 databaseCode: RSV dateStart: 19970101 isFulltext: true titleUrlDefault: https://link.springer.com/search?facet-content-type=%22Journal%22 providerName: Springer Nature |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1LS8QwEA66evDiW1xdJQdvWmiaNI-jiIuXXcQXeytpk4iwdGXbFfz3JmlqVVTQSyk0LWWSdL7pzDcfACc8T2WhGIqMNmlEEMKRoIjaQ5IbTkzCuPJiE2w85pOJuA6ksKqtdm9Tkv5L3ZHdUJKwyJUUxDasEpFYBivW3XEn2HBz-9CxIXGTVxY2MOIpSQJV5vtnfHZHHcb8khb13ma48b_33ATrAV3C82Y5bIElXW6DjVa5AYaNvANGIy9CBaf6URavcGgxuPVZ0PHbofspCytp7Fmj4QPlop5ZYKsVDNVcsP4Ad2flLrgfXt5dXEVBWCEqMMV1ZGOuPFYmxtoYYiQzVDBJjY1cDMm1jAuMi9wiP6OkDf9c_wmuFBcFlYmSKZJ4D_TKWan3ASRSodzCmFxTRgRhnKRKKuy71lCqVR-g1r5ZEbqOO_GLadb1S3b2yqy9Mm-vTPTB6fs9z03PjV9HD9ppy8L-q7KEWliJXFK2D87aaeou__y0g78NPwRrieND-DLuAejV84U-AqvFS_1UzY_9unwDkqfbtQ |
| linkProvider | Springer Nature |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV3fS8MwED50Cvri_InTqXnwTQtNk6bNo4hj4jZEp_hW0iYRYXSydoL_vUl_WBUV9KUUmpZySXrf9e77DuA4jH2RyAA7WmnfoRgThzPMzMGLdUi1F4SyaDYRjEbhwwO_rkhhWV3tXqckiy91Q3bDnhc4tqTANWEVd_giLFHjsaxi_s3tfcOGJGVemZvAKPSpV1Flvn_GZ3fUYMwvadHC2_Ta_3vPdVir0CU6K5fDBiyodBPadecGVG3kLRgOiyZUaKIeRfKKegaDG5-FLL8d2Z-yKBPanJU9fJCY51MDbJVEVTUXyj_A3Wm6DXe9i_F536kaKzgJYSR3TMwVu1K7RGlNtQg044Fg2kQumsZKuAkhSWyQn5bChH9WfyKUMuQJE54UPhZkB1rpNFW7gKiQODYwJlYsoJwGIfWlkKRQrWFMyQ7g2r5RUqmO2-YXk6jRS7b2ioy9osJeEe_Ayfs9z6Xmxq-ju_W0RdX-yyKPGViJbVK2A6f1NDWXf37a3t-GH8FKfzwcRIPL0dU-rHqWG1GUdHehlc_m6gCWk5f8KZsdFmv0Degy3pk |
| linkToPdf | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV1bS8MwFD7oFPHFecXp1Dz4psWlSdPmUdSi6MbAC3sraZOIMLqxdYL_3qQXO0UF8aUUmoZyknC-r-d85wAcB7EnEuljRyvtORRj4nCGmbm4sQ6odv1A5s0m_F4vGAx4f07Fn2e7VyHJQtNgqzSl2dlY6rNa-IZd13dsekHHUCzu8EVYojaR3vL1-6daGUmKGDM3JCnwqFvKZr6f47NrqvHmlxBp7nnC5v-_eR3WStSJzottsgELKt2EZtXRAZUHfAu63bw5FRqqZ5G8odBgc-PLkNW9I_uzFk2FNndFbx8kZtnIAF4lUZnlhbI5GDxKt-ExvHq4uHbKhgtOQhjJHMPF4o7UHaK0plr4mnFfMG0YjaaxEp2EkCQ2iFBLYWihrUsRSBnwhAlXCg8LsgONdJSqXUBUSBwbeBMr5lNO_YB6UkiSV7NhTMkW4MrWUVJWI7dNMYZRXUfZ2isy9opye0W8BScf74yLWhy_jm5XSxiV53IauczATWyDtS04rZasfvzzbHt_G34EK_3LMLq76d3uw6prJRN5pncbGtlkpg5gOXnNXqaTw3y7vgM1iOd9 |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Making+legacy+Fortran+code+type+safe+through+automated+program+transformation&rft.jtitle=The+Journal+of+supercomputing&rft.au=Vanderbauwhede+Wim&rft.date=2022-02-01&rft.pub=Springer+Nature+B.V&rft.issn=0920-8542&rft.eissn=1573-0484&rft.volume=78&rft.issue=2&rft.spage=2988&rft.epage=3028&rft_id=info:doi/10.1007%2Fs11227-021-03839-9&rft.externalDBID=NO_FULL_TEXT |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0920-8542&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0920-8542&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0920-8542&client=summon |