Visualizar projeto

Dados Básicos
Título
Linguagens de consulta em código para compreensão e evolução de software
Número do projeto
054105
Número do processo
23081.019891/2020-72
Classificação principal
Pesquisa
Data inicial
09/11/2019
Data final
09/11/2021
Resumo
De forma a facilitar as atividades de análise estática em grandes projetos de software, diversas linguagens de consulta têm sido propostas, com diferentes características e limitações. Dentre elas está AQL, uma linguagem de consulta para código orientado a objetos e orientado a aspectos que, embora promissora, necessita de aprimoramentos para ser utilizada plenamente em sistemas de larga escala. O objetivo geral deste projeto é reestruturar a linguagem AQL e estender as linguagens resultantes de forma a auxiliar na evolução de sistemas de software de larga escala através de atividades de refatoração. Um processo existente de refatoração será adaptado para incluir tais linguagens de consulta e seu uso para atividades de evolução de software.
Objetivos
Nesse contexto, o \textbf{objetivo geral} deste projeto é a especificação e a implementação de linguagens de consulta de busca em código fonte de forma a auxiliar na evolução de sistemas de software de larga escala através de atividades de refatoração. Para isso, pretende-se definir uma linguagem inicial, baseada nas experiências obtidas com AQL, considerando as estruturas para consulta em código orientado a objetos mais comumente encontradas e estendê-la para dar suporte a construções específicas de linguagem e a outros paradigmas de programação baseados em orientação a objetos. Pretende-se também, adaptar um processo de refatoração existente para utilizar tais linguagens nas atividades de evolução.
Justificativa
Alguns dos trabalhos relacionados à identificação de oportunidades de refatoração incluem a definição de catálogos de limitações, algoritmos para sua detecção e sugestões de refatorações para sua remoção, bem como recomendações para evitar a ocorrência de limitações. Apesar de existirem maneiras para representar e para buscar por oportunidades de refatoração através do percurso nas ASTs de programas usando ferramentas de análise estática, tais abordagens fornecem uma flexibilidade limitada e são dependentes de conhecimentos de baixo nível das linguagens de programação associadas.
Resultados esperados
Em linhas gerais, os principais resultados esperados deste projeto, que demonstram a relevância deste projeto para o desenvolvimento científico, são as linguagens de consulta resultantes (especificação e implementação de referência), as extensões a serem propostas para essas linguagens e um processo de evolução baseado em busca e refatoração para sistemas de larga escala. A partir da experiência obtida com o desenvolvimento de tais linguagens e extensões, pode ser proposto, no futuro, um processo mais geral para a criação de tais linguagens a partir da gramática e da semântica das linguagens alvo.
Projeto em âmbito confidencial
Não
Projeto superior
-
Palavra-chave 1
Refatoração
Palavra-chave 2
Evolução
Palavra-chave 3
[Não informado]
Palavra-chave 4
[Não informado]
Tipo de evento
Não se aplica
Carga horária do curso
[Não informado]
Situação
Em andamento
Avaliação
Não avaliado
Última avaliação
[Não informado]
Gestão do conhecimento e gestão financeira
O projeto pode gerar conhecimento passível de proteção?
Sim
Propriedade Intelectual
[Não informado]
Proteção Especial
Programa de Computador
Direito Autoral - Copyright
Não
O projeto contrata uma fundação? Indique a fundação
Não necessita contratar fundação
Classificações
Tipo
Classificação
Classificação CNPq
1.03.03.02.-2 ENGENHARIA DE SOFTWARE
Linha de pesquisa
07.02.02 ENGENHARIA DE SOFTWARE
Quanto ao tipo de projeto de pesquisa
2.01 Projeto de Pesquisa Pura

Plano Gestão
Objetivo Estratégico
PDI 2016-2026 - Desafios
Internacionalização
Participantes
Matrícula Nome Função Carga Horária Período
@{matricula} @{pessoa.nomePessoa} @{funcao.descricao} @{cargaHoraria} h/semana @{dataInicial|format=dd/MM/yyyy} a @{dataFinal|format=dd/MM/yyyy}
Órgãos
Unidade Função Período
@{descricao} @{funcao.descricao} @{dataInicial|format=dd/MM/yyyy} a @{dataFinal|format=dd/MM/yyyy}
Plano de Trabalho
Metas/Indicadores/Fases
  • Meta:
    Concluir o projeto
    Período:
    09/11/2019 a 09/11/2021
    Valor:
    R$ [Não informado]
    Conclusão:
    0 %