Partilhe nas Redes Sociais

Investigadores de Coimbra criam ferramenta para evitar erros de programação 

Publicado em 2 Dezembro 2022 | 262 Visualizações

Uma equipa multidisciplinar de investigadores na Universidade de Coimbra demonstrou que, através de ferramentas inteligentes, é possível detetar se um programador está ou não a compreender o software que está a ler, verificar ou construir e por essa via ajudar a prevenir possíveis erros.

O Base – Biofeedback Augmented Software Engineering juntou investigadores das áreas das neurociências, biomédica e inteligência artificial e engenharia de software. A equipa de neurociências, coordenada pelo professor Miguel Castelo Branco, procura identificar as zonas do cérebro envolvidas no erro humano, num contexto de produção de software. Tenta perceber, por exemplo, se existe um padrão de ativação cerebral quando é descoberto um bug.

A equipa da área da biomédica e inteligência artificial, coordenada pelo professor Paulo de Carvalho, investiga processos não intrusivos para medir a carga e estados cognitivos de stress dos programadores, distração ou fadiga. Já a equipa do professor Henrique Madeira, de engenharia de software, desenvolve novas ferramentas de apoio ao programador de software, que permitam prever erros durante a sua atividade. 

O projeto é liderado por Henrique Madeira, professor catedrático do Departamento de Engenharia Informática da Faculdade de Ciências e Tecnologia da Universidade de Coimbra. Faz parte de um consórcio entre o Centro de Informática e Sistemas da Universidade de Coimbra, o Departamento de Engenharia Informática da FCTUC, o Coimbra Institute for Biomedical Imaging and Translational Research da Universidade de Coimbra e o Politécnico de Milão.  

Como explica o responsável, «o problema da falta de qualidade de software há muito que é investigado, mas não na perspetiva do elemento mais importante no processo da construção do software, o programador». Os primeiros resultados deste projeto mostram, no entanto, que é possível «dotar o ambiente de desenvolvimento de software de novas funções para ajudar o programador, particularmente indicar o código que deve ser (re)visto com mais cuidado». Isto é possível através de uma ferramenta que vai marcando, a amarelo ou a vermelho, as zonas de código que devem ser revistas. A iReview foi desenvolvida  a partir daqui. 

A ferramenta, já patenteada, permite avaliar a qualidade das reviews de um programador. Avalia a qualidade da revisão feita pelo revisor e indica se esta deve ou não ser repetida, assinalando as zonas do código que têm de ser analisadas com mais atenção e explicando a razão pela qual está a sugerir uma segunda revisão. 

No âmbito do mesmo projeto, a equipa está também a desenvolver a ferramenta iMind, pensada para ajudar a compreender conteúdos digitais num texto. «O processo é o mesmo, mas a ler um texto em vez de rever código de software. Por exemplo, se houver uma passagem que a pessoa não entenda no texto, a ferramenta indica de forma automática a tradução ou dá uma sugestão», explica Henrique Madeira. O responsável assume que a equipa está longe destes resultados, mas «pelo menos já provámos que a ferramenta consegue indicar se a pessoa entendeu um parágrafo ou não».

Para desenvolver a primeira ferramenta do projeto, a equipa contou com dezenas de voluntários, programadores que fizeram ressonâncias magnéticas, eletroencefalogramas, foram sujeitos à monitorização do sistema nervoso autónomo, usaram sensores cardíacos e rastreadores oculares. Toda a informação recolhida, durante as tarefas de programação, foram a base para identificar reações a vários níveis. 

O BASE é financiado pela Fundação para a Ciência e a Tecnologia em 239 mil euros.


Publicado em:

Projetos

Partilhe nas Redes Sociais

Artigos Relacionados