DUVI

Diario da Universidade de Vigo

Trátase dunha aplicación pioneira realizada polo investigador de EPhysLab Michael García

FortranAnalyser, unha ferramenta de análise da calidade de software que atrae o interese da Nasa

Comproba métricas consideradas como boas prácticas de programación

Etiquetas
  • Ourense
  • Investigación
Rosa Tedín DUVI 31/10/2017

Fortran é unha linguaxe de programación especialmente adaptada á computación científica, sendo unha das máis populares en supercomputación. Entre as súas áreas de uso tradicional está a predición numérica do tempo, sendo a linguaxe empregada nos modelos climáticos do Programa Mundial do Clima das Nacións Unidas. Investigando precisamente nestes modelos, o enxeñeiro informático da Universidade de Vigo Michael García vén de crear a ferramenta FortranAnalyser, pioneira na análise da calidade do software feito con Fortran. A aplicación, que comproba métricas consideradas como boas prácticas de programación, xa ten espertado o interese de investigadores da Nasa.

O desenvolvemento deste ferramenta, explica o investigador do Grupo EPhysLab do campus de Ourense, xurdiu no marco do traballo fin de mestrado en Enxeñaría Informática que realizou baixo a dirección dos profesores Juan Antonio Añel e Javier Rodeiro, e que recentemente recibiu un dos galardóns do Premio ao Mellor Proxecto Universitario con Licenza Libre convocado pola Axencia para a Modernización Tecnolóxica de Galicia (Amtega). Neste traballo, Michael García estudou a reproducibilidade computacional do CMIP 5, a fase cinco do proxecto internacional de intercomparación de modelos climáticos do Programa Mundial do Clima de Nacións Unidas, que abrangue desde 2008 a 2015. “Para o informe de Nacións Unidas sobre cambio climático fanse unha serie de simulacións do clima con modelos, e eses modelos son os que eu estudei”, comenta o investigador. A análise da reproducibilidade destes modelos, detalla, consistiu en analizar por unha banda a dispoñibilidade e por outra banda a calidade do software dos modelos.

Dispoñibilidade e calidade

A análise da dispoñibilidade consistiu en comprobar a facilidade de acceso ao código dos 26 modelos que conforman o CMIP 5, analizándose as licenzas asociadas a cada modelo. A cada un deles asignóuselle unha valoración, outorgando cero estrelas no caso de non dispor do código; unha estrela no caso de obter o código tras contactar coa institución; dúas estrelas se o código está dispoñible na páxina web da institución e a última estrela asignóuselle en base ao tipo de licenza asociada ao modelo: media estrela se é tipo BSD ou similar e unha estrela se é tipo GPL ou similar. Dos oito modelos dos que se conseguiu o código, sete obtiveron un informe de dispoñibilidade favorable.

A análise da calidade dos modelos foi a que xerou a problemática que deu lugar á creación de FortranAnalyser. “A linguaxe de programación na que están desenvolvidos os modelos é Fortran. Ante a inexistencia dunha ferramenta que fose capaz de analizar o código estaticamente comprobando métricas consideradas como boas prácticas de programación, vímonos obrigados a desenvolver unha propia, a que chamamos FortranAnalyser”. Esta aplicación, comenta García, preséntase como unha ferramenta multilinguaxe de análise estática de código Fortran para plataforma Linux. As métricas que analiza son utilización da sentencia implicit none; número de liñas con comentarios; número de aniñamento das estruturas repetitivas; comentarios ao principio do arquivo; identificación das variables declaradas; comentarios na declaración de funcións; uso da sentencia exit; comentarios na declaración das subrutinas; uso da sentencia cycle e comentarios nas estruturas repetitivas.

En función do cumprimento destas métricas, FortranAnalyser asigna unha puntuación entre cero e dez puntos a cada software analizado. No caso de obter unha puntuación inferior a cinco non se outorga ningunha estrela, en caso de obter unha puntuación maior ou igual a cinco e menor de oito o software obtén unha estrela e no caso de conseguir unha puntuación igual ou maior de oito entón acada dúas estrelas.

Primeiros bos resultados

Segundo explican os seus responsables, FortranAnalyser xa foi presentada con bos resultados en diversos congresos e seminarios. “Nun deles, no CCMI Workshop que tivo lugar en Toulouse, Francia, un grupo de investigación da NASA en colaboración coa Universidade de Santiago de Compostela interesouse polo traballo que desenvolvemos e pola aplicación FortranAnalyser, requiríndoa para avaliar modelos acuíferos terrestres publicados recentemente en Proceeding of the National Academy of Science of the USA”, comenta o investigador. Ademais, engade Michael García, a última versión de FortranAnalyser (versión 1.9) publicouse o día 4 de outubro e conta xa con 38 descargas de varios recunchos do mundo, unha cifra moi positiva “tendo en conta que a comunidade de usuarios que desenvolve en Fortran hoxe en día é moito máis reducida en comparación con outras linguaxes de programación”.