Investigadores da FEUP criam aplicação inédita para compreensão de software

Aplicação foi desenvolvida por Rui Maranhão e Alexandre Perez, docentes e investigadores da FEUP.

Chama-se Pangolin. Trata-se de uma aplicação que utiliza conceitos de deteção automática de bugs informáticos para melhorar a compreensão do código fonte e vai ser apresentada ao mundo na prestigiada “International Conference on Program Compehension” (ICPC), a conferência de maior reputação junto da comunidade científica na área de compreensão de software, a decorrer acontecer já no próximo dia 2 de junho, na Índia.

O peculiar nome da aplicação informática foi atribuído por Rui Maranhão e Alexandre Perez, docentes e investigadores da Faculdade de Engenharia da Universidade do Porto (FEUP), por associação ao mamífero que se alimenta de insetos: “foi por essa razão que adoptámos o Pangolin como mascote para esta ferramenta”, esclarecem os investigadores.

A aplicação assume-se como uma ferramenta de apoio a quem desenvolve software e tem como objetivo principal ajudar na compreensão do código fonte. O mesmo será dizer que o Pangolin permite, para cada funcionalidade de um programa de software, localizar as linhas de código que a implementam. Esta análise é especialmente útil para programadores que não estão familiarizados com um determinado projeto de software e que assim agilizam o processo de ter que efetuar alterações no código fonte.

Vamos imaginar que um programador acaba de se juntar à equipa do Paint na Microsoft. Pedem-lhe para que altere a funcionalidade do botão de Undo. Como essa aplicação foi desenvolvida por outro profissional, é natural que o programador tenha de despender algum tempo até compreender onde é que essa função está implementada. Através do Pangolin, o programador de forma simples e intuitiva, conseguirá mais rapidamente compreender as funções que estão relacionadas com a implementação do Undo, que funções estão relacionadas não só com o Undo mas também com outras funcionalidades, e quais funções não estão relacionadas com esse botão. Esta informação valiosa permitirá ao programador saber onde terá de fazer alterações, dando-lhe mais confiança durante o trabalho que terá de fazer.

De acordo com os investigadores da FEUP (Rui Maranhão é também investigador do INESC TEC) envolvidos no projeto há cerca de um ano, as técnicas utilizadas no Pangolin provêm de algoritmos, que são estado da arte, focados na deteção de defeitos de software (também chamados de bugs). A grande mais-valia desta ferramenta é a capacidade de lidar com programas de elevada dimensão, algo inédito comparativamente a outras aplicações que fazem uma análise semelhante e que estão disponíveis no mercado. Além disso, o Pangolin dispõe de “visualizações intuitivas que facilitam a compreensão e navegação do código fonte”, admite Rui Maranhão.

A versão académica da ferramenta já está disponível em http://www.gzoltar.com/pangolin/