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

On Using VeriFast, VerCors, Plural, and KeY to Check Object Usage

Utilize este identificador para referenciar este registo.
Nome:Descrição:Tamanho:Formato: 
10.4230_lipics.ecoop.2023.40.pdf786.77 KBAdobe PDF Ver/Abrir

Orientador(es)

Resumo(s)

Typestates are a notion of behavioral types that describe protocols for stateful objects, specifying the available methods for each state. Ensuring methods are called in the correct order (protocol compliance), and that, if and when the program terminates, all objects are in the final state (protocol completion) is crucial to write better and safer programs. Objects of this kind are commonly shared among different clients or stored in collections, which may also be shared. However, statically checking protocol compliance and completion when objects are shared is challenging. To evaluate the support given by state of the art verification tools in checking the correct use of shared objects with protocol, we present a survey on four tools for Java: VeriFast, VerCors, Plural, and KeY. We describe the implementation of a file reader, linked-list, and iterator, check for each tool its ability to statically guarantee protocol compliance and completion, even when objects are shared in collections, and evaluate the programmer’s effort in making the code acceptable to these tools. With this study, we motivate the need for lightweight methods to verify the presented kinds of programs.

Descrição

Marco Giunti: Partially supported by Dstl, reference: ACC2028868. Publisher Copyright: © João Mota Marco Giunti and António Ravara;

Palavras-chave

Java KeY Plural Typestates VerCors VeriFast Software

Contexto Educativo

Citação

Projetos de investigação

Unidades organizacionais

Fascículo

Editora

Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing

Licença CC

Métricas Alternativas