skip to main content

Detecção interprocedimental de clones semânticos

Albuquerque, Felipe De Alencar

Biblioteca Digital de Teses e Dissertações da USP; Universidade de São Paulo; Escola de Artes, Ciências e Humanidades 2013-11-08

Acesso online. A biblioteca também possui exemplares impressos.

  • Título:
    Detecção interprocedimental de clones semânticos
  • Autor: Albuquerque, Felipe De Alencar
  • Orientador: Chaim, Marcos Lordello
  • Assuntos: Clones Semânticos; Detecção De Clones; Duplicação De Código; Grafos De Dependência De Programas; Clone Detection; Code Duplication; Program Dependence Graphs; Semantic Clones
  • Notas: Dissertação (Mestrado)
  • Descrição: Fragmentos de código duplicado, ou clones, são inseridos em aplicativos por serem uma maneira simples de reúso, dentre outros motivos. Clones são, portanto, comuns em programas. No entanto, a atividade de manutenção pode ficar custosa se o código do programa analisado possuir muitos clones, principalmente os semânticos, os quais podem possuir códigos distintos, mas realizam tarefas similares. Nesse sentido, a utilização de ferramentas que automatizam a tarefa de detectar clones é desejável. Ferramentas atuais de detecção de clones semânticos são capazes de identificar esses clones com altas taxas de acerto. No entanto, elas não são capazes de identificar clones semânticos considerando também os fluxos dos procedimentos ou funções que são invocados dentro dos fragmentos de código comparados. Essa limitação pode levar as ferramentas a indicarem clones semânticos falso positivos. Este trabalho apresenta uma técnica de detecção de clones semânticos que considera as chamadas de procedimentos presentes nos programas. Essa técnica apresentou uma taxa de acertos 2,5% maior do que técnicas convencionais de acordo com um benchmark, também desenvolvido neste trabalho. Esse benchmark foi criado com base nas classificações de clones fornecidas por programadores da indústria e da academia. A técnica interprocedimental de detecção de clones semânticos pode ser utilizada para evolução, manutenção, refatoração e entendimento de programas.
  • DOI: 10.11606/D.100.2013.tde-28012014-085446
  • Editor: Biblioteca Digital de Teses e Dissertações da USP; Universidade de São Paulo; Escola de Artes, Ciências e Humanidades
  • Data de criação/publicação: 2013-11-08
  • Formato: Adobe PDF
  • Idioma: Português

Buscando em bases de dados remotas. Favor aguardar.