{"id":"https://openalex.org/W1986417753","doi":"https://doi.org/10.1109/csmr-wcre.2014.6747175","title":"Mc2FOR: A tool for automatically translating MATLAB to FORTRAN 95","display_name":"Mc2FOR: A tool for automatically translating MATLAB to FORTRAN 95","publication_year":2014,"publication_date":"2014-02-01","ids":{"openalex":"https://openalex.org/W1986417753","doi":"https://doi.org/10.1109/csmr-wcre.2014.6747175","mag":"1986417753"},"language":"en","primary_location":{"id":"doi:10.1109/csmr-wcre.2014.6747175","is_oa":false,"landing_page_url":"https://doi.org/10.1109/csmr-wcre.2014.6747175","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE)","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/A5101734838","display_name":"Xu Li","orcid":"https://orcid.org/0000-0002-7788-2414"},"institutions":[{"id":"https://openalex.org/I5023651","display_name":"McGill University","ror":"https://ror.org/01pxwe438","country_code":"CA","type":"education","lineage":["https://openalex.org/I5023651"]}],"countries":["CA"],"is_corresponding":true,"raw_author_name":"Xu Li","raw_affiliation_strings":["School of Computer Science, McGill University","[Sch. of Comput. Sci., McGill Univ., Montreal, QC, Canada]"],"affiliations":[{"raw_affiliation_string":"School of Computer Science, McGill University","institution_ids":["https://openalex.org/I5023651"]},{"raw_affiliation_string":"[Sch. of Comput. Sci., McGill Univ., Montreal, QC, Canada]","institution_ids":["https://openalex.org/I5023651"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5039974849","display_name":"Laurie Hendren","orcid":"https://orcid.org/0000-0001-6755-9632"},"institutions":[{"id":"https://openalex.org/I5023651","display_name":"McGill University","ror":"https://ror.org/01pxwe438","country_code":"CA","type":"education","lineage":["https://openalex.org/I5023651"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Laurie Hendren","raw_affiliation_strings":["School of Computer Science, McGill University","[Sch. of Comput. Sci., McGill Univ., Montreal, QC, Canada]"],"affiliations":[{"raw_affiliation_string":"School of Computer Science, McGill University","institution_ids":["https://openalex.org/I5023651"]},{"raw_affiliation_string":"[Sch. of Comput. Sci., McGill Univ., Montreal, QC, Canada]","institution_ids":["https://openalex.org/I5023651"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5101734838"],"corresponding_institution_ids":["https://openalex.org/I5023651"],"apc_list":null,"apc_paid":null,"fwci":3.0648,"has_fulltext":false,"cited_by_count":10,"citation_normalized_percentile":{"value":0.91076814,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"234","last_page":"243"},"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.9994999766349792,"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.9994999766349792,"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.9976000189781189,"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/T11697","display_name":"Numerical Methods and Algorithms","score":0.9883000254631042,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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.9438287615776062},{"id":"https://openalex.org/keywords/matlab","display_name":"MATLAB","score":0.8320578932762146},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.81038498878479},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7582745552062988},{"id":"https://openalex.org/keywords/scripting-language","display_name":"Scripting language","score":0.5304790139198303},{"id":"https://openalex.org/keywords/computational-science","display_name":"Computational science","score":0.5103315711021423},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.4314597249031067},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.3251626193523407}],"concepts":[{"id":"https://openalex.org/C2778241615","wikidata":"https://www.wikidata.org/wiki/Q83303","display_name":"Fortran","level":2,"score":0.9438287615776062},{"id":"https://openalex.org/C2780365114","wikidata":"https://www.wikidata.org/wiki/Q169478","display_name":"MATLAB","level":2,"score":0.8320578932762146},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.81038498878479},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7582745552062988},{"id":"https://openalex.org/C61423126","wikidata":"https://www.wikidata.org/wiki/Q187432","display_name":"Scripting language","level":2,"score":0.5304790139198303},{"id":"https://openalex.org/C459310","wikidata":"https://www.wikidata.org/wiki/Q117801","display_name":"Computational science","level":1,"score":0.5103315711021423},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.4314597249031067},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.3251626193523407}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/csmr-wcre.2014.6747175","is_oa":false,"landing_page_url":"https://doi.org/10.1109/csmr-wcre.2014.6747175","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.550000011920929,"id":"https://metadata.un.org/sdg/4","display_name":"Quality Education"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":9,"referenced_works":["https://openalex.org/W114672764","https://openalex.org/W1508432545","https://openalex.org/W1538458686","https://openalex.org/W1972346939","https://openalex.org/W1997096491","https://openalex.org/W2122878128","https://openalex.org/W2295387227","https://openalex.org/W2541001226","https://openalex.org/W2610948442"],"related_works":["https://openalex.org/W3023169329","https://openalex.org/W4389470870","https://openalex.org/W2782165897","https://openalex.org/W2980163522","https://openalex.org/W1582950852","https://openalex.org/W4226047925","https://openalex.org/W4300438041","https://openalex.org/W2054104202","https://openalex.org/W2139703748","https://openalex.org/W2761254753"],"abstract_inverted_index":{"MATLAB":[0,60,75,92,95,101,118,184,211],"is":[1,50,131,175],"a":[2,53,91,113,208],"dynamic":[3,19],"numerical":[4],"scripting":[5],"language":[6],"widely":[7],"used":[8,155],"by":[9,46],"scientists,":[10],"engineers":[11],"and":[12,18,98,148,160,197],"students.":[13],"While":[14],"MATLAB's":[15],"high-level":[16],"syntax":[17],"types":[20],"make":[21],"it":[22],"ideal":[23],"for":[24,36,72],"prototyping,":[25],"programmers":[26],"often":[27],"prefer":[28],"using":[29],"high-performance":[30],"static":[31,83,139],"languages":[32],"such":[33,78,142],"as":[34,79,143],"FORTRAN":[35,65,105,170,178,205],"their":[37],"final":[38],"distributable":[39],"code.":[40],"Rather":[41],"than":[42],"rewriting":[43],"the":[44,58,82,88,138,144,149,168,194,200,203],"code":[45,179,206],"hand,":[47],"our":[48],"solution":[49],"to":[51,62,76,103,119,136,156,161,186],"provide":[52],"tool":[54,114,122],"that":[55],"automatically":[56,73,116,182],"translates":[57,117],"original":[59],"program":[61],"an":[63,132,176],"equivalent":[64,104],"program.":[66,171],"There":[67],"are":[68,154],"several":[69],"important":[70],"challenges":[71],"translating":[74],"FORTRAN,":[77],"correctly":[80],"estimating":[81],"type":[84,140],"characteristics":[85],"of":[86,124,146,151,202,210],"all":[87],"variables":[89],"in":[90,167],"program,":[93],"mapping":[94,100],"built-in":[96],"functions,":[97],"effectively":[99],"constructs":[102,185],"constructs.":[106],"In":[107],"this":[108],"paper,":[109],"we":[110,198],"introduce":[111],"Mc2FOR,":[112],"which":[115,153],"FORTRAN.":[120,187],"This":[121,188],"consists":[123],"two":[125],"major":[126],"parts.":[127],"The":[128,172],"first":[129],"part":[130,174],"interprocedural":[133],"analysis":[134],"component":[135],"estimate":[137],"characteristics,":[141],"shape":[145],"arrays":[147],"range":[150],"scalars,":[152],"generate":[157],"variable":[158],"declarations":[159],"remove":[162],"unnecessary":[163],"array":[164],"bounds":[165],"checking":[166],"translated":[169,204],"second":[173],"extensible":[177],"generation":[180],"framework":[181],"transforming":[183],"work":[189],"has":[190],"been":[191],"implemented":[192],"within":[193],"McLab":[195],"framework,":[196],"demonstrate":[199],"performance":[201],"on":[207],"collection":[209],"benchmarks.":[212]},"counts_by_year":[{"year":2017,"cited_by_count":3},{"year":2016,"cited_by_count":2},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":4}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
