Projetos de Pesquisa

 

Foto de perfil

Alessandro Fabricio Garcia

Ciências Exatas e da Terra

Ciência da Computação
  • restaura - refatoramento sequencial: teoria e apoio automatizado
  • Refatoramento é uma prática adotada por empresas de desenvolvimento para melhorar a qualidade estrutural de seus programas, além de garantir a longevidade de programas. Logo, empresas como Google, IBM e Microsoft têm explorado esta prática com objetivo de reduzir custos de manutenção. Entretanto, identificar quando é necessário refatorar o código e como aplicar o refatoramento são tarefas não triviais. Estudos evidenciam diversos efeitos indesejáveis ocasionados por refatoramentos equivocados, tais como a aceleração da degradação do programa. Portanto, desenvolvedores precisam de suporte não somente para identificar quando se refatorar, mas também para aplicar os refatoramentos. Para se identificar oportunidades de refatomentos, desenvolvedores podem utilizar os sintomas de degradação estrutural. Uma vez identificadas, eles precisam de suporte para refatorá-los a fim de minimizar ou remover esses sintomas. Pois, infelizmente, há evidência de que desenvolvedores refatoram código indisciplinadamente ou equivocadamente, o que pode aumentar a degradação estrutural. Consequentemente, eles se sentem desencorajados a refatorar. Para piorar a situação, eles precisam aplicar vários refatoramentos sequenciais, isto é, uma sequência de refatoramentos aplicados no mesmo elemento de código. Estudos relatam que o desenvolvedor pode refatorar o código de forma incompleta quando este requer um refatoramento sequencial para mitigar ou remover a degradação completamente. Entretanto, alguns refatoramentos são inviáveis de serem aplicados, prejudiciais à qualidade do programa ou insuficientes para garantir a melhoria da sua estrutura. Infelizmente, a literatura técnica não provê conhecimento e nem suporte à esta prática em escala industrial. De fato, pouco se sabe sobre como caracterizar um refatoramento sequencial, como ele ocorre na prática e quais os seus impactos para a qualidade estrutural. Em suma, essas e outras limitações da literatura vêm impedindo pesquisadores de prover suporte para os desenvolvedores aplicarem refatoramento sequencial. Esse cenário nos motivou a investigar como apoiar o desenvolvedor na prática de refatoramento sequencial. Para isso, o projeto ReSTaurA (Refatoramento Sequencial: Teoria e Suporte Automatizado) objetiva : (i) prover um arcabouço conceitual para refatoramentos sequenciais e conceitos relacionados; (ii) desenvolver uma teoria que explique como desenvolvedores realizam refatoramentos sequenciais na prática; (iii) propor heurísticas para identificação automatizada de refatoramentos sequencias existentes e um programa; (iv) avaliar o impacto em qualidade de refatoramentos sequenciais; (v) avaliar e classificar os refatoramentos sequenciais como positivos ou negativos com base no seu impacto em sintomas de degradação estrutural e (vi) propor um sistema de recomendação para a realização de refatoramentos sequenciais. Através dos resultados e, em particular, do uso do sistema recomendador proposto, os desenvolvedores poderão realizar refatoramentos sequenciais utilizando as novas abordagens propostas, melhorando a qualidade de seus programas. Ao manter a pesquisa alinhada com as necessidades da indústria, os resultados devem ser úteis e aplicáveis para empresas brasileiras adotarem tais técnicas no desenvolvimento e manutenção de novos sistemas de software, bem como na evolução de sistemas existentes. Espera-se ainda a publicações de artigos científicos em conferências e periódicos relevantes na área de Engenharia de Software. Adicionalmente, durante o projeto, os membros do projeto estarão envolvidos em parcerias industriais internacionais como Amazon, Microsoft e Google, além de nacionais como Instituto Tecgraf, Petrobras, Minds at Work, IBM, NTI/UFAL, Clip-Meyer, GM5, SEFAZ/AM e FPF, propiciando oportunidades de transferência de conhecimento e tecnologia. A equipe também conta com parceiros acadêmicos nacionais (UFCG, UFAL e UFAM) e internacionais (UCLA e UCI).
  • Pontifícia Universidade Católica do Rio de Janeiro - RJ - Brasil
  • 18/02/2019-28/02/2023
Foto de perfil

Alessandro Jatobá

Engenharias

Engenharia de Produção
  • tecnologias digitais para o fortalecimento das ações educativas de promoção da saúde e sustentabilidade
  • A promoção da saúde aparece no cenário da Atenção Primária pelas ações sobre os condicionantes e determinantes sociais da saúde, por meio de ações de educação para a saúde em espaços que extrapolam ambientes típicos de saúde, chegando às residências e escolas públicas. É nesse contexto que se situa o Programa Saúde na Escola (PSE), resultado de uma parceria entre os Ministérios da Saúde e Educação, com o objetivo de promover a saúde por meio da articulação de ações de saúde e educação, aproveitando o espaço escolar e seus recursos. O PSE deve fortalecer o enfrentamento de vulnerabilidades contribuindo para a formação integral dos estudantes da rede básica. Dessa forma, este projeto propõe a elaboração de um arcabouço tecnológico baseado em ferramentas educacionais digitais elaboradas por meio de estudos exploratórios de natureza qualitativa que abordem as ações de promoção da saúde realizadas no âmbito do PSE em escolas localizadas em comunidades do Estado do Rio de Janeiro. Assim, a presente proposta apresenta contribuições para a melhoria das condições de saúde das comunidades mais carentes do Estado do Rio de Janeiro.
  • Fundação Oswaldo Cruz - RJ - Brasil
  • 03/02/2022-28/02/2025