Catálogo de refatorações para a evolução de programas em linguagem Fortran

Detalhes bibliográficos
Autor(a) principal: Rissetti, Gustavo
Data de Publicação: 2011
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Manancial - Repositório Digital da UFSM
Texto Completo: http://repositorio.ufsm.br/handle/1/5377
Resumo: 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.
id UFSM_3c3217ef4bfa3b919220ab8b84262a54
oai_identifier_str oai:repositorio.ufsm.br:1/5377
network_acronym_str UFSM
network_name_str Manancial - Repositório Digital da UFSM
repository_id_str
spelling Catálogo de refatorações para a evolução de programas em linguagem FortranFortranEvoluçãoRefatoraçãoFortranEvolutionRefactoringCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOEvolution 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.Coordenação de Aperfeiçoamento de Pessoal de Nível SuperiorA 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.Universidade Federal de Santa MariaBRCiência da ComputaçãoUFSMPrograma de Pós-Graduação em InformáticaPiveta, Eduardo Kesslerhttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4702582Y9Panetta, Jairohttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4783453P5Maillard, Nicolashttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4704374U9Rissetti, Gustavo2011-11-092011-11-092011-07-08info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfapplication/pdfRISSETTI, Gustavo. CATÁLOGO DE REFATORAÇÕES PARA A EVOLUÇÃO DE PROGRAMAS EM LINGUAGEM FORTRAN. 2011. 100 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Santa Maria, Santa Maria, 2011.http://repositorio.ufsm.br/handle/1/5377porinfo:eu-repo/semantics/openAccessreponame:Manancial - Repositório Digital da UFSMinstname:Universidade Federal de Santa Maria (UFSM)instacron:UFSM2022-03-04T18:29:09Zoai:repositorio.ufsm.br:1/5377Biblioteca Digital de Teses e Dissertaçõeshttps://repositorio.ufsm.br/ONGhttps://repositorio.ufsm.br/oai/requestatendimento.sib@ufsm.br||tedebc@gmail.comopendoar:2022-03-04T18:29:09Manancial - Repositório Digital da UFSM - Universidade Federal de Santa Maria (UFSM)false
dc.title.none.fl_str_mv Catálogo de refatorações para a evolução de programas em linguagem Fortran
title Catálogo de refatorações para a evolução de programas em linguagem Fortran
spellingShingle Catálogo de refatorações para a evolução de programas em linguagem Fortran
Rissetti, Gustavo
Fortran
Evolução
Refatoração
Fortran
Evolution
Refactoring
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
title_short Catálogo de refatorações para a evolução de programas em linguagem Fortran
title_full Catálogo de refatorações para a evolução de programas em linguagem Fortran
title_fullStr Catálogo de refatorações para a evolução de programas em linguagem Fortran
title_full_unstemmed Catálogo de refatorações para a evolução de programas em linguagem Fortran
title_sort Catálogo de refatorações para a evolução de programas em linguagem Fortran
author Rissetti, Gustavo
author_facet Rissetti, Gustavo
author_role author
dc.contributor.none.fl_str_mv Piveta, Eduardo Kessler
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4702582Y9
Panetta, Jairo
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4783453P5
Maillard, Nicolas
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4704374U9
dc.contributor.author.fl_str_mv Rissetti, Gustavo
dc.subject.por.fl_str_mv Fortran
Evolução
Refatoração
Fortran
Evolution
Refactoring
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic Fortran
Evolução
Refatoração
Fortran
Evolution
Refactoring
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description 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.
publishDate 2011
dc.date.none.fl_str_mv 2011-11-09
2011-11-09
2011-07-08
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv RISSETTI, Gustavo. CATÁLOGO DE REFATORAÇÕES PARA A EVOLUÇÃO DE PROGRAMAS EM LINGUAGEM FORTRAN. 2011. 100 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Santa Maria, Santa Maria, 2011.
http://repositorio.ufsm.br/handle/1/5377
identifier_str_mv RISSETTI, Gustavo. CATÁLOGO DE REFATORAÇÕES PARA A EVOLUÇÃO DE PROGRAMAS EM LINGUAGEM FORTRAN. 2011. 100 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Santa Maria, Santa Maria, 2011.
url http://repositorio.ufsm.br/handle/1/5377
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Santa Maria
BR
Ciência da Computação
UFSM
Programa de Pós-Graduação em Informática
publisher.none.fl_str_mv Universidade Federal de Santa Maria
BR
Ciência da Computação
UFSM
Programa de Pós-Graduação em Informática
dc.source.none.fl_str_mv reponame:Manancial - Repositório Digital da UFSM
instname:Universidade Federal de Santa Maria (UFSM)
instacron:UFSM
instname_str Universidade Federal de Santa Maria (UFSM)
instacron_str UFSM
institution UFSM
reponame_str Manancial - Repositório Digital da UFSM
collection Manancial - Repositório Digital da UFSM
repository.name.fl_str_mv Manancial - Repositório Digital da UFSM - Universidade Federal de Santa Maria (UFSM)
repository.mail.fl_str_mv atendimento.sib@ufsm.br||tedebc@gmail.com
_version_ 1805922122913021952