Artigo de Alessandro Garcia é premiado em congresso de software

Trio de pesquisadores recebeu segunda colocação com trabalho sobre boas práticas em linhas de produtos

O professor Alessandro Garcia (esq.), o aluno Anderson Uchôa e o pós-doutorando Wesley Assunção. Foto: Arquivo pessoal

O professor do Departamento de Informática (DI) Alessandro Garcia trouxe para a computação da PUC-Rio mais um destaque em produção científica. O pesquisador, junto ao pós-doutorando Wesley Assunção e o aluno Anderson Uchôa, receberam a segunda colocação entre os melhores artigos do Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software (SBCARS).

O artigo “Do critical components smell bad? An empirical study with component-based software product lines” explorou os cuidados que programadores de linhas de produto devem ter no desenvolvimento e na qualidade de componentes críticos. De acordo com os pesquisadores, uma linha de produto de software é difícil de manter, uma vez que softwares são capazes de gerar muitos programas. O estudo realizado pelo trio investigou até que ponto os componentes críticos de três softwares gerados apresentam problemas de manutenção.

De acordo com Garcia, o prêmio é um reconhecimento do trabalho dos pesquisadores em uma fronteira ainda pouco estudada da informática. “A premiação veio coroar um trabalho que é um dos primeiros a investigar problemas recorrentes de manutenibilidade em componentes críticos de linhas de produtos de software. Muitos sistemas de software importantes no mundo, tais como editores de texto, aplicativos móveis e sistemas operacionais, são construídos na forma de linhas de produtos de software. Desenvolvedores destes sistemas podem se beneficiar diretamente das orientações derivadas do estudo que realizamos”, declarou.

 

Professor do DI comenta as inovações por trás do Google

Foto: Unsplash

Aniversário da ferramenta de buscas marcou 23 de anos revoluções na computação

Nesta semana, a ferramenta de pesquisa mais popular do mundo celebrou seu aniversário de 23 anos. Das tradicionais buscas casuais até investimentos em carros autônomos, a Google, uma das maiores empresas de tecnologia da história, ajudou a redefinir o rumo da tecnologia como a conhecemos, e até hoje as inovações da empresa seguem transformando o mundo da computação.

Uma das principais mudanças de paradigma proporcionadas pela Google foi a criação do mecanismo capaz de indicar a usuários que faziam buscas na internet os links com mais relevância sobre o tema que procuravam. Isso aconteceu no fim dos anos 1990, quando, à procura de uma forma mais fácil de fazer buscas em uma internet cada vez mais abarrotada e dominada por sites como o Yahoo e, no Brasil, o Cadê, a dupla de cientistas Larry Page e Sergey Brin desenvolveu essa metodologia.

“A ideia deles era de que não bastava indexar as páginas. Também era importante mostrar o que é mais interessante. Eles criaram uma metodologia chamada page rank. A página que é mais interessante provavelmente tem mais referências. Então, se tem uma página que é, de fato, mais importante, quer dizer que várias páginas estarão apontadas pra ela. Ele faz ali uma ordenação para achar o que é mais relevante para a sua busca e aparecer primeiro”, explicou o professor do Departamento de Informática (DI) Augusto Baffa.

A partir do sucesso da ferramenta de pesquisa, a Google partiu para outras iniciativas no ramo da tecnologia. A cultura interna da empresa incentiva usuários a criar projetos próprios que possam ser integrados ao leque de produtos da Google. Um exemplo é a rede social Orkut, uma das páginas mais visitadas do Brasil entre os anos de 2007 e 2008, criada por um programador como uma pesquisa pessoal durante sua passagem pela gigante de tecnologia.

Baffa explica que a diversidade em investimentos foi essencial para o futuro da empresa. “A Google, a partir de 2002, começou a patrocinar internamente as pesquisas. O Gmail começou como o primeiro bom e-mail de graça. Ele lia e-mails e indicava as melhores propagandas. O Google foi para um outro lado que era o de localizar dados de maneira geral. Não só dados de sites, mas de propagandas na internet, através de profilamento de usuários. Por volta de 2007, com o lançamento do iPhone, eles criaram o Android”.

O professor aponta também que um dos diferenciais da Google é sua capacidade de condensar em um único sistema uma série de serviços essenciais para a rotina. Seja no armazenamento de arquivos no Google Drive, nos e-mails pelo Gmail ou pelos trabalhos em texto no Google Docs. “A empresa atua muito nesse sentido, de organizar vidas. Tem um altruísmo. Quanto mais sabe, mais pode ajudar os usuários e dar uma resposta melhor ao que eles procuram”.

Ainda de acordo com Baffa, a Google foi crucial em uma série de inovações que tiveram grande impacto no mundo da informática. Sendo a primeira ferramenta a oferecer busca por imagens, a empresa também conta com assistentes que garantem ao usuário informações sobre filmes, resultados de partidas esportivas, quadro de medalhas durante as olimpíadas, além de dados sobre clima.

São revoluções que, na avaliação do professor do DI, estão longe de terminar. Em termos de contribuições para a computação, os próximos passos da plataforma podem ser inúmeros. Na última conferência Google I/O, onde a empresa apresenta suas novas visões para o futuro, os desenvolvedores introduziram os projetos da marca em avançar ainda mais a eficiência de assistentes virtuais. Agora, a gigante de tecnologia tem se voltado para a possibilidade de, no futuro, os usuários serem capazes de dar um briefing de tarefas para serem executados pela Google.

Um exemplo seria realizar uma reserva em um restaurante. Em alguns anos, a tecnologia desenvolvida pela empresa pode ser capaz de receber comandos do usuário, ligar para o restaurante, compreender o que é falado pelo atendente e manter uma conversa de forma totalmente automatizada. Ficção ou não, é mais um indicador de que a jovem empresa ainda deve mexer bastante com o mundo da computação.

Garcia faz paralelo entre redesenho de software e desafios na academia

Professor do DI fez a live da pós-graduação na terça-feira (21)

Professor Alessandro Garcia

A saúde mental tem sido bastante discutida em tempos de pandemia, mas pouco falada entre quem faz pesquisa acadêmica. Na terça-feira (21), ao apresentar o seminário virtual “Redesenho de Software: Favorecendo a Intuição do Engenheiro de Software”, o professor Alessandro Garcia fez esse alerta e traçou uma comparação entre dificuldades encontradas por pesquisadores e engenheiros de software que diariamente trabalham no redesign de sistemas, seu tema de pesquisa. Garcia ressaltou como essas dificuldades podem ser melhor contornadas quando o papel da intuição nos processos de pesquisa e de desenvolvimento de software é valorizado.

A apresentação, que faz parte das lives quinzenais da pós-graduação do Departamento de Informática (DI), foi mediada pelo coordenador da pós, o professor Marcos Kalinowski e focou nas aplicações de redesenho de software. Após fazer uma análise científica do tema, Garcia destacou que a constante revisão e a busca por melhorias no desenho do software são importantes para garantir a qualidade no funcionamento e manutenção de um sistema. Para isso, é essencial a presença da figura do engenheiro, que deve se apoiar em soluções computacionais que efetivamente gerem insights sobre quais e como elementos em um software devem ser redesenhados.

“O desenvolvedor não trabalha só com o código-fonte e outros documentos do software. Ao longo do processo, o engenheiro vai trabalhando sobre o problema e a solução de software a partir de ferramentas que instigam seus sistemas racional e intuitivo”, disse Garcia.

Segundo ele, muitas ferramentas disponíveis ao engenheiro de Software ainda são concebidas para apoiar o raciocínio lógico, mas pouco se sabe quanto essas tecnologias promovem intuições positivas. Alguns exemplos disso são a redução do esforço de racionalização e a melhora da qualidade dos sistemas que as ferramentas constroem. Por conta do dinamismo do processo de criação de um software, as ferramentas de desenvolvimento deveriam melhor apoiar o desenvolvedor ao longo das tarefas que requerem uso contínuo e harmônico dos sistemas intuitivo e racional do engenheiro.

Ao encaminhar a conversa virtual para o lado pessoal, Garcia destacou que o mundo da pesquisa acadêmica não envolve só conquistas. As dificuldades na condução de trabalhos e os erros persistentes encontrados no caminho rumo às inovações podem, alertou, trazer consequências sérias para a saúde mental dos pesquisadores. Em sua experiência pessoal, a intuição foi chave para superar tais dificuldades, assim como um engenheiro de software também depende rotineiramente dela para alcançar êxito em suas tarefas.

“O domínio dos pensamentos negativos relacionados às minhas pesquisas começou a me paralisar, impactando meu lado físico, com problemas de coluna, estômago, intestino e insônia. Estes problemas físicos estavam claramente relacionados a um quadro de depressão, algo difícil de admitir para si mesmo. Eu estou falando isso porque a gente sabe que muitos pesquisadores passam por isso e, talvez, possam se identificar com o meu caso. Meu sistema racional ‘parou de funcionar’. Se apegue a intuição nesses momentos. É importante você dar ouvido a ela e se agarrar nisso. É, muitas vezes, a solução que resta”, completou.

Garcia também ressaltou a importância da parceria com outros professores do Departamento não só no aspecto científico, mas como apoio social e moral nos momentos mais difíceis. E contou que usou, ao fim do processo, a oportunidade para comparar suas dificuldades com o próprio redesenho de software e suas pesquisas sobre o assunto. Ele listou, a partir das suas experiências ao longo de vinte anos trabalhando no tema, cinco deficiências que assolam as soluções computacionais de apoio ao engenheiro nas atividades de redesenho de software.

A live está disponível no YouTube do DI (youtube.com/dipucrio). Para não perder os próximos encontros, inscreva-se no canal e ative as notificações!

Estreia da parceria Conexão Rio-Campinas debate o futuro da IA

Professores debateram os desafios de criar sistemas computacionais inteligentes em múltiplas áreas

Ao contrário do que mostram filmes e séries de ficção científica, a ideia de uma Inteligência Artificial (IA) geral, capaz de ter consciência e dominar humanos, ainda está muito distante. Ainda assim, grupos de pesquisa nas universdades e em muitas empresas de alta tecnologia em todo o mundo têm se dedicado a desenvolver métodos de aprendizado e raciocínio artificial, modelos cognitivos e algoritmos que permitam que sistemas inteligentes tenham menos vieses, funcionem de forma mais precisa, mais confiável e mais segura contra possiveis ataques pela rede.

Essas foram algumas das principais reflexões que surgiram durante o rico e animado debate inaugural da Conexão Rio-Campinas, uma parceria entre o Departamento de Informática (DI) da PUC-Rio e o Instituto de Computação (IC) da Universidade de Campinas (Unicamp). O debate reuniu os professores do DI, Bruno Feijó e Jônatas Wehrmann, e os professores Anderson Rocha e Esther Colombini, do IC/Unicamp.

Jônatas Wehrmann explicou o conceito da Inteligência Artificial Geral (Artificial General Intelligence) e da IA Específica, ou estreita (Artificial Narrow Intelligence). Enquanto esta segunda aprende e realiza funções a tarefas muito específicas – geralmente até melhor e mais rápido do que nós humanos – e já é empregada nos mais diversos setores da economia, mercado financeiro, indústria de seguros, medicina, segurança, entretenimento e jogos online, a IA geral tem a meta de ser mais ampla e interdisciplinar, de ser capaz de raciocinar em vários níveis de abstração, de fazer associações cruzadas, de mostrar criatividade e ter consciencia de sua própria existência e vontade.

“Quando falamos em IA mais geral, estamos falando de habilidades cognitivas de muito mais alto nível. Consciência, entender as consequências de ações e outras habilidades cognitivas como empatia e capacidade de reconhecimento emocional. Estamos falando de capacidades de adaptação muito superiores à capacidade de resolver uma única tarefa”, explicou.

A professora Esther Colombini destacou o enorme trabalho de desenvolvimento (programação e aprendizado) que um simples sistema de IA “encorpado” demanda para ser desenvolvido. “Qualquer um que trabalha com robôs sabe a dificuldade que é fazê-los andar em diferentes ambientes, a complexidade disso. Somos a única espécie que demora um ano para andar, de tão complicado que é esse mecanismo. E também há o problema da bateria: se formos dominados, será por vinte minutos.”

Discutindo os desafios de pesquisa atuais que os pesquisadores da área ainda enfrentam, o professor Bruno Feijó, destacou que a Inteligência Artificial em sua fase atual de desenvolvimento já é capaz de gerar grandes impactos para os usuários. “Os sistemas de IA cada vez melhores, mesmo só em uma tarefa específica, podem vir a causar sérios problemas ao indivíduo e à sociendade, muito antes de atingirmos uma inteligência artificial geral. Neste momento, urge uma reforma no ensino para que todos apendam a desenvolver sistemas de IA mais robustos, confiáveis, isentos e com segurança. A gente fala pouco do problema de corrigibilidade desses sistemas, por exemplo”, explicou.

Mesmo ainda distante de ser capaz de adquirir consciência ou capacidade de emular sentimentos, a IA, através dos desencolvimentos algoritmicos recentes, já exibe avanços importantes, sobretudo em termos da interpretação e produção de sentenças (textual e voz) e de imagens. Mas o professor Anderson Rocha, do IC Unicamp, lembra que, apesar dessas inovações, a IA ainda tem atuação restrita. “A IA não consegue replicar um texto do Guimarães Rosa. Ela não tem essa criatividade. Acho que geração de manuais seria ok, não tem sentimentos. Mas livros de literatura talvez demore alguns anos”.

Você pode conferir esse bate-papo no canal do YouTube do DI (youtube.com/dipucrio). Para não perder outros encontros desse projeto, se inscreva no canal e ative as notificações.

Ex-aluno fala sobre oportunidades em Open Source em bate-papo

Pedro Tammela discutiu as características de código aberto e o mercado de trabalho na área

Pedro Tammela. Foto: Arquivo Pessoal

Colaboração, novas tecnologias em código aberto e as vantagens de uma formação pelo Departamento de Informática (DI). Esses foram alguns dos assuntos discutidos no seminário de graduação do DI realizado na quinta-feira (16) no canal do DI no YouTube. A professora Noemi Rodriguez, ao lado do ex-aluno de Ciência da Computação Pedro Tammela, comandou um bate-papo leve que misturou conhecimento acadêmico, visões para o futuro e a nova realidade do trabalho remoto.

Formado em 2019 e com experiência no atual cenário do mercado de trabalho em Softwares Open Source, Tammela teve passagens em empresas com sedes em diferentes países, como Alemanha e Canadá, trabalhando remotamente. Foi através das pesquisas do Departamento que o ex-aluno teve sua primeira exposição à área que se tornaria o norte da sua carreira.

“Quando eu entrei na faculdade eu sabia muito pouco. Fiz um projeto de pesquisa no LabLua e, logo depois, meu mentor desse projeto me convidou para fazer um estágio que coincidentemente usava muito Open Source. Foi aí que eu tive meu primeiro contato com código aberto”, disse.

A linguagem Lua, desenvolvida inteiramente no DI e estudada no laboratório LabLua, foi concebida em Open Source e modernizada a partir de feedbacks de usuários mundo afora. O ex-aluno explicou, no seminário, que códigos abertos são aqueles onde um usuário pode baixar, modificar e transformar. Uma dinâmica colaborativa e sem as limitações impostas por códigos fechados, que não permitem a sua modificação.

“Não existem desvantagens no Open Source, pelo simples fato de um código aberto ser muito robusto, principalmente se for usado por outras pessoas. É um software que funciona independente do seu setup. As opções Open Source geralmente são muito melhores que as opções proprietárias. Tem pessoas muito boas trabalhando nesses projetos”, argumentou.

Paralelo ao seu aprendizado no DI, Tammela compartilhou experiência que obteve no Google Summer of Code (Gsoc), uma iniciativa da gigante em tecnologia que busca juntar alunos de graduação, mestrado e doutorado em equipes para desenvolvimento de projetos em código aberto. Estudantes recebem um incentivo financeiro e são orientados por um mentor de empresas selecionadas para resolver desafios reais no desenvolvimento de software.

“Falando para os alunos da graduação e pós, acho que o primeiro passo para entrar no mundo do Open Source certamente é o Gsoc. É uma oportunidade muito boa e agrega muito, não só no currículo, mas no networking. Você conhece muitas pessoas”, contou Tammela.

A partir dessas experiências, o ex-aluno reforçou como o futuro da informática está ligado ao mundo dos códigos abertos. Segundo ele, a colaboração entre pessoas ao redor do mundo para tornar softwares mais robustos, reportar bugs e criar funções mais eficientes para essas tecnologias é o que faz do Open Source uma opção cada vez mais implementada, ao invés de códigos fechados.

Tammela também contou um pouco da sua trajetória aos interessados em seguir uma carreira na computação. No segundo ano do ensino médio, ele participou de um curso de programação do PIUES (Programa de Integração Universidade, Escola e Sociedade), uma iniciativa da PUC que oferece aos estudantes a oportunidade de cursar matérias universitárias.

“Eu não via a hora de entrar na faculdade e aprender aquilo mais a fundo. A minha decisão pela Ciência da Computação foi a mais fácil da minha vida. Ela cresceu em mim conforme eu fui crescendo. Eu sempre quis entender muito como os computadores funcionam. Essa curiosidade foi o que me fez escolher o curso. Eu achei o currículo muito rico”.

Aos interessados em seguir uma carreira na informática, as inscrições para as graduações do DI estão abertas até domingo (19) no site da universidade.

Se você perdeu essa live, pode assisti-la no nosso canal no YouTube (youtube.com/dipucrio).