Maxwell Para Simples Indexação

Título
[pt] FINALIZADORES E REFERÊNCIAS FRACAS: INTERAGINDO COM O COLETOR DE LIXO

Título
[en] FINALIZERS AND WEAK REFERENCES: INTERFACING WITH THE GARBAGE COLLECTOR

Autor
[pt] MARCUS AMORIM LEAL

Vocabulário
[pt] SEMANTICA

Vocabulário
[pt] MODELOS FORMAIS

Vocabulário
[pt] COLETA DE LIXO

Vocabulário
[pt] REFERENCIAS FRACAS

Vocabulário
[pt] FINALIZADORES

Vocabulário
[pt] LINGUAGENS DE PROGRAMACAO

Vocabulário
[en] SEMANTICS

Vocabulário
[en] FORMAL MODELS

Vocabulário
[en] GARBAGE COLLECTION

Vocabulário
[en] WEAK REFERENCES

Vocabulário
[en] FINALIZERS

Vocabulário
[en] PROGRAMMING LANGUAGES

Resumo
[pt] Inúmeras linguagens de programação oferecem suporte a finalizadores e referências fracas. Não obstante, de maneira geral esses mecanismos são relativamente pouco conhecidos e pouco usados por programadores. Mesmo entre pesquisadores e desenvolvedores de linguagens não existe muito consenso quanto à sua semântica, que varia consideravelmente entre diferentes implementações. Neste trabalho buscamos explorar os conceitos de finalizadores e de referências fracas, suprindo a ausência de uma especificação clara e abrangente, e permitindo uma melhor compreensão, implementação e uso dos mecanismos correspondentes. Como ponto de partida realizamos um amplo levantamento sobre como é feito o suporte a finalizadores e referências fracas em diferentes linguagens de programação, identificando as características comuns, os problemas, e as questões semânticas mais relevantes associadas às implementações consideradas. Para garantir uma maior precisão em nossa análise, utilizamos um modelo abstrato de uma linguagem de programação com gerenciamento automático de memória. Através deste modelo especificamos formalmente a semântica de finalizadores e referências fracas, incluindo descrições das suas principais variantes e mecanismos relacionados. Além disso, provamos certas propriedades inerentes a linguagens de programação com gerenciamento automático de memória, indicando como estas são afetadas pela introdução de finalizadores e referências fracas. Por fim, consideramos possíveis estratégias de implementação desses mecanismos em diferentes tipos de sistemas. Algumas das opções semânticas investigadas impõe um custo de processamento expressivo, o que frequentemente inviabiliza a sua adoção na prática.

Resumo
[en] Most mainstream programming languages support finalizers and weak references. In spite of that, these abstractions are still modestly known by programmers in general. Even among language designers there seems to be no common view on how to define their semantics, and language implementations certainly reflect that. In this thesis we explore the concepts of finalizer and weak reference by discussing several important issues that, as far as we know, have not been explored by other authors. After presenting a survey on how finalizers and weak references are supported by actual programming languages, we thoroughly examine their semantics and discuss alternative implementation strategies. We also use an operational approach to develop a formal model for reasoning about garbage collection and its interaction with client programs. By explicitly representing low-level details, such as heap memory and its addresses, we were able to clearly specify memory management actions, and prove several important memory-related language invariants. Using this model we describe a formal semantics for finalizers and weak references, exploring some of its many subtleties. We believe that the topics covered here can serve as a relevant reference for further investigations, and also help to guide actual implementations.

Orientador(es)
ROBERTO IERUSALIMSCHY

Banca
ROBERTO IERUSALIMSCHY

Banca
NOEMI DE LA ROCQUE RODRIGUEZ

Banca
CHRISTIANO DE OLIVEIRA BRAGA

Banca
EDWARD HERMANN HAEUSLER

Banca
ROBERTO DA SILVA BIGONHA

Banca
VITOR MANUEL DE MORAIS SANTOS COSTA

Catalogação
2006-01-03

Apresentação
2005-09-15

Tipo
[pt] TEXTO

Formato
application/pdf

Formato
application/pdf

Formato
application/pdf

Formato
application/pdf

Formato
application/pdf

Formato
application/pdf

Formato
application/pdf

Formato
application/pdf

Formato
application/pdf

Idioma(s)
PORTUGUÊS

Referência [pt]
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=7645@1

Referência [en]
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=7645@2

Referência DOI
https://doi.org/10.17771/PUCRio.acad.7645


Arquivos do conteúdo
CAPA, AGRADECIMENTOS, RESUMO, ABSTRACT, SUMÁRIO E LISTAS PDF
CAPÍTULO 1 PDF
CAPÍTULO 2 PDF
CAPÍTULO 3 PDF
CAPÍTULO 4 PDF
CAPÍTULO 5 PDF
CAPÍTULO 6 PDF
CAPÍTULO 7 PDF
REFERÊNCIAS BIBLIOGRÁFICAS E APÊNDICES PDF