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órios Científicos de Acesso Aberto de Portugal (RCAAP)
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órios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/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órios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-05-22T18:06:27Zoai:run.unl.pt:10362/145315Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T17:37:03.278372Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
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órios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833596836167811072