A Java typestate checker supporting inheritance
| Autor(a) principal: | |
|---|---|
| Data de Publicação: | 2022 |
| Outros Autores: | , , , |
| 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 |