Please use this identifier to cite or link to this item: http://www.monografias.ufop.br/handle/35400000/9222
Title: Stochastically generating well-typed CPS-calculus terms : a context-directed algorithm.
Authors: Torres, Artur Bermond
metadata.dc.contributor.advisor: Ribeiro, Rodrigo Geraldo
Torrens, Paulo
metadata.dc.contributor.referee: Ribeiro, Rodrigo Geraldo
Cardoso, Elton Máximo
Nascimento, Guilherme Augusto Anício Drummond do
Keywords: Compiladores - programas de computador
Programação - computadores
Algorítmos computacionais
Issue Date: 2026
Citation: TORRES, Artur Bermond. Stochastically generating well-typed CPS-calculus terms: a context-directed algorithm. 2026. 135 f. Monografia (Graduação em Ciência da Computação) - instituto de Ciências Exaras e Biológicas, Universidade Federal de Ouro Preto, Ouro Preto, 2026.
Abstract: Continuações são frequentemente empregadas no contexto de compiladores, em especial como fundamento para representações intermediárias baseadas em continuation-passing style (CPS). Um campo emergente de pesquisa é o desenvolvimento de um cálculo baseado em CPS, visando-se criar uma base teórica para essas representações intermediárias. O trabalho atual tem o objetivo de contribuir a essa linha de pesquisa implementando uma variante de CPS-calculus em PLT Redex, formalizando um gerador de termos bem-tipados para essa linguagem e apresentando uma maneira de unir esses dois aspectos do trabalho em Racket, programando-se propriedades em Redex e depois testando-as usando o gerador de termos implementado em Rackcheck. Primeiramente, diversas semânticas de CPS-calculus foram implementadas, possibilitando o teste de reduções, tipagem e traduções entre CPS-calculus e λ-calculus, tanto por call-by-name quanto por call-by-value. Após, um gerador estocástico de termos bem-tipados foi formalizado usando-se árvores de provas e pseudo-código puramente funcional e depois implementado em Rackcheck, que possui suporte a shrinking automático de termos. Por último, foram testadas algumas propriedades sobre a imagem do gerador, além da propriedade de preservação de tipos da semântica operacional jump reduction e das traduções de λ-calculus para CPS-calculus. Com todos esses desenvolvimentos, o trabalho aqui apresentado obteve êxito em criar um caminho para possibilitar testes baseados em propriedades de CPS-calculus, algo que poderá ser de utilidade a futuras explorações acadêmicas no tópico, em especial como um prelúdio para provas formais que visa diminuir o tempo gasto com tentativas de se provar algo falso.
metadata.dc.description.abstracten: Continuations are frequently employed in the context of compilers, specially as the foundation for intermediary representations based on continuation-passing-style (CPS). An emerging field of study is in the development of a calculus based on CPS, with the goal of creating a theoretical base for these intermediary representations. The present work aims to contribute to this field of research by implementing a variant of CPS-calculus in PLT Redex, formalizing a generator of well-typed CPS-calculus terms and then joining these two aspects of the work in Racket, implementing properties in Redex and then testing them using the generator implemented in Rackcheck. First, several operational semantics were implemented, allowing reductions, typing and translations to and from CPS-calculus and λ-calculus, both in call-by-name and call-by-value, to be tested. Next, a stochastic generator of well-typed terms was formalized through judgments and purely functional pseudo-code and then implemented using Rackcheck, which has support for automatic shrinking of terms. Lastly, some properties about the generator's image were tested, alongside the type preservation property of the operational semantics jump reduction and of the translations from λ-calculus to CPS-calculus. With these developments, the work here presented was successful in creating a path for property-based testing to take place on CPS-calculus, something that may be useful to future academic endeavors on the topic, specially as a prelude to formal proofs, aiming to reduce the time spent with attempts to prove a false property.
URI: http://www.monografias.ufop.br/handle/35400000/9222
Appears in Collections:Ciência da Computação

Files in This Item:
File Description SizeFormat 
MONOGRAFIA_StochasticallyGeneratingWell.pdf3,06 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.