Idempotent backward slices: a gsa-based approach to code-size reduction

dc.creatorRafael Alvarenga de Azevedo
dc.date.accessioned2026-01-22T18:03:22Z
dc.date.issued2025-11-28
dc.description.abstractCompiler optimizations are critical for enhancing the efficiency of programs, particularly for software deployed on resource-constrained systems where code size is a primary concern. This thesis introduces a novel technique for code-size reduction by identifying and outlining recurrent program slices. Our approach leverages the Gated Single Assignment (GSA) form, an intermediate representation that makes both data and control dependencies explicit, to enable the precise extraction of self-contained, executable program logic, which we term Idempotent Backward Slices. The proposed algorithm is implemented as a complete, functional, and open-source, out-of-tree pass for the LLVM compiler infrastructure. To evaluate its effectiveness, we conducted a rigorous empirical study, compiling 2007 programs from the LLVM Test Suite. The results demonstrates that our technique achieves significant code-size reductions in specific, targeted cases where other optimizers fail. We conclude that GSA-based slicing is a viable but specialized tool, best suited for domains where code footprint is paramount and code bases contain the recurrent computational patterns our slicer is designed to identify.
dc.description.sponsorshipFAPEMIG - Fundação de Amparo à Pesquisa do Estado de Minas Gerais
dc.identifier.urihttps://hdl.handle.net/1843/1472
dc.languageeng
dc.publisherUniversidade Federal de Minas Gerais
dc.rightsAcesso aberto
dc.rightsAttribution-NonCommercial-NoDerivs 3.0 Brazilen
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/br/
dc.subjectComputação – Teses
dc.subjectCompiladores (Programas de computador) - Teses
dc.subjectSoftware de sistemas – Teses
dc.subjectOtimização de códigos (compiladores) – Teses
dc.subject.otherCompiler Optimizations
dc.subject.otherProgram Slices
dc.subject.otherGated Single Assignment Form
dc.titleIdempotent backward slices: a gsa-based approach to code-size reduction
dc.title.alternativeFatias reversas idempotentes: uma abordagem baseada em GSA para redução do tamanho do código
dc.typeDissertação de mestrado
local.contributor.advisor-co1Rodrigo Caetano de Oliveira Rocha
local.contributor.advisor-co1Latteshttp://lattes.cnpq.br/3024280434335126
local.contributor.advisor1Fernando Magno Quintão Pereira
local.contributor.advisor1Latteshttp://lattes.cnpq.br/4608001746330875
local.contributor.referee1Sandro Rigo
local.contributor.referee1Yann Herklotz
local.creator.Latteshttp://lattes.cnpq.br/7041307314384502
local.description.resumoOtimizações de compiladores são cruciais para melhorar a eficiência de programas, especialmente para software implementado em sistemas com recursos limitados, onde o tamanho do código é uma preocupação primordial. Esta dissertação introduz uma nova técnica para a redução do tamanho de código, identificando e extraindo Program Slices recorrentes. A nova abordagem utiliza a representação intermediária Gated Single Assignment (GSA) form, que torna explícitas tanto as dependências de dados quanto as de controle, para permitir a extração precisa de lógicas de programa autocontidas e executáveis, as quais denominamos Idempotent Backward Slices. O algoritmo proposto é implementado como um pass completo, funcional e de código aberto para a infraestrutura de compiladores LLVM. Para avaliar sua eficácia, conduziu-se um rigoroso estudo empírico, compilando 2007 programas da coleção de testes de LLVM. Os resultados demonstram que a nova técnica alcança reduções significativas no tamanho do código em casos específicos em que outras técnicas publicadas previamente falham. Concluímos que o slicing baseado em GSA é uma ferramenta viável, porém especializada, mais adequada para domínios onde o tamanho do código é fundamental e as bases de código contêm os padrões computacionais recorrentes que nosso algoritmo foi projetado para identificar.
local.identifier.orcidhttps://orcid.org/0009-0009-3295-3467
local.publisher.countryBrasil
local.publisher.departmentICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
local.publisher.initialsUFMG
local.publisher.programPrograma de Pós-Graduação em Ciência da Computação
local.subject.cnpqCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::LINGUAGENS DE PROGRAMACAO

Arquivos

Pacote original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
RafaelAlvarengaMSc25.pdf
Tamanho:
2.52 MB
Formato:
Adobe Portable Document Format

Licença do pacote

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
license.txt
Tamanho:
2.07 KB
Formato:
Item-specific license agreed to upon submission
Descrição: