@article(Bravenboer:2005:PTS:1227247.1227253, author = {Martin Bravenboer and Arthur van Dam and Karina Olmos and Eelco Visser}, year = {2005}, title = {{Program Transformation with Scoped Dynamic Rewrite Rules}}, journal = {Fundam. Inf.}, volume = {69}, number = {1-2}, pages = {123--178}, ) @article(Bravenboer200852, author = {Martin Bravenboer and Karl Trygve Kalleberg and Rob Vermaas and Eelco Visser}, year = {2008}, title = {{Stratego/XT 0.17. A language and toolset for program transformation}}, journal = {Science of Computer Programming}, volume = {72}, number = {1\IeC{\textendash}2}, pages = {52 -- 70}, doi = {10.1016/j.scico.2007.11.003}, ) @book(CesariniThompson, author = {Francesco Cesarini and Simon Thompson}, year = {2009}, title = {{Erlang Programming}}, publisher = {O'Reilly Media, Inc.}, ) @inproceedings(eq-corr, author = {Stefan Ciob{\^a}ca}, year = {2014}, title = {{Reducing Partial Equivalence to Partial Correctness}}, booktitle = {Proceedings of SYNASC '14}, organization = {IEEE}, pages = {164--171}, doi = {10.1109/SYNASC.2014.30}, ) @article(full-eq, author = {Stefan Ciob{\^a}ca and Dorel Lucanu and Vlad Rusu and Ro\c{s}u, Grigore}, year = {2016}, title = {A Language-Independent Proof System for Full Program Equivalence}, journal = {Formal Aspects of Computing}, volume = {28}, number = {3}, pages = {469--497}, doi = {10.1007/s00165-016-0361-7}, ) @inproceedings(julien, author = {Julien Cohen}, year = {2016}, title = {Renaming Global Variables in C Mechanically Proved Correct}, editor = {Geoff Hamilton and Alexei Lisitsa and Andrei P. Nemytykh}, booktitle = {{\rm Proceedings of the Fourth International Workshop on} Verification and Program Transformation, {\rm Eindhoven, The Netherlands, 2nd April 2016}}, series = {Electronic Proceedings in Theoretical Computer Science}, volume = {216}, publisher = {Open Publishing Association}, pages = {50--64}, doi = {10.4204/EPTCS.216.3}, ) @inproceedings(sem-based-verif, author = {\c{S}tef\u{a}nescu, Andrei and Daejun Park and Shijiao Yuwen and Yilong Li and Ro\c{s}u, Grigore}, year = {2016}, title = {Semantics-Based Program Verifiers for All Languages}, booktitle = {Proceedings of the 31th Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'16)}, publisher = {ACM}, pages = {74--91}, doi = {10.1145/2983990.2984027}, ) @inproceedings(VPT16, author = {D\'aniel Horp\'acsi and K\H{o}szegi, Judit and Simon Thompson}, year = {2016}, title = {Towards Trustworthy Refactoring in Erlang}, editor = {Geoff Hamilton and Alexei Lisitsa and Andrei P. Nemytykh}, booktitle = {{\rm Proceedings of the Fourth International Workshop on} Verification and Program Transformation, {\rm Eindhoven, The Netherlands, 2nd April 2016}}, series = {Electronic Proceedings in Theoretical Computer Science}, volume = {216}, publisher = {Open Publishing Association}, pages = {83--103}, doi = {10.4204/EPTCS.216.5}, ) @inproceedings(Leitdo, author = {Ant\IeC{\'o}nio Menezes Leitdo}, year = {2002}, title = {{A formal pattern language for refactoring of Lisp programs}}, booktitle = {Proceedings of CSMR '02}, publisher = {IEEE Computer Society}, address = {Washington, DC, USA}, pages = {186--192}, doi = {10.1109/CSMR.2002.995803}, ) @inproceedings(Li:2012:DLS:2259278.2259323, author = {Huiqing Li and Simon Thompson}, year = {2012}, title = {{A Domain-specific Language for Scripting Refactorings in Erlang}}, booktitle = {Proceedings of FASE'12}, publisher = {Springer-Verlag}, address = {Berlin, Heidelberg}, pages = {501--515}, doi = {10.1007/978-3-642-28872-2\_34}, ) @article(strategyerrors, author = {L\IeC{\"a}mmel, Ralf and Simon Thompson and Markus Kaiser}, year = {2013}, title = {Programming errors in traversal programs over structured data}, journal = {Science of Computer Programming}, volume = {78}, number = {10}, pages = {1770 -- 1808}, doi = {10.1016/j.scico.2011.11.006}, ) @article(SMR:SMR316, author = {Tom Mens and Van Eetvelde, Niels and Serge Demeyer and Dirk Janssens}, year = {2005}, title = {Formalizing refactorings with graph transformations}, journal = {Journal of Software Maintenance and Evolution}, volume = {17}, number = {4}, pages = {247--276}, doi = {10.1002/smr.316}, ) @incollection(Olmos05, author = {Karina Olmos and Eelco Visser}, year = {2005}, title = {{Composing Source-to-Source Data-Flow Transformations with Rewriting Strategies and Dependent Dynamic Rewrite Rules}}, editor = {Rastislav Bodik}, booktitle = {C{ompiler Construction}}, series = {LNCS}, volume = {3443}, publisher = {Springer Berlin Heidelberg}, pages = {204--220}, doi = {10.1007/978-3-540-31985-6\_14}, ) @phdthesis(Opdyke:1992:ROF:169783, author = {William F. Opdyke}, year = {1992}, title = {{Refactoring Object-oriented Frameworks}}, school = {University of Illinois}, ) @inproceedings(Padioleau:plos06, author = {Yoann Padioleau and Ren{\'e} Rydhof Hansen and Julia L. Lawall and Gilles Muller}, year = {2006}, title = {Semantic Patches for Documenting and Automating Collateral Evolutions in Linux Device Drivers}, booktitle = {Proceedings of the 3rd Workshop on Programming Languages and Operating Systems: Linguistic Support for Modern Operating Systems}, series = {PLOS '06}, publisher = {ACM}, address = {New York, NY, USA}, pages = {10}, doi = {10.1145/1215995.1216005}, ) @phdthesis(Roberts:1999:PAR:929806, author = {Donald Bradley Roberts}, year = {1999}, title = {{Practical Analysis for Refactoring}}, school = {University of Illinois}, ) @article(koverview, author = {Ro{\c s}u, Grigore and {\c S}erb{\u a}nu{\c t}{\u a}, Traian Florin}, year = {2010}, title = {An Overview of the {K} Semantic Framework}, journal = {Journal of Logic and Algebraic Programming}, volume = {79}, number = {6}, pages = {397--434}, doi = {10.1016/j.jlap.2010.03.012}, ) @article(Schaefer:2010:SIR:1932682.1869485, author = {Max Schaefer and Oege de Moor}, year = {2010}, title = {{Specifying and Implementing Refactorings}}, journal = {SIGPLAN Not.}, volume = {45}, number = {10}, pages = {286--301}, doi = {10.1145/1932682.1869485}, ) @inproceedings(ver-ref-sultana, author = {Nik Sultana and Simon Thompson}, year = {2008}, title = {{Mechanical Verification of Refactorings}}, booktitle = {Proceedings of PEPM '08}, publisher = {ACM}, address = {New York, NY, USA}, pages = {51--60}, doi = {10.1145/1328408.1328417}, ) @misc(cefp11lecture, author = {T\IeC{\'o}th, Melinda and Boz\IeC{\'o}, Istv\IeC{\'a}n and Horv\IeC{\'a}th, Zolt\IeC{\'a}n}, year = {2011}, title = {Reverse Engineering of Complex Software Systems via Static Analysis}, howpublished = {Lecture at 4th Central European Functional Programming School, Budapest, Hungary}, ) @inproceedings(Verbaere:2006:JSL:1134285.1134311, author = {Mathieu Verbaere and Ran Ettinger and Oege de Moor}, year = {2006}, title = {{JunGL: A Scripting Language for Refactoring}}, booktitle = {Proceedings of ICSE '06}, publisher = {ACM}, address = {New York, NY, USA}, pages = {172--181}, doi = {10.1145/1134285.1134311}, )