Catálogo de refatorações para a evolução de programas em linguagem Fortran
Autor(a) principal: | |
---|---|
Data de Publicação: | 2011 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Manancial - Repositório Digital da UFSM |
dARK ID: | ark:/26339/001300000v1bp |
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/5377ark:/26339/001300000v1bpporinfo: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 |
dc.identifier.dark.fl_str_mv |
ark:/26339/001300000v1bp |
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. ark:/26339/001300000v1bp |
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_ |
1815172398978170880 |