Relatório de produção acadêmica da Universidade Federal de São Carlos (UFSCar) realizado em 21/11/2017

Fabiano Cutigi Ferrari

É Bacharel em Informática (2005) e Doutor em Ciências de Computação e Matemática Computacional (2010), ambos pelo Instituto de Ciências Matemáticas e de Computação da Universidade de São Paulo (ICMC/USP). Como parte de seu doutorado, realizou estágio de um ano na Universidade de Lancaster (Reino Unido). Atualmente é Professor Adjunto 3 na Universidade Federal de São Carlos (UFSCar - Brasil). Tem experiência na área de Ciência da Computação, com ênfase em Engenharia de Software, atuando principalmente nos seguintes temas: teste de software, programação orientada a objetos, programação orientada a aspectos, teste de mutação, sistemas adaptativos, revisão sistemática da literatura e gestão do conhecimento. (Texto informado pelo autor)

  • http://lattes.cnpq.br/3154345471250570 (17/10/2017)
  • Rótulo/Grupo:
  • Bolsa CNPq: Nível 2 (***
  • Período de análise: 2011-2017
  • Endereço: Universidade Federal de São Carlos, Centro de Ciências Exatas e de Tecnologia, Departamento de Computação. Rodovia Washington Luis km 235 Jardim Guanabara 13565905 - São Carlos, SP - Brasil - Caixa-postal: 668 Telefone: (16) 33518232 Fax: (16) 33518233 URL da Homepage: http://www.dc.ufscar.br
  • Grande área: Ciências Exatas e da Terra
  • Área: Ciência da Computação
  • Citações: Google Acadêmico

Produção bibliográfica

Produção técnica

Produção artística

Orientações em andamento

Supervisões e orientações concluídas

Projetos de pesquisa

Prêmios e títulos

Participação em eventos

Organização de eventos

Lista de colaborações


Produção bibliográfica

Produção técnica

Produção artística

Orientações em andamento

Supervisões e orientações concluídas

Projetos de pesquisa

  • Total de projetos de pesquisa (3)
    1. 2017-Atual. Uma Abordagem apoiada por Testes para Modernizacao Arquitetural de Sistemas Adaptativos
      Descrição: Sistemas adaptativos (SAs) alteram seu comportamento em decorrência de mudanças de contexto ou variações no ambiente operacional. Sua arquitetura envolve loops de controle, cujo objetivo é monitorar o sistema, analisar o comportamento atual, planejar adaptaçções e aplicá-las. Os principais conceitos dos loops de controle são os monitores, analisadores, planejadores e executores. Geralmente SAs são projetados sem levar em conta os loops, fazendo com que o código-fonte que os implementa torne-se misturado com outros módulos, dificultando manutenções que envolvem esses conceitos. Uma alternativa aparente é a aplicação de refatorações tradicionais para remodularizar os loops, entretanto esse tipo de refatoração não leva em conta o tipo da aplicação, comprometendo a produtividade da equipe. Já refatorações especiais de SAs destinadas a modularização dos loops são escassas. Um outro problema é que refatorações são geralmente implementadas com base em modelos proprietários, dificultando a interoperabilidade entre ferramentas de modernização. A Modernização Orientada a Arquitetura (ADM/OMG) é uma proposta de reestruturação de sistemas com base em um metamodelo ISO chamado KDM (Knowledge Discovery Metamodel). O emprego desse metamodelo faz com que algoritmos de refatoração tornem-se independentes de soluções proprietárias, promovendo o reúso. O objetivo neste projeto é desenvolver uma abordagem de modernização arquitetural de SAs com enfoque na modularização dos loops de controle. Um enfoque grande da abordagem será a aplicação de testes para averiguar se o comportamento e o desempenho do sistema não foram alterados após as refatorações. As avaliações terão como objetivo i) averiguar o suporte fornecido pela abordagem na produtividade das equipes; ii) analisar se as versões refatoradas apresentam melhores níveis de manutenção do que as anteriores e iii) se os algoritmos desenvolvidos possuem alto nível de reusabilidade.. Situação: Em andamento; Natureza: Pesquisa. Integrantes: Fabiano Cutigi Ferrari - Integrante / Valter Vieira de Camargo - Coordenador / Ricardo Menotti - Integrante / Guilherme Horta Travassos - Integrante / Mario Piattini Velthuis - Integrante / Ignacio García Rodríguez de Guzmán - Integrante.
      Membro: Fabiano Cutigi Ferrari.
    2. 2014-2016. Evolucao e Avaliacao de Tecnicas de Teste e de Busca de Codigo-Fonte no Desenvolvimento de Software Contemporaneo
      Descrição: As técnicas contemporâneas de desenvolvimento como a Programação Orientada a Objetos (POO) e a Programação Orientada a Aspectos (POA) trazem diversos benefícios ao desenvolvimento de software, como código mais coeso, menos acoplado e mais legível. Entretanto, essas mesmas técnicas podem apresentar obstáculos, como novos tipos de defeitos que não ocorriam com o uso das técnicas anteriores. Além disso, mesmo que as técnicas apresentem benefícios ao desenvolvimento de software, ainda existem maneiras de fazer com que se obtenha maior confiança no código implementado, ou que o mesmo seja produzido com menor custo. No que diz respeito ao aumento da qualidade, recentemente foi introduzida uma nova família de critérios de teste estrutural - chamada de cobertura de arestas multi-ponto -, que generaliza a cobertura de arestas tradicional para a cobertura de tuplas de arestas obtidas na sequência de execução de um programa. Estudos iniciais indicam que os critérios são efetivos e inclusive comparáveis aos critérios de fluxo de dados, tidos anteriormente como entre os mais efetivos (apesar de bastante custosos). Essa família de critérios ainda não foi explorada no contexto de POA, o que abre um novo caminho de pesquisa importante, já que os programas OA também contêm condicionais. No que diz respeito à diminuição de custos de desenvolvimento, recentemente o grupo de pesquisa do proponente desenvolveu um protótipo que implementa a correção automática de programas utilizando busca de código em repositórios de código aberto. A ideia básica é procurar código similar a trechos defeituosos do programa - detectados via casos de teste -, e substituí-los por implementações corretas encontradas nesses repositórios. Apesar da ferramenta apresentar evidências de ser efetiva, ainda existem diversas maneiras de estendê-la e avaliá-la. Outra técnica proposta pelo grupo e que ainda não foi avaliada adequadamente é a expansão de query automática utilizando tesauros. O objetivo deste projeto de pesquisa é evoluir e avaliar as técnicas de teste e de busca de código-fonte nesses e em outros pontos relacionados para a melhoria do desenvolvimento de software contemporâneo.. Situação: Concluído; Natureza: Pesquisa. Integrantes: Fabiano Cutigi Ferrari - Integrante / Lemos, Otavio Auguste Lazzarini - Coordenador.
      Membro: Fabiano Cutigi Ferrari.
    3. 2013-2016. Avaliacao Experimental da Testabilidade de Programas Orientados a Aspectos
      Descrição: Na última década, a Programação Orientada a Aspectos (POA) recebeu especial atenção da comunidade de pesquisa em Engenharia de Software. Para lidar com os conceitos e propriedades subjacentes da POA e garantir a qualidade dos produtos gerados, ou seja, dos programas orientados a aspectos~(OA), diversas abordagens de teste de software e tecnologias de apoio foram propostas. Em geral, essas abordagens são baseadas em técnicas de teste largamente exploradas como, por exemplo, o teste estrutural e o teste baseado em defeitos. Entretanto, há poucas evidências sobre os reais desafios impostos pela POA à atividade de teste; em geral, a caracterização das dificuldades para se testar programas OA é feita de forma teórica, com base nos conceitos introduzidos por esse novo paradigma de programação. Além disso, observa-se uma clara limitação em relação à avaliação experimental das abordagens propostas para o teste desse tipo de software. Em vista dessas limitações, o presente projeto de pesquisa tem como objetivo investigar, sob o ponto de vista empírico, a adequação de conjuntos de testes em dois diferentes contextos: inter- e intra-paradigma de programação. No primeiro contexto, busca-se confirmar ou refutar a hipótese de que testar programas OA é mais difícil do que testar programas desenvolvidos em outros paradigmas. No segundo contexto, objetiva-se investigar as propriedades complementares de critérios de seleção de casos de teste aplicados em programas OA. Para atingir os objetivos propostos, uma série de estudos experimentais serão conduzidos como forma de gerar evidências que permitam o delineamento de respostas aos problemas investigados. Chamada: Universal 14/2013 (Processo 485235/2013-7). Situação: Concluído; Natureza: Pesquisa. Alunos envolvidos: Mestrado acadêmico: (2) . Integrantes: Fabiano Cutigi Ferrari - Coordenador / Otávio Augusto Lazzarini Lemos - Integrante / Thiago Gaspar Levin - Integrante / Jesus Thiago Sousa Lacerda - Integrante. Financiador(es): Conselho Nacional de Desenvolvimento Científico e Tecnológico - Auxílio financeiro.
      Membro: Fabiano Cutigi Ferrari.

Prêmios e títulos

  • Total de prêmios e títulos (2)
    1. Melhor Artigo do 8th Brazilian Workshop on Systematic and Automated Software Testing (SAST), Sociedade Brasileira de Computação.. 2014.
      Membro: Fabiano Cutigi Ferrari.
    2. Terceiro Melhor Artigo do XXVII Simpósio Brasileiro de Engenharia de Software, Sociedade Brasileira de Computação... 2013.
      Membro: Fabiano Cutigi Ferrari.

Participação em eventos

  • Total de participação em eventos (19)
    1. I Brazilian Symposium on Systematic and Automated Software Testing (SAST).Characterisation of Challenges for Testing of Adaptive Systems. 2016. (Simpósio).
    2. VII Congresso Brasileiro de Software: Teoria e Prática (CBSoft). Coordenador da Sessão de Ferramentas. 2016. (Congresso).
    3. IEEE International Symposium on Software Reliability Engineering (ISSRE).Experience Report: Can Software Testing Education Lead to More Reliable Software?. 2015. (Simpósio).
    4. 11th Workshop on Software Modularity (WMod). 2014. (Oficina).
    5. 8th Brazilian Workshop on Systematic and Automated Software Testing (SAST). 2014. (Oficina).
    6. V Congresso Brasileiro de Software: Teoria e Prática (CBSoft). 2014. (Congresso).
    7. XVIII Simpósio Brasileiro de Linguagens de Programação (SBLP). 2014. (Seminário).
    8. XXVIII Simpósio Brasileiro de Engenharia de Software (SBES). 2014. (Simpósio).
    9. 7th Latin American Workshop on Aspect-Oriented Software Development (LA-WASP).Difficulties for Testing Aspect-Oriented Programs: A Report based on Practical Experience on Structural and Mutation Testing. 2013. (Oficina).
    10. IV Congresso Brasileiro de Software: Teoria e Prática (CBSoft). 2013. (Congresso).
    11. XXVII Simpósio Brasileiro de Engenharia de Software (SBES).Visualization, Analysis, and Testing of Java and AspectJ Programs with Multi-Level System Graphs / Identifying a Subset of TMMi Practices to Establish a Streamlined Software Testing Process. 2013. (Simpósio).
    12. 34th International Conference on Software Engineering (ICSE). Development of Auxiliary Functions: Should You Be Agile? An Empirical Assessment of Pair Programming and Test-First Programming. 2012. (Congresso).
    13. 6th Latin American Workshop on Aspect-Oriented Software Development (LA-WASP).A Design Strategy to Facilitate the Instantiation Process of White-Box Frameworks. 2012. (Oficina).
    14. II Congresso Brasileiro de Sistemas Embarcados Críticos (CBSEC). 2012. (Congresso).
    15. III Congresso Brasileiro de Software: Teoria e Prática (CBSoft). 2012. (Congresso).
    16. 10th International Conference on Aspect-Oriented Software Development (AOSD). Proteum/AJ: A Mutation System for AspectJ Programs. 2011. (Congresso).
    17. 2nd International Workshop on Variability Composition (VariComp).Investigating Testing Approaches for Dynamically Adaptive Systems. 2011. (Oficina).
    18. 5th Latin American Workshop on Aspect-Oriented Software Development (LA-WASP). 2011. (Oficina).
    19. II Congresso Brasileiro de Software: Teoria e Prática (CBSoft). Sessão Técnica 3: Software Testing and Cost Estimation. 2011. (Congresso).

Organização de eventos

  • Total de organização de eventos (7)
    1. MALDONADO, José Carlos ; FERRARI, Fabiano Cutigi. Simpósio Brasileiro de Engenharia de Software (SBES) - Research Track. 2017. Congresso
    2. FERRARI, Fabiano Cutigi. Congresso Brasileiro de Software: Teoria e Prática - Sessáo de Ferramentas. 2016. (Congresso).. . 0.
    3. MALDONADO, José Carlos ; MENDONCA NETO, M. G. ; FERRARI, Fabiano Cutigi. Congresso Brasileiro de Software: Teoria e Prática - Trilha da Indústria. 2015. Congresso
    4. SANT'ANNA, C. ; RIBEIRO, M. M. ; FERRARI, Fabiano Cutigi ; REBÊLO, Henrique. 7th Latin American Workshop on Aspect-Oriented Software Development (LA-WASP). 2013. Congresso
    5. CHAVEZ, Christina von Flach Garcia ; FERRARI, Fabiano Cutigi ; BONIFACIO, Rodrigo ; MACIA, I. ; LEMOS, Otávio Augusto Lazzarini ; COELHO, Roberta Souza ; LUCENA, Marcia. 6th Latin American Workshop on Aspect-Oriented Software Development (LA-WASP). 2012. Congresso
    6. CAMARGO, Valter Vieira de ; FIGUEIREDO, Eduardo ; FERRARI, Fabiano Cutigi ; DANTAS, Francisco ; BONIFACIO, Rodrigo ; GHEYI, Rohit. 5th Latin-American Workshop on Aspect-Oriented Software Development (LA-WASP). 2011. Congresso
    7. FERRARI, Fabiano Cutigi. 32nd International Conference on Software Engineering (ICSE) (estudante voluntário). 2010. (Congresso).. . 0.

Lista de colaborações



Data de processamento: 24/11/2017 12:06:50