Software. A arte invisível que dá "vida" a quase tudo o que nos rodeia

Lisboa e o Centro cultural de Belém acolhem, a partir deste sábado e durante uma semana, mais de 1.500 programadores na 46ª edição da International Conference on Software Engineering - ICSE2024. Um evento de elevada importância, a nível mundial, na área da Engenharia de Software, onde os "gurus" das novas tecnologias e programação vão debater temas emergentes como a Inteligência Artificial, segurança informática ou cibercrime, entre outros. Mas porquê falar de software? Porque está a ser cada vez mais "inteligente" e o mundo já não vive sem ele.

O software é, no essencial, uma linguagem, como muitas existentes no planeta, estranha para quem não a domina, criada para dar vida à tecnologia que nos rodeia. Uma combinação gráfica, considerada já como “arte”, mas que pode também esconder alguns perigos, num mundo cada vez mais dependente da tecnologia e da computação.


A RTP esteve à conversa com Rui Maranhão, co-presidente e organizador deste evento mundial, na área da Engenharia de Software [ISCE2024], para ajudar a descodificar o que é o mundo do software, que praticamente todos usamos, mas poucos sabem o que é e como realmente funciona.

Podemos confiar na inteligência artificial?
RM – “Eu acho que isto também tem muito a ver com aquilo que vemos nos filmes e nos cenários apocalípticos que as máquinas viraram se contra nós. É natural que se uma máquina conseguir produzir código…
RTP - E é possível?
RM - Neste momento, ainda não. Neste momento eu acho que a máquina não consegue, não consegue subsistir de uma forma totalmente independente.”




O software essencialmente é uma receita

De acordo com os dados provenientes do CIA World Factbook, em conjunto com fontes nacionais oficiais, 13,3 por cento da população mundial ainda é analfabeta. Um valor “preocupante” se relacionar-mos este fator à iliteracia educacional e de preservação humana.

Mas se olharmos para o outro lado da “moeda”, a grande maioria está capacitada para decifrar e compreender as linguagens que nos rodeia. Será que é mesmo assim?

Procurámos junto de Rui Maranhão, professor catedrático da Faculdade de Engenharia da Universidade do Porto, a resposta e esta e a muitas outras perguntas que consistem esta temática.

RTP: Software é uma palavra que muitos estão habituados a ouvir, mas por detrás da palavra esconde-se um mundo complexo.

Rui Maranhão: Exacto. A engenharia de software não é aquilo que o público em geral pensa ser, que é apenas, digamos, escrever o código. Há uma série de fases que pelas quais é preciso passar, para que o software seja robusto e não tenha erros. Fases que vão desde a análise de requisitos até aos testes e verifiação.

E são precisamente essas diversas fases que vão ser discutidas, durante esta semana, onde se pretende discutir os diversos pontos, as diversas tecnologias e os avanços tecnológicos que permitem que o software seja mais robusto, com maior qualidade e que no fim do dia, a população possa utilizar sem problemas.

Soluções para a população, mas que surgem de problemas cada vez mais desafiantes à engenharia de software, por isso a necessidade e a importância da existência de um congresso nesta área.

Esta conferência trata essencialmente dos tópicos atuais, o chamado estado da arte. Não tanto aquilo que já existe, mas mais como é que nós conseguimos evoluir para criar novos produtos e nesse sentido, é muito importante que aconteça, também.

Eu acho que é algo bastante interessante de referir e que é uma conferência que consegue atrair especialistas tanto da academia como da indústria. E portanto, esta, esta fusão dos dois mundos acaba por ser uma boa fusão e um bom centro de para discutir ideias. Porque no fundo o software essencialmente é uma receita.

A Inteligência Artificial veio para ajudar, mas tem de haver regras
Num mundo onde se fala cada vez mais na inteligência artificial é impossível não associar este tema a um estereótipo artificialmente superior onde a linguagem computacional é a base. Mas será a AI o vilão ou a solução para muitos dos problemas existentes neste campo tão exigente? Para o co-presidente desta conferência, Rui Maranhão, o copo para uns pode estar meio cheio, mas também meio vazio.

"O software controla tudo que faz parte da nossa vida. Se andarmos num carro hoje em dia metade das coisas de um carro será controlado por software. Num avião é a mesma coisa, vamos à indústria bancária, a mesma coisa. Portanto, nós precisamos, nos dias de hoje, de ter software que seja bastante robusto a tudo aquilo que possa interagir com o software".

"A minha opinião é que a inteligência artificial vai ajudar a que se consiga fazer software, que vai ser mais, então mais robusto, com maior qualidade. E isso vai fazer com que no final consigamos entregar software muito mais rapidamente, porque há uma série de passos que vão ser feitos de uma forma melhor".

"E como é melhor, não precisamos estar a revisitar esses pontos, porque não há falhas e portanto, isso faz com que sejamos mais produtivos no futuro".

Uma maior produção, com regras e de forma a possa ser controlado como todas as outras inovações ao longo da evolução humana, refere: “Vamo-nos adaptar a essas novas tecnologias, que estão aqui para mudar o mundo, (…) que não vejo como um perigo.

"Eu acho que em todas as ameaças há obviamente oportunidades e eu acho que aqui nós estamos ainda estamos a tentar perceber quais são as oportunidades. E eu prefiro ver como oportunidades e não tanto aquela visão mais, digamos, mais dantesca e que é o fim do mundo, e que os programadores já não vão ser precisos, porque eu acho que vão ser precisos”.

RTP: Podemos então confiar na inteligência artificial?

Rui Maranhão: Eu acho que isto também tem muito a ver com aquilo que vemos nos filmes e nos cenários apocalípticos que as máquinas viraram se contra nós. É natural que se uma máquina conseguir produzir código.

E é possível?

Neste momento, ainda não. Neste momento eu acho que a máquina não consegue, não consegue subsistir de uma forma totalmente independente.

Um chat que até dá jeito
Com a entrada em campo da Inteligência Artificial surgem programas de software que estão a revolucionar a forma como trabalhamos e usamos estas ferramentas. E entre os demais surgiu recentemente um programa informático que, neste momento, anda de boca em boca e é apregoado como algo “único” e até essencial, mais conhecido por Chat GPT. 

Mas como se autodefine este programa com base na inteligência artificial? Perguntamos ao próprio.


RTP: E se o Chat GPT aprende, compreende e gera texto, com criatividade e sendo o software também uma linguagem podemos ter aqui uma forma de evolução natural nesta área?

Rui Maranhão: É natural que exista e que venha a existir formas de conseguir através… e agora aqui uma forma muito hipotética, eu dou o meu problema na linguagem natural, ou seja, em português ou em inglês é o Chat GPT ou algo que seja parecido com o Chat GPT vai me dar o código, pelo menos o código base.

Porque, mais uma vez, eu não estou confiante que se consiga criar tudo, porque há sempre especificidades do domínio que é preciso depois ter o domain expert, o expert daquele problema concreto, que vai lá e que tem de ajustar algumas coisas. Mas sim, é possível ter, digamos, o que nós chamamos de engenharia software, o boilerplate code, que é aquele código que é igual em praticamente todos os projetos.

Portanto, o Chat GPT poderá, e pode vir a ajudar a isso.

Já começa a haver e a aparecer abordagens muito interessantes nesse sentido. Começa também a aparecer muitas abordagens muito interessantes e que vão ser discutidas na conferência de como testar, como gerar casos de teste. Mais uma vez, nós temos o software, queremos testá-lo.

Software buildings: os bons, os maus e os vilões
Somos cada vez mais dependentes da tecnologia e não estamos preocupados sobre como funciona. Usamos, e consumimos cada vez mais estes produtos, que nos oferecem verdadeiras facilidades e diversão no nosso dia-a-dia, mas nunca nos interrogamos como é feita e quem a faz.

E o que são estes software buildings e como os podemos classificar?

Para o professor catedrático da Faculdade de Engenharia da Universidade do Porto Rui Maranhão, estes construtores de linguagem informática podem mesmo ser vistos como produtores uma nova arte que facilita a comunicação entre os homens e as máquinas.

“O software, na verdade, é algo que requer criatividade. Obviamente que ninguém vai ler o software como se fosse um romance, mas está ali algo de belo. Há até um grupo de investigadores suecos, que vão cá estar em Lisboa, e que estão a tentar fazer um mapeamento do software para a arte. É um projeto muito interessante da universidade KTH sueca, em Estocolmo, e portanto, o que eles estão a tentar fazer é precisamente mostrar ao público em geral que há beleza no software, que não é propriamente fácil, porque lá está, no final do dia aquilo não é um zero, mas é texto. Um texto meio corrido, um texto meio matemático e portanto, com este mapeamento querem possibilitar a qualquer pessoa que olhe para aquilo – software - e diga: isto foi uma grande beleza".

"E na minha opinião é algo que exige criatividade, estamos a criar algo, a tentar fazer algo que não existia e portanto, nesse sentido, eu acho que é algo bastante interessante e bastante bonito. E como exige criatividade, torna-nos então artistas".
Uma arte que pode ser usada para o crime
Infelizmente, nem todos usamos a capacidade da arte mental humana para produzir em prol do bem comum e alguns aproveitam-se destas capacidades, tirando partido das novas ferramentas para proveito próprio e menos legal, como o cibercrime.

RTP: Dar e conhecer e estudar as potencialidades do software não será também uma oportunidade para explorar as fragilidades do sistema?

Rui Maranhão: Obviamente que nós estamos a divulgar ciência, que é mesmo o estado da arte. E muitas vezes pode ser utilizada contra nós próprios. O que nós tentamos fazer naturalmente é ter mecanismos éticos e que o pessoal, enfim, não utilize aquilo para benefício próprio, digamos assim. Mas é, mas é um tema bastante complexo, vai ser bastante discutido também. Não só como é que nós conseguimos detetar, mas também mitigar muitos destes destes problemas.

E será a geração de criptomoedas, através do software, um crime?

Nós na Engenharia Software, vemos isso como uma abstração. A tecnologia que permite que o blockchain – criptomoedas – funcione. É uma tecnologia muito interessante, até de uma perspetiva que não está nada relacionada com moedas ou com o sistema monetário. Portanto, é uma tecnologia que permite computação distribuída sem termos um ponto central. Isso é algo apetecível, porque de repente nós podemos fazer transações sem termos um Banco de Portugal ou a Fed, ou seja o que for.

E se para muitos o futuro se construi hoje, mais do que falar do que já existe, esta conferência vai servir para debater o que pode ser o mundo da computação, diz o professor Rui Maranhão: “Eu acho que com o aumento do poder de computação, nós também podemos criar algoritmos que nos permitam então perceber e ajudar a perceber uma série de uma série de problemas de sequências, sequenciação do DNA, etc".

"Estamos a seguir um caminho em que o poder de computação quase que nos permite perceber e ter modelos para cada um de nós, que funcionam, apenas para nós, porque foram treinados, foram concebidos e são capazes de nos perceberem e de nos ajudarem".

"Eu acho que nós não vamos ser totalmente robotizados, mas a computação vai ajudar-nos a tornar o nosso mundo melhor, o nosso dia-a-dia melhor".

"E é para lá que eu espero, pelo menos, que a engenharia de software também caminhe nesta conferência e que agora se vai realizar em Portugal".

Lisboa sucede a Sydney, na Austrália, em 2023, na organização deste evento e será o centro do mundo da engenharia de software, durante uma semana, por onde irão passar algumas das maiores figuras mundiais da engenharia de software nas áreas da investigação e das empresas tecnológicas:

O objetivo é discutir a inovação, a ética, a confiabilidade nos sistemas de IA, bem como a inclusão e os desafios que a engenharia de software, com a IA no centro do debate, podem trazer no futuro.