Show simple item record

Files in this item

Thumbnail

Item metadata

dc.contributor.authorBarwell, Adam David
dc.contributor.authorBrown, Christopher Mark
dc.contributor.authorSarkar, Susmit
dc.date.accessioned2021-07-29T10:30:09Z
dc.date.available2021-07-29T10:30:09Z
dc.date.issued2021-07-18
dc.identifier275239759
dc.identifier8d71d5b3-2472-4fde-afda-55c21286ccf2
dc.identifier.citationBarwell , A D , Brown , C M & Sarkar , S 2021 , Proving renaming for Haskell via dependent types : a case-study in refactoring soundness . in 8 th International workshop on rewriting techniques for program transformations and evaluation (WPTE 2021) . 8th International Workshop on Rewriting Techniques for Program Transformations and Evaluation , Buenos Aeires , Argentina , 18/07/21 .en
dc.identifier.citationworkshopen
dc.identifier.otherORCID: /0000-0001-6030-2885/work/97885026
dc.identifier.otherORCID: /0000-0003-1236-7160/work/97885332
dc.identifier.otherORCID: /0000-0002-4259-9213/work/125727588
dc.identifier.urihttps://hdl.handle.net/10023/23673
dc.description.abstractWe present a formally verified renaming refactoring for a subset of Haskell 98 giving a case-study in proving soundness properties of Haskell refactorings. Our renaming is implemented in the dependently- typed language Idris, which allows us to encode soundness proofs as an integral part of the implementation. We give the formal definition of our static semantics for our Haskell 98 subset, which we encode as part of the AST, ensuring that only well-formed programs may be represented and transformed. This forms a foundation upon which refactorings can be formally specified. We then define soundness of refactoring implementations as conformity to their specification. We demonstrate our approach via renaming, a canonical and well-understood refactoring, giving its implementation alongside its formal specification and soundness proof.
dc.format.extent10
dc.format.extent218677
dc.language.isoeng
dc.relation.ispartof8th International workshop on rewriting techniques for program transformations and evaluation (WPTE 2021)en
dc.subjectHaskellen
dc.subjectRefactoringen
dc.subjectDependent typesen
dc.subjectIdrisen
dc.subjectRenamingen
dc.subjectProof-carrying codeen
dc.subjectSoundnessen
dc.subjectQA75 Electronic computers. Computer scienceen
dc.subjectT-NDASen
dc.subjectNISen
dc.subjectMCCen
dc.subject.lccQA75en
dc.titleProving renaming for Haskell via dependent types : a case-study in refactoring soundnessen
dc.typeConference itemen
dc.contributor.sponsorEPSRCen
dc.contributor.sponsorEuropean Commissionen
dc.contributor.sponsorEPSRCen
dc.contributor.institutionUniversity of St Andrews. School of Computer Scienceen
dc.identifier.urlhttps://www.ipl.riec.tohoku.ac.jp/wpte2021/en
dc.identifier.urlhttps://www.sciencedirect.com/journal/journal-of-logical-and-algebraic-methods-in-programming/special-issuesen
dc.identifier.urlhttps://fscd2021.dc.uba.ar/en
dc.identifier.grantnumberEP/V006290/1en
dc.identifier.grantnumber779882en
dc.identifier.grantnumberEP/P020631/1en


This item appears in the following Collection(s)

Show simple item record