Logo do repositório
 
Publicação

A Java typestate checker supporting inheritance

dc.contributor.authorBacchiani, Lorenzo
dc.contributor.authorBravetti, Mario
dc.contributor.authorGiunti, Marco
dc.contributor.authorMota, João
dc.contributor.authorRavara, António
dc.contributor.institutionNOVALincs
dc.contributor.pblElsevier Science B.V., Amsterdam.
dc.date.accessioned2022-11-08T22:14:03Z
dc.date.available2022-11-08T22:14:03Z
dc.date.issued2022-09-01
dc.descriptionThis 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.
dc.description.abstractDetecting 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.en
dc.description.versionpublishersversion
dc.description.versionpublished
dc.format.extent8
dc.format.extent281566
dc.identifier.doi10.1016/j.scico.2022.102844
dc.identifier.issn0167-6423
dc.identifier.otherPURE: 46064614
dc.identifier.otherPURE UUID: 07a496a6-feb7-4991-8332-cc2450b83576
dc.identifier.otherScopus: 85135482139
dc.identifier.otherORCID: /0000-0001-8074-0380/work/122412567
dc.identifier.urihttp://hdl.handle.net/10362/145315
dc.identifier.urlhttps://www.scopus.com/pages/publications/85135482139
dc.language.isoeng
dc.peerreviewedyes
dc.relationFunding Information: info:eu-repo/grantAgreement/FCT/6817 - DCRRNI ID/UIDB%2F04516%2F2020/PT
dc.subjectBehavioral types
dc.subjectObject-oriented programming
dc.subjectSubtyping
dc.subjectType-checking
dc.subjectTypestates
dc.subjectSoftware
dc.subjectComputational Theory and Mathematics
dc.subjectGeneral Computer Science
dc.subjectSDG 9 - Industry, Innovation, and Infrastructure
dc.titleA Java typestate checker supporting inheritanceen
dc.typejournal article
degois.publication.titleScience Of Computer Programming
degois.publication.volume221
dspace.entity.typePublication
rcaap.rightsopenAccess

Ficheiros

Principais
A mostrar 1 - 1 de 1
A carregar...
Miniatura
Nome:
A_Java_typestate_checker_supporting_inheritance.pdf
Tamanho:
274.97 KB
Formato:
Adobe Portable Document Format