Refactoring is a software engineering technique that aims at improving the internal structure of an application, in such a way that the changes do not interfere in the results
produced by the software. This technique is permanently employed in the software life cycle and refers to non-functional characteristics as legibility and performance. Most refactoring techniques currently apply to object-oriented systems and are widely available in integrated development environments for this programming paradigm. In high performance computing applications, code refactoring is a little-explored technique, as a great amount of legacy high performance code was written before the widespread use of object-oriented languages. The Fortran language (FORmula TRANslator) is heavily used in high performance applications, but has a few and limited tools for code refactoring. In such context, our work explores this open research area through the development of
new techniques for refactoring Fortran source code. Our development starts from identifying refactoring opportunities for Fortran code and extends the Photran tool, which is an Eclipse IDE plugin for Fortran programming. The new automated refactoring techniques
are applied to third-party code written in Fortran, in order to evaluate their impact on the software performance. / Refatoração é uma técnica de engenharia de software que consiste em alterar a estrutura interna de uma aplicação sem que tais alterações interfiram nos resultados produzidos
pela mesma. Trata-se de uma tarefa permanentemente presente no ciclo de vida de uma aplicação e está diretamente associada às características não funcionais do software, como legibilidade e desempenho. Técnicas de refatoração são amplamente utilizadas em sistemas desenvolvidos para o paradigma da orientação a objetos e estão presentes de forma automatizada em diversas ferramentas que atuam neste paradigma. Na computação
de alto desempenho, a refatoração de código é pouco explorada, principalmente em função de que boa parte do código legado de programas de alto desempenho está escrita
em linguagens anteriores ao paradigma da orientação a objetos. A linguagem Fortran (FORmula TRANslator), largamente utilizada em aplicações de alto desempenho, possui
poucas e limitadas ferramentas para refatoração de código. Neste contexto, este trabalho explora essa deficiência através da automatização de técnicas de refatoração, utilizando-se do framework da ferramenta Photran (um plugin para edição de código Fortran integrado ao IDE Eclipse). Partindo-se da identificação de oportunidades de refatoração para código Fortran, algumas técnicas são desenvolvidas e integradas à ferramenta Photran. As técnicas automatizadas são utilizadas em aplicações escritas nesta linguagem, de forma a avaliar seu impacto no desempenho das mesmas.
Identifer | oai:union.ndltd.org:IBICT/oai:repositorio.ufsm.br:1/5351 |
Date | 17 August 2009 |
Creators | Boniati, Bruno Batista |
Contributors | Stein, Benhur de Oliveira, Charão, Andréa Schwertner, Panetta, Jairo, Kozakevicius, Alice de Jesus |
Publisher | Universidade Federal de Santa Maria, Programa de Pós-Graduação em Informática, UFSM, BR, Ciência da Computação |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | Portuguese |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Format | application/pdf |
Source | reponame:Repositório Institucional da UFSM, instname:Universidade Federal de Santa Maria, instacron:UFSM |
Rights | info:eu-repo/semantics/openAccess |
Relation | 100300000007, 400, 300, 300, 300, 300, 300, c96e146b-e7f3-455a-8889-3d68529e5b26, b203e71d-431a-4bfd-b05e-2716b25e3578, d66ed8c6-e395-4691-8ab7-919ae4d12b50, 19bee0d7-49da-4790-830c-465693944e22, 26a4794f-c1db-447e-8809-7208e46e5e25 |
Page generated in 0.0027 seconds