Logo do repositório
 
A carregar...
Miniatura
Publicação

Retrofitting Typestates into Rust

Utilize este identificador para referenciar este registo.
Nome:Descrição:Tamanho:Formato: 
Retrofitting_Typestates_into_Rust.pdf744.09 KBAdobe PDF Ver/Abrir

Orientador(es)

Resumo(s)

As software permeates our lives, bugs become increasingly expensive; the best way to reduce their cost is to reduce the number of bugs. Of course, this is easier said than done and, at best, we can go after their root causes to mitigate them. One of such causes is state, whether it is the state of a light bulb (i.e. on/off), or the state of a complex protocol, reasoning about state is a complex process which developers are required to do with subpar tools. Ideally, we want to specify constraints and have the computer reason for us; typestates enable developers to describe states using the type system and allow the compiler to reason about them. We propose an approach to bring typestates to Rust, without any external tools, leveraging only Rust's type and macro systems. Our approach provides a macro-based domain-specific language which enables developers to easily express and implement typestates, along with certain state machine safety guarantees, it is open-source and available at https://github.com/rustype/typestate-rs.

Descrição

Palavras-chave

Behavioral Typing Domain-specific Languages Macros Protocol Compliance Rust Session Types Typestates Human-Computer Interaction Computer Networks and Communications Computer Vision and Pattern Recognition Software

Contexto Educativo

Citação

Projetos de investigação

Unidades organizacionais

Fascículo

Editora

ACM - Association for Computing Machinery

Licença CC

Métricas Alternativas