Utilize este identificador para referenciar este registo: http://hdl.handle.net/10362/131602
Título: Retrofitting Typestates into Rust
Autor: Duarte, José
Ravara, António
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
Data: 27-Set-2021
Editora: ACM - Association for Computing Machinery
Citação: Duarte, J., & Ravara, A. (2021). Retrofitting Typestates into Rust. In CBSOFT 2021 - Brazilian Conference on Software; Proceedings - 25th Brazilian Symposium on Programming Languages, SBLP 2021 (pp. 83-91). (ACM International Conference Proceeding Series). ACM - Association for Computing Machinery. https://doi.org/10.1145/3475061.3475082
Resumo: 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.
Peer review: yes
URI: http://hdl.handle.net/10362/131602
DOI: https://doi.org/10.1145/3475061.3475082
ISBN: 9781450390620
Aparece nas colecções:FCT: DI - Documentos de conferências internacionais

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Retrofitting_Typestates_into_Rust.pdf744,09 kBAdobe PDFVer/Abrir


FacebookTwitterDeliciousLinkedInDiggGoogle BookmarksMySpace
Formato BibTex MendeleyEndnote 

Todos os registos no repositório estão protegidos por leis de copyright, com todos os direitos reservados.