Show simple item record

dc.contributor.authorStolz, Volker
dc.contributor.authorPun, Ka I
dc.contributor.authorGheyi, Rohit
dc.date.accessioned2021-03-25T15:00:41Z
dc.date.available2021-03-25T15:00:41Z
dc.date.created2020-11-06T00:26:08Z
dc.date.issued2020
dc.identifier.citationStolz, V., Pun, V. K. I., & Gheyi, R. (2020). Refactoring and active object languages. In T. Margaria & B. Steffen (Ed.), Leveraging applications of formal methods, verification and validation: Engineering principles (pp. 138–158). Springer International Publishing.en_US
dc.identifier.isbn978-3-030-61470-6
dc.identifier.issn0302-9743
dc.identifier.urihttps://hdl.handle.net/11250/2735587
dc.descriptionThis is a post-peer-review, pre-copyedit version of an article published in Lecture Notes in Computer Science. The final authenticated version is available online at: https://doi.org/10.1007/978-3-030-61470-6_9en_US
dc.description.abstractRefactorings are important for object-oriented (OO) programs. Actor- and active object programs place an emphasis on concurrency. In this article, we show how well-known OO refactorings such as Hide Delegate, Move Method, and Extract Class interact with a concurrency model that distinguishes between local and remote objects. Refactorings that are straightforward in Java suddenly force the developers to reflect on the underlying assumptions of their actor system. We show that this reflection is primarily necessary for refactorings that add or remove method calls, as well as constructor invocations. We present a general notion of correctness of refactorings in a concurrent setting, and indicate which refactorings are correct under this notion. Finally, we discuss how development tools can assist the developer with refactorings in languages with rich semantics.en_US
dc.language.isoengen_US
dc.publisherSpringeren_US
dc.titleRefactoring and Active Object Languagesen_US
dc.typePeer revieweden_US
dc.typeJournal articleen_US
dc.description.versionacceptedVersionen_US
dc.source.volume12477en_US
dc.source.journalLecture Notes in Computer Science (LNCS)en_US
dc.identifier.doi10.1007/978-3-030-61470-6_9
dc.identifier.cristin1845457
cristin.ispublishedtrue
cristin.fulltextpostprint
cristin.qualitycode1


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record