@inproceedings(Ajouli:2013, author = {A. Ajouli and J. Cohen and J.-C. Royer}, year = {2013}, title = {Transformations between Composite and Visitor Implementations in {J}ava}, booktitle = {Software Engineering and Advanced Applications (SEAA), 2013 39th EUROMICRO Conference on}, pages = {25--32}, doi = {10.1109/SEAA.2013.53}, ) @article(Blazy-Leroy-Clight-09, author = {Sandrine Blazy and Xavier Leroy}, year = {2009}, title = {Mechanized semantics for the {Clight} subset of the {C} language}, journal = {Journal of Automated Reasoning}, volume = {43}, number = {3}, pages = {263--288}, doi = {10.1007/s10817-009-9148-3}, ) @article(Brant:2015, author = {J. Brant and F. Steimann}, year = {2015}, title = {Refactoring Tools are Trustworthy Enough and Trust Must be Earned}, journal = {Software, IEEE}, volume = {32}, number = {6}, pages = {80--83}, doi = {10.1109/MS.2015.145}, ) @inproceedings(Cohen:2012, author = {J. Cohen and R. Douence and A. Ajouli}, year = {2012}, title = {Invertible Program Restructurings for Continuing Modular Maintenance}, booktitle = {Software Maintenance and Reengineering (CSMR), 2012 16th European Conference on}, pages = {347--352}, doi = {10.1109/CSMR.2012.42}, ) @inproceedings(Cohen:2013, author = {Julien Cohen and Akram Ajouli}, year = {2013}, title = {Practical Use of Static Composition of Refactoring Operations}, booktitle = {Proceedings of the 28th Annual ACM Symposium on Applied Computing}, series = {SAC '13}, publisher = {ACM}, pages = {1700--1705}, doi = {10.1145/2480362.2480684}, ) @phdthesis(Garrido:2005, author = {A. Garrido}, year = {2005}, title = {Program refactoring in the presence of preprocessor directives}, school = {University of Illinois at Urbana-Champaign, Champaign, IL, USA}, url = {http://hdl.handle.net/2142/11082}, ) @inproceedings(Ge:2014, author = {Xi Ge and Murphy-Hill, Emerson}, year = {2014}, title = {Manual Refactoring Changes with Automated Refactoring Validation}, booktitle = {Proceedings of the 36th International Conference on Software Engineering}, series = {ICSE 2014}, publisher = {ACM}, address = {New York, NY, USA}, pages = {1095--1105}, doi = {10.1145/2568225.2568280}, ) @article(composition-of-refactorings2004, author = {G\"unter Kniesel and Helge Koch}, year = {2004}, title = {Static composition of refactorings}, journal = {Science of Computer Programming}, volume = {52}, number = {1–3}, pages = {9--51}, doi = {10.1016/j.scico.2004.03.002}, note = {Special Issue on Program Transformation}, ) @misc(Compcert-C, author = {Xavier Leroy}, year = {2007--2015}, howpublished = {CompCert C web page : \url{http://compcert.inria.fr/compcert-C.html}}, ) @conference(HaRe-Formalisation, author = {Huiqing Li and Simon Thompson}, year = {2005}, title = {{Formalisation of Haskell Refactorings}}, editor = {Marko van Eekelen and Kevin Hammond}, booktitle = {Trends in Functional Programming}, url = {http://www.cs.kent.ac.uk/pubs/2005/2250}, ) @article(HaRe, author = {Huiqing Li and Simon Thompson and Claus Reinke}, year = {2005}, title = {The Haskell Refactorer, HaRe, and its {API}}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {141}, number = {4}, pages = {29--34}, doi = {10.1016/j.entcs.2005.02.053}, note = {Proceedings of the Fifth Workshop on Language Descriptions, Tools, and Applications (LDTA 2005)}, ) @inproceedings(Mongiovi:2011, author = {Melina Mongiovi}, year = {2011}, title = {Safira: A Tool for Evaluating Behavior Preservation}, booktitle = {Proceedings of the ACM International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion}, series = {OOPSLA '11}, publisher = {ACM}, address = {New York, NY, USA}, pages = {213--214}, doi = {10.1145/2048147.2048213}, ) @article(Mongiovi:2014, author = {Melina Mongiovi and Rohit Gheyi and Gustavo Soares and Leopoldo Teixeira and Paulo Borba}, year = {2014}, title = {Making Refactoring Safer Through Impact Analysis}, journal = {Sci. Comput. Program.}, volume = {93}, pages = {39--64}, doi = {10.1016/j.scico.2013.11.001}, ) @incollection(ParsingC:2009, author = {Yoann Padioleau}, year = {2009}, title = {Parsing {C/C++} Code without Pre-processing}, editor = {Oege de Moor and Michael I. Schwartzbach}, booktitle = {Compiler Construction}, series = {Lecture Notes in Computer Science}, volume = {5501}, publisher = {Springer Berlin Heidelberg}, pages = {109--125}, doi = {10.1007/978-3-642-00722-4\kern.08em\vbox{\hrule width.35em height.6pt}\kern.08em9}, ) @article(Pfenning:1988, author = {F. Pfenning and C. Elliott}, year = {1988}, title = {Higher-order Abstract Syntax}, journal = {SIGPLAN Not.}, volume = {23}, number = {7}, pages = {199--208}, doi = {10.1145/960116.54010}, ) @incollection(CorrectRefactoringConcurrentJava, author = {Max Sch\"afer and Julian Dolby and Manu Sridharan and Emina Torlak and Frank Tip}, year = {2010}, title = {Correct Refactoring of Concurrent {J}ava Code}, booktitle = {ECOOP 2010 – Object-Oriented Programming}, series = {Lecture Notes in Computer Science}, volume = {6183}, publisher = {Springer Berlin Heidelberg}, pages = {225--249}, doi = {10.1007/978-3-642-14107-2\kern.08em\vbox{\hrule width.35em height.6pt}\kern.08em11}, ) @inproceedings(Schafer:2009, author = {Max Sch\"{a}fer and Torbj\"{o}rn Ekman and Oege de Moor}, year = {2008}, title = {Challenge Proposal: Verification of Refactorings}, booktitle = {Proceedings of the 3rd Workshop on Programming Languages Meets Program Verification}, series = {PLPV '09}, publisher = {ACM}, address = {New York, NY, USA}, pages = {67--72}, doi = {10.1145/1481848.1481859}, ) @inproceedings(Soares:2012, author = {Gustavo Soares}, year = {2012}, title = {Automated Behavioral Testing of Refactoring Engines}, booktitle = {Proceedings of the 3rd Annual Conference on Systems, Programming, and Applications: Software for Humanity}, series = {SPLASH '12}, publisher = {ACM}, address = {New York, NY, USA}, pages = {105--106}, doi = {10.1145/2384716.2384760}, ) @article(Spinellis:2003, author = {D. Spinellis}, year = {2003}, title = {Global analysis and transformations in preprocessed languages}, journal = {Software Engineering, IEEE Transactions on}, volume = {29}, number = {11}, pages = {1019--1030}, doi = {10.1109/TSE.2003.1245303}, ) @article(Cscout:2010, author = {Diomidis Spinellis}, year = {2010}, title = {CScout: A refactoring browser for C}, journal = {Science of Computer Programming}, volume = {75}, number = {4}, pages = {216--231}, doi = {10.1016/j.scico.2009.09.003}, note = {Experimental Software and Toolkits (EST 3): A special issue of the Workshop on Academic Software Development Tools and Techniques (WASDeTT 2008)}, ) @inproceedings(Sultana-Thompson-2, author = {Nik Sultana and Simon Thompson}, year = {2008}, title = {A Certified Refactoring Engine}, booktitle = {Draft Proceedings of the Ninth Symposium on Trends in Functional Programming (TFP)}, ) @inproceedings(Sultana-Thompson2008, author = {Nik Sultana and Simon Thompson}, year = {2008}, title = {Mechanical Verification of Refactorings}, booktitle = {Proceedings of the 2008 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-based Program Manipulation}, series = {PEPM '08}, publisher = {ACM}, address = {New York, NY, USA}, pages = {51--60}, doi = {10.1145/1328408.1328417}, ) @inproceedings(Vittek:2003, author = {Marian Vittek}, year = {2003}, title = {Refactoring browser with preprocessor}, booktitle = {Software Maintenance and Reengineering, 2003. Proceedings. Seventh European Conference on}, pages = {101--110}, doi = {10.1109/CSMR.2003.1192417}, )