A Java typestate checker supporting inheritance

Detalhes bibliográficos
Autor(a) principal: Bacchiani, Lorenzo
Data de Publicação: 2022
Outros Autores: Bravetti, Mario, Giunti, Marco, Mota, João, Ravara, António
Tipo de documento: Artigo
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10362/145315
Resumo: This work was partially supported by the EU H2020 RISE programme under the Marie Skłodowska-Curie grant agreement No. 778233 (BehAPI) and by NOVA LINCS UIDB/04516/2020/TRA/BIM/07 ) via the Portuguese Fundação para a Ciência e a Tecnologia. Publisher Copyright: © 2022 Elsevier B.V.
id RCAP_0f89e228e892be6d0981cfe080892847
oai_identifier_str oai:run.unl.pt:10362/145315
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling A Java typestate checker supporting inheritanceBehavioral typesObject-oriented programmingSubtypingType-checkingTypestatesSoftwareComputational Theory and MathematicsGeneral Computer ScienceSDG 9 - Industry, Innovation, and InfrastructureThis work was partially supported by the EU H2020 RISE programme under the Marie Skłodowska-Curie grant agreement No. 778233 (BehAPI) and by NOVA LINCS UIDB/04516/2020/TRA/BIM/07 ) via the Portuguese Fundação para a Ciência e a Tecnologia. Publisher Copyright: © 2022 Elsevier B.V.Detecting programming errors in software is increasingly important, and building tools that help developers with this task is a crucial area of investigation on which the industry depends. Leveraging on the observation that in Object-Oriented Programming (OOP) it is natural to define stateful objects where the safe use of methods depends on their internal state, we present Java Typestate Checker (JATYC), a tool that verifies Java source code with respect to typestates. A typestate defines the object's states, the methods that can be called in each state, and the states resulting from the calls. The tool statically verifies that when a Java program runs: sequences of method calls obey to object's protocols; objects' protocols are completed; null-pointer exceptions are not raised; subclasses' instances respect the protocol of their superclasses. To the best of our knowledge, this is the first OOP tool that simultaneously tackles all these aspects.NOVALincsRUNBacchiani, LorenzoBravetti, MarioGiunti, MarcoMota, JoãoRavara, António2022-11-08T22:14:03Z2022-09-012022-09-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/article8application/pdfhttp://hdl.handle.net/10362/145315eng0167-6423PURE: 46064614https://doi.org/10.1016/j.scico.2022.102844info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2024-03-11T05:25:34Zoai:run.unl.pt:10362/145315Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-20T03:52:00.565976Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv A Java typestate checker supporting inheritance
title A Java typestate checker supporting inheritance
spellingShingle A Java typestate checker supporting inheritance
Bacchiani, Lorenzo
Behavioral types
Object-oriented programming
Subtyping
Type-checking
Typestates
Software
Computational Theory and Mathematics
General Computer Science
SDG 9 - Industry, Innovation, and Infrastructure
title_short A Java typestate checker supporting inheritance
title_full A Java typestate checker supporting inheritance
title_fullStr A Java typestate checker supporting inheritance
title_full_unstemmed A Java typestate checker supporting inheritance
title_sort A Java typestate checker supporting inheritance
author Bacchiani, Lorenzo
author_facet Bacchiani, Lorenzo
Bravetti, Mario
Giunti, Marco
Mota, João
Ravara, António
author_role author
author2 Bravetti, Mario
Giunti, Marco
Mota, João
Ravara, António
author2_role author
author
author
author
dc.contributor.none.fl_str_mv NOVALincs
RUN
dc.contributor.author.fl_str_mv Bacchiani, Lorenzo
Bravetti, Mario
Giunti, Marco
Mota, João
Ravara, António
dc.subject.por.fl_str_mv Behavioral types
Object-oriented programming
Subtyping
Type-checking
Typestates
Software
Computational Theory and Mathematics
General Computer Science
SDG 9 - Industry, Innovation, and Infrastructure
topic Behavioral types
Object-oriented programming
Subtyping
Type-checking
Typestates
Software
Computational Theory and Mathematics
General Computer Science
SDG 9 - Industry, Innovation, and Infrastructure
description This work was partially supported by the EU H2020 RISE programme under the Marie Skłodowska-Curie grant agreement No. 778233 (BehAPI) and by NOVA LINCS UIDB/04516/2020/TRA/BIM/07 ) via the Portuguese Fundação para a Ciência e a Tecnologia. Publisher Copyright: © 2022 Elsevier B.V.
publishDate 2022
dc.date.none.fl_str_mv 2022-11-08T22:14:03Z
2022-09-01
2022-09-01T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/article
format article
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10362/145315
url http://hdl.handle.net/10362/145315
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 0167-6423
PURE: 46064614
https://doi.org/10.1016/j.scico.2022.102844
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 8
application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799138112333414400