Automação de Refatorações para Programas Fortran de Alto Desempenho - Boniati, Bruno Batista; Charão, Andrea Schwertner; Stein, Benhur de Oliveira (Anais do Simpósio em Sistemas Computacionais de Alto Desempenho (SSCAD), 2009)
Refatoração é uma técnica de engenharia de software que objetiva aplicar melhorias internas no código-fonte de aplicações, sem que isso influencie no seu comportamento. É uma técnica amplamente empregada em código orientado a objetos e utilizada por algumas metodologias de desenvolvimento. Na computação de alto desempenho, a refatoração é uma técnica pouco explorada, sendo que grande parte código legado de programas de alto desempenho está escrita em linguagens não orientadas a objetos. Neste trabalho, explora-se a automatização de técnicas de refatoração e sua aplicação em códigos de alto desempenho escritos em linguagem imperativa Fortran. São identificadas oportunidades de melhorar a legibilidade e o design do código sem afetar o desempenho, além de reestruturações de código quem podem representar ganho de desempenho. As técnicas estudadas e automatizadas são utilizadas em aplicações reais, como meio de validar a abordagem. A automatização das técnicas é feita estendendo as funcionalidades do IDE Photran, um plugin para Eclipse, cujo funcionamento também será abortado neste texto.