Return to search

CATÁLOGO DE REFATORAÇÕES PARA A EVOLUÇÃO DE PROGRAMAS EM LINGUAGEM FORTRAN

Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / Evolution is a natural characteristic in software development. During the life cycle
of a system, usually there is the need of evolution, mainly to add a new requirement, to
change existing functionality, or to evolve the programming language used. The Fortran
(FORmula TRANslation) language, despite having more than fifty years of existence, is
still widely used in scientific applications. The majority of the existent Fortran applications
is composed of legacy code, using obsolete or deprecated constructions of the
language and, thus, need to evolve to improve their quality attributes. However, this process
is often done manually, without the existence of well-defined rules to be followed,
facilitating the introduction of anomalies in these applications. Software evolution can
be benefited from refactoring, which provides well-defined mechanisms to be followed,
helping to maintain and to improve the quality of existent systems. Refactoring is a software
engineering technique that transforms software artefacts in order to improve them,
without compromising their functionality. It is a permanent task in the life cycle of an
application and is directly associated with the software non-functional requirements, such
as modularization, legibility, and performance. This technique is widely used in objectoriented
languages, but is still largely unexplored in procedural languages such as Fortran.
In this context, this work explores the need for refactorings for the Fortran language, together
with the issue of evolving legacy code. This goal is achieved through the proposal
of a refactoring catalog to the evolution of Fortran programs, and the automation of some
of them in the Photran framework. The proposed refactorings are evaluated and validated
in applications written in Fortran. / A evolução é uma característica natural no desenvolvimento de software. Durante o
ciclo de vida de um sistema, geralmente existe a necessidade de evolução, seja para a
adição de um novo requisito, para a alteração de funcionalidades existentes, ou para a
evolução da linguagem de programação usada. A linguagem Fortran (FORmula TRANslation),
apesar de possuir mais de cinquenta anos de existência, ainda é amplamente usada
em aplicações científicas. A maioria das aplicações Fortran existentes é composta de códigos
legados, que usam construções obsoletas ou de uso desencorajado da linguagem,
e normalmente precisam passar por uma evolução para melhorar seus atributos de qualidade.
Porém, muitas vezes, esse processo é conduzido manualmente, sem a existência de
regras bem definidas a serem seguidas, podendo ocorrer a introdução de anomalias nessas
aplicações. A evolução de software pode ser auxiliada através de refatoração, que oferece
mecanismos bem definidos a serem seguidos, ajudando a manter e melhorar a qualidade
dos sistemas existentes. Refatoração é uma técnica de engenharia de software que efetua
transformações em artefatos de software a fim de melhorá-los, sem comprometer suas
funcionalidades. Trata-se de uma tarefa permanentemente presente no ciclo de vida de
uma aplicação e está diretamente associada à requisitos não funcionais de software, tais
como modularização, legibilidade e desempenho. Essa técnica é amplamente difundida
para linguagens orientadas a objetos, mas é ainda pouco explorada em linguagens procedurais
como Fortran. Nesse contexto, este trabalho explora a carência de refatorações
para a linguagem Fortran, aliada à questão da evolução de código legado. Esse objetivo é
alcançado através da proposta de um catálogo de refatorações para a evolução de programas
Fortran, e da automação de algumas delas no framework Photran. As refatorações
propostas são avaliadas e validadas em aplicações escritas em Fortran.

Identiferoai:union.ndltd.org:IBICT/oai:repositorio.ufsm.br:1/5377
Date08 July 2011
CreatorsRissetti, Gustavo
ContributorsPiveta, Eduardo Kessler, Panetta, Jairo, Maillard, Nicolas
PublisherUniversidade Federal de Santa Maria, Programa de Pós-Graduação em Informática, UFSM, BR, Ciência da Computação
Source SetsIBICT Brazilian ETDs
LanguagePortuguese
Detected LanguageEnglish
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis
Formatapplication/pdf
Sourcereponame:Repositório Institucional da UFSM, instname:Universidade Federal de Santa Maria, instacron:UFSM
Rightsinfo:eu-repo/semantics/openAccess
Relation100300000007, 400, 300, 300, 300, 300, 1cfb7530-fa3a-4c24-bc53-2e9457c38de6, 9d60bcad-e5d1-462b-9dd7-902358962be7, 2eb3b774-0c35-459c-9eb9-b9e14616ba81, daf2b194-e5b2-4eed-b61f-6dc0f0ba2009

Page generated in 0.0117 seconds