DC Field | Value | Language |
---|---|---|
dc.contributor.author | Filipovic, Ivana | ko |
dc.contributor.author | O'Hearn, Peter | ko |
dc.contributor.author | Torp-Smith, Noah | ko |
dc.contributor.author | Yang, Hongseok | ko |
dc.date.accessioned | 2017-08-08T06:54:33Z | - |
dc.date.available | 2017-08-08T06:54:33Z | - |
dc.date.created | 2017-08-02 | - |
dc.date.created | 2017-08-02 | - |
dc.date.created | 2017-08-02 | - |
dc.date.created | 2017-08-02 | - |
dc.date.issued | 2010-09 | - |
dc.identifier.citation | FORMAL ASPECTS OF COMPUTING, v.22, no.5, pp.547 - 583 | - |
dc.identifier.issn | 0934-5043 | - |
dc.identifier.uri | http://hdl.handle.net/10203/225287 | - |
dc.description.abstract | Data refinement is a common approach to reasoning about programs, based on establishing that a concrete program indeed satisfies all the required properties imposed by an intended abstract pattern. Reasoning about programs in this setting becomes complex when use of pointers is assumed and, moreover, a well-known method for proving data refinement, namely the forward simulation method, becomes unsound in presence of pointers. The reason for unsoundness is the failure of the "lifting theorem" for simulations: that a simulation between abstract and concrete modules can be lifted to all client programs. The result is that simulation does not imply that a concrete can replace an abstract module in all contexts. Our diagnosis of this problem is that unsoundness is due to interference from the client programs. Rather than blame a module for the unsoundness of lifting simulations, our analysis places the blame on the client programs which cause the interference: when interference is not present, soundness is recovered. Technically, we present a novel instrumented semantics which is capable of detecting interference between a module and its client. With use of special simulation relations, namely growing relations, and interpreting the simulation method using the instrumented semantics, we obtain a lifting theorem. We then show situations under which simulation does indeed imply refinement. | - |
dc.language | English | - |
dc.publisher | SPRINGER | - |
dc.title | Blaming the Client: On Data Refinement in the Presence of Pointers | - |
dc.type | Article | - |
dc.identifier.wosid | 000282102100004 | - |
dc.identifier.scopusid | 2-s2.0-79957993477 | - |
dc.type.rims | ART | - |
dc.citation.volume | 22 | - |
dc.citation.issue | 5 | - |
dc.citation.beginningpage | 547 | - |
dc.citation.endingpage | 583 | - |
dc.citation.publicationname | FORMAL ASPECTS OF COMPUTING | - |
dc.identifier.doi | 10.1007/s00165-009-0125-8 | - |
dc.contributor.localauthor | Yang, Hongseok | - |
dc.contributor.nonIdAuthor | Filipovic, Ivana | - |
dc.contributor.nonIdAuthor | O'Hearn, Peter | - |
dc.contributor.nonIdAuthor | Torp-Smith, Noah | - |
dc.description.isOpenAccess | N | - |
dc.type.journalArticle | Article | - |
dc.subject.keywordAuthor | Data refinement | - |
dc.subject.keywordAuthor | Separation logic | - |
dc.subject.keywordAuthor | Pointer aliasing | - |
dc.subject.keywordAuthor | Interference | - |
dc.subject.keywordPlus | OBJECT-ORIENTED PROGRAMS | - |
dc.subject.keywordPlus | ENCAPSULATION | - |
dc.subject.keywordPlus | INVARIANTS | - |
dc.subject.keywordPlus | OPERATIONS | - |
dc.subject.keywordPlus | OWNERSHIP | - |
dc.subject.keywordPlus | RESOURCES | - |
dc.subject.keywordPlus | SEMANTICS | - |
dc.subject.keywordPlus | LOGIC | - |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.