Secções
  Entrada HASLab Notícias & Eventos Nós na Imprensa A qualidade do software e da matemática em movimento
Acções do Documento

A qualidade do software e da matemática em movimento

José Nuno Oliveira

José Nuno Oliveira, investigador do Laboratório de Software Confiável (HASLab) do Instituto de Engenharia de Sistemas e Computadores, Tecnologia e Ciência (INESC TEC) e professor Catedrático na Universidade do Minho.

A produção de bens em larga escala tem aperfeiçoado o conceito de qualidade, que cumpre o papel de “interface†entre consumidor e produtor: ao primeiro garante o que compra, ao segundo valoriza o que produz. A chamada “revolução digital†automatizou ainda mais a produção e promoveu a “desmaterializaçãoâ€, libertando indústria e serviços de limitações dos tradicionais sistemas físicos de suporte. Isto conseguiu-se à custa de um ingrediente novo: o software, “l’enfant terrible†da era das TI.

Contudo, se colocarmos software em paralelo com hardware ou outro qualquer produto industrial, há diferenças que comprometem a importação “tout court†dos processos de qualidade da indústria tradicional. O software não tem peso, é quimicamente neutro, não aquece (quem o faz é o hardware onde corre), enfim: é imaterial e não se rege pelas leis da física. Não era isto de esperar, afinal, do ingrediente novo que potenciou a desmaterialização dos nossos tempos?

Qual é então a base científica do software enquanto produto de uma engenharia? Por estranho que possa parecer, o software rege-se por leis matemáticas e, como costumo dizer nas aulas, mais não é do que “matemática em movimentoâ€. Talvez desconcertante para muitos, esta explicação simples ajuda a perceber a afirmação de há 50 anos de Edsger Dijkstra, um dos maiores cientistas da programação: «Software engineering seems to be the activity for the Mathematical Engineer par excellence».

Ironicamente talvez, em software os problemas concretos resolvem-se recorrendo à abstração, algo que afinal não é nada fora do comum (leia-se o artigo Is Abstraction the Key to Computing? por J. Kramer, Com. ACM, 2007). Os últimos anos têm assistido a um notável desenvolvimento de ferramentas que permitem lidar com tais abstrações e ajudam a aplicá-las ao desenho científico do software, prevenindo erros e permitindo verificação. Tendo a área do teste evoluído entretanto como disciplina sistemática, o trio modelação, verificação e teste é a base da qualidade do software enquanto produto. O problema reside aqui e não na qualidade dos processos, onde se conheceram avanços significativos (normalização, certificação das empresas etc.) e onde a própria maleabilidade do software inspirou técnicas de produção novas, dotadas de maior agilidade.

Infelizmente, o problema não é de solução fácil por serem poucas as instituições que ensinam modelação matemática em projeto de software. Em suma, acaba por ser (como tantos outros) um problema de educação. Tal como aconteceu há 50 anos na 1ª conferência sobre engenharia de software (1968, Garmisch, Alemanha), indústria e universidades precisam de voltar a discutir o assunto. O laboratório de Software Confiável (INESC TEC / U.Minho) desenvolve há anos trabalho nesta área, que estará em discussão proximamente no seu Open Day (8 de Setembro) no edifício sede do INESC TEC, no campus da FEUP.

Exame Informática, setembro de 2016

destaque.jpg
destaque.jpg
anuncio-site
anuncio-contactos

Contactos

HASLAB +351 22 209 4000