HASLab/INESC TEC previne erros em folhas de cálculo
Uma equipa de investigação do High-Assurance Software Laboratory (HASLab), Parceiro Privilegiado do INESC TEC, tem vindo a desenvolver trabalho aplicando métodos rigorosos – um dos temas de investigação do grupo – às folhas de cálculo, de modo a reduzir a quantidade de erros.
Os sistemas de folhas de cálculo desempenham um papel fundamental na sociedade moderna. A sua elevada flexibilidade permite que sejam usadas para diversos propósitos e por diferentes tipos de utilizadores. Uma folha de cálculo pode ser desenvolvida tanto por um único indivíduo para resolver problemas computacionais simples, como por uma grande empresa para integrar dados provenientes de múltiplos sistemas e como fundamento para a tomada de decisões de negócios.
Esta importância, no entanto, não foi alcançada juntamente com mecanismos eficazes para a prevenção de erros. De facto, estima-se que até 94% de folhas de cálculo utilizadas em situações reais contêm erros que, a cada ano, causam prejuízos de cerca de 10 mil milhões de dólares.
É aqui que entra o trabalho do HASLab. Este cenário concreto foi o ponto de partida para um esforço de investigação coordenado, que teve o seu início em 2007, com um projeto de doutoramento desenvolvido por Jácome Cunha, investigador do HASLab, e continuado no âmbito do projeto 'Folhas de Cálculo entendidas como Linguagens de Programação', financiado pela Fundação Para a Ciência e Tecnologia, e liderado por João Saraiva. Este projeto conta com uma equipa de investigação dedicada ao estudo de abordagens rigorosas ao desenvolvimento de folhas de cálculo, e tem o objetivo principal reduzir a quantidade de erros que elas possuem.
O contributo científico mais influente conseguido até agora por esta equipa segue uma abordagem orientada a modelos e é já unanimemente aceite em áreas da engenharia que não a do software. Tomando como exemplo a Engenharia Civil, a construção de uma ponte, ou de uma habitação, não é iniciada sem que antes se tenha desenvolvido e estudado ao detalhe um modelo abstrato do edifício a construir. Caso contrário, os eventuais erros e inconsistências que fosse preciso corrigir em fase de construção teriam custos incomportáveis. Num contexto da Engenharia de Folhas de Cálculo, a motivação é similar: só é implementada uma folha de cálculo concreta, onde venham a ser introduzidos dados, quando um modelo abstrato tiver sido desenvolvido e encaixar perfeitamente no modelo de negócios pretendido.
Os resultados atingidos nesta linha de investigação têm recebido uma ampla aceitação da comunidade científica internacional, tendo sido publicados em conferências que são referências mundiais, como por exemplo a International Conference on Software Engineering (ICSE), a Visual Languages and Human-Centric Computing (VL/HCC),a International Conference on Fundamental Approaches to Software Engineering (FASE), a International Conference on Model Transformation (ICMT) e a Partial Evaluation and Program Manipulation (PEPM).