Execução de funções parciais em linguagem de programação C

Detalhes bibliográficos
Ano de defesa: 2017
Autor(a) principal: Marcus Rodrigues de Araújo
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Minas Gerais
Brasil
ICEX - INSTITUTO DE CIÊNCIAS EXATAS
Programa de Pós-Graduação em Ciência da Computação
UFMG
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: http://hdl.handle.net/1843/32056
Resumo: Currently the computer science community has several powerful programs for performing dynamic analysis. Examples of these analyzers are: Valgrind, useful for performing several types of checks related to the running of programs; and aprof, used to aid in the search for asymptotic inefficiencies. However, these tools expect to receive as an input an executable program. This fact complicates the analysis of specific code snippets, such as functions. Considering this difficulty, in this dissertation we present a set of techniques that, together, enable us to execute isolated functions written in C language automatically. In particular, we focus on methods that deal with access to arrays by indexing. Besides that, it is our goal that, when executed, a target function does not contain invalid memory accesses caused by the data automatically generated to test it. With the ideas presented here, we developed a tool, amazonc, which enable us to execute functions in C isolated from the rest of the code. Experiments performed with the kernels of the Polybench benchmarks suite reinforce the effectiveness of the method presented. Together with aprof, amazonc was able to reconstruct the asymptotic complexity curves of all core functions in that benchmark. In addition, the process of reconstructing these curves did not lead to memory errors, as Valgrind has certified.