Transparência: Desafios para a Engenharia de Software

Em palestra na pós-graduação do Departamento de Informática da PUC-Rio no dia 17/05/06, apresentei o tema “Transparência de Software”.

Comecei manifestando pesar e tristeza pelos eventos ocorridos em São Paulo. Difícil de entender, de aceitar e de conviver, mas os fatos são verdadeiros. Houve tantas mortes como em Carandiru (que ocorreu em 1992! –14 anos — o que aprendemos?).

Nesse contexto, relatei reportagem da Folha de São Paulo que mencionava o fato de que a solicitação dos repórteres sobre a lista dos mortos até o dia 17/5 não tinha sido fornecida (na nota “Em 12 horas, polícia mata 33 suspeitos em SP”). O órgão de impressa estava pedindo transparência.

Por outro lado, citei um artigo que tinha acabado de ler na Communications of the ACM (Vol. 49, N.1) sobre Neo-Tribes. No caso os pesquisadores mostravam como uma comunidade virtual na área de saúde pode dividir conhecimento para o bem comum. Ótimo exemplo de transparência.

Falei também de minha surpresa com a composição acionária da Petrobrás. Julgava que a companhia tinha a maior parte de seu capital em mãos de brasileiros, ou melhor, do governo brasileiro. No entanto, pude verificar no próprio portal da companhia que isso não é mais assim (vide progressão do capital de 1992 até 2005). Isso é outro exemplo de transparência.

Utilizei apenas três exemplos, mas são vários outros. Esses exemplos vão à direção do tema de minha palestra. A sociedade está e estará exigindo, cada vez mais, transparência nas decisões ou nos acontecimentos que dizem respeito aos seus cidadãos.

Claro que a privacidade e a segurança nacional ou patrimonial são também exigidas pela sociedade, e claro é que esses fatores interferem ou sofrem interferência quando também se deseja transparência.

Fiz, também, uma analogia com o processo de auditoria financeira e contábil nas empresas. Esse processo de auditoria é baseado na transparência das informações reunidas no balanço das empresas, e que por lei tem que ser pública. Essa exigência é importante para o funcionamento do sistema de mercado. Com base nessas informações, investidores e governo podem tomar decisões. No entanto, há pouco tempo o mundo veio a conhecer graves problemas nesse sistema. O caso Enron foi uma amostra de como agentes sem escrúpulos estavam burlando essa transparência, e o país onde isso ocorreu providenciou a promulgação de uma legislação mais atualizada e mais rigorosa. Essa legislação conhecida como SOX (Sarbanes-Oxley Act of 2002.) teve grande impacto, também nos sistemas de informação.

Até aqui estava falando de transparência de informações.

No entanto, na medida em que nossas vidas vão ser cada vez mais regidas por software (software no celular, software na televisão, software no carro, software no controle de câmeras de vigilância, software de controle de acesso, software no exame do imposto de renda, software no controle de nossos ativos financeiros, software no controle de nossos registros médicos, …) a sociedade vai também exigir transparência nos software que estamos usando e que estão afetando nossas vidas.

Veja por exemplo o caso de celulares. Será que o software que está embutido no aparelho tem controle sobre os níveis de radiação a que estamos expostos? Segundo pesquisa na rede, fale-se que o FCC (Estados Unidos) obriga a que os celulares daquele país tenham circuitos do tipo GPS, ou seja, possam emitir sua exata posição (na verdade o tema do artigo relaciona-se a outro tema (o bug do ano 2000)). Não seria interessante que o usuário soubesse como o software do celular (cliente e servidor) está tratando essa informação?

Sim, mas o que a engenharia de software tem a ver com isso?

De que maneira a engenharia de software deve atuar no sentido de tornar o software um processo mais transparente? Na verdade, o que estamos a delinear é uma oportunidade de pesquisa. Nossa premissa baseia-se em que, no futuro, a sociedade vai exigir transparência do software. Cabe, portanto, a comunidade de pesquisa adiantar-se e procurar estudar como tornar o software mais transparente para aqueles que o usam ou que são afetados por eles.

Vale a pena frisar que não estamos querendo que o usuário do software interaja com o software no nível de programação, portanto não estamos falando de programação de software. Estamos falando da descrição do que o software está fazendo, no nível de compreensão do usuário. Essa diferença é sutil, mas extremamente importante.

Em termos de oportunidade de pesquisa, podemos usar o 5W2H, para esclarecer um pouco mais ao que estamos referindo.

O que? – Estudo de meios para tornar o software mais transparente, isto é para quem o utiliza saiba o que o software faz.

Por quê? – Como pesquisadores, devemos estar adiante das necessidades futuras, portanto, nos cabe investigar meios que tornem possível com que o software seja transparente.

Onde? – Nos produtos e nos serviços que usam software. No entanto aqui fica um dos desafios: de que maneira tornar transparente software embarcado (no seu telefone, no seu carro, no seu dvd, no avião, …).

Quando? – Esta questão de contexto está ligada a anterior, quando e em que freqüência um software deve ser visível.

Quem? – No nosso contexto, creio que nos, engenheiros de software, temos de tomar a dianteira e estudar meios de tornar o software mais transparente. No entanto, certamente no futuro haverá órgãos reguladores que poderão participar na operacionalização dessa transparência.

Como? – Claro, aqui reside o desafio. Como fazer com que o software seja transparente. São vários os desafios, tanto sob o aspecto de visualização ou de interface como o de confiabilidade, de performance, entre outros. Aqui reside o cerne do problema, como levar adiante o conceito de software transparente.

Quanto custa? – Claro que a sociedade haverá de pagar um preço, já que isso não virá sem esforço extra. Esses aspectos serão importantes, mas creio que, a princípio, sejam coadjuvantes.

Já podemos pensar que há indícios de como isso poderia ser feito. Duvida? Então dê uma olhada no “Exibir Código-Fonte” disponível no seu navegador. Aqui está o embrião da transparência de software. Claro, muitos são os obstáculos, mas se o tema lhe parece desafiador então pense em juntar-se ao nosso time.

4 Respostas to “Transparência: Desafios para a Engenharia de Software”

  1. Um Exemplo de Transparência « Amazing Says:

    […] voadores não identificados (OVNI). Abre os arquivos e coloca-os na rede. É um grande exemplo de transparência, mas mais do que isso é acreditar que dividindo esse conhecimento, apesar da barreira da língua, […]

  2. Revista Digital de Biblioteconomia e Ciencia da Informação « Amazing Says:

    […] exemplo a ser aprendido diz respeito à atenção a transparência sobre o processo editorial (veja o fluxograma). Exemplo a ser […]

  3. Software Transparente « Amazing Says:

    […] Software Transparente Acabei de lembrar-me de um artigo extremamente importante e que certamente será base para avanços no objetivo de prover meios para tornar o software mais transparente. […]

  4. Aula 1 « Transparência de Software Says:

    […] também que notas publicadas em Amazing (Inglês, Português) e a palestra convidada do Simpósio Brasileiro de Engenharia de Software deixaram o tema mais […]

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s


%d blogueiros gostam disto: