Main            People          Papers     

Refactoring Researchers

These are people who are (or who were at some time) involved in refactoring research. They are listed in no special order other then how I remember them. Since in the research world there is seldom a lonely ranger, I thought it useful to group clusters of researchers based on their institution affiliation. If I missed somebody, please let me know.

  • Software Architecture Group (SAG) at University of Illinois at Urbana-Champaign
    • Ralph Johnson leads SAG that "is notable for its practical contributions to object technology. Ralph has long been a champion of refactoring, and several of his students have worked on the topic" - Martin Fowler in Preface of Refactoring.
    • Bill Opdyke is the first to coin the term refactoring in the research literature. He wrote the first catalog of refactorings (from which all other catalogs have inspired) in his PhD thesis.
    • Don Roberts is the first to tackle the analysis required for automated refactorings. He wrote the second PhD thesis.
    • John Brant is the "smartest programmer that Ralph Johnson met". Together with Don Roberts he produced the Smalltalk Refactoring Browser , setting a very high standard for any refactoring engine.
    • Alejandra Garrido just finished her PhD on automated refactorings for C language. The biggest challenge was taming the C preprocessor.
    • Jeff Overbey and Spiros Xanthos are the newest addition to the gang. They are developing Photran, an Eclipse-based IDE for Fortran with refactoring support.
    • Brian Foote has been around since it all started in late '80s and he still wishes that refactorings were extended to mean more than behaviour-preserving transformations.
    • Danny Dig is the maintainer of this web page. He got a PhD on the topic of upgrading component-based applications to use the refactored APIs of their components. He developed JavaRefactor, the first open-source refactoring engine for Java and is a contributor to Eclipse's refactoring engine. Currently, he works on refactorings for converting sequential to parallel code for the multicores.
  • IBM OTI Labs, Zurich, Switzerland: Dirk Bauemer, Martin Aeschliman, Markus Keller and Tobias Widmer are the ones mostly responsible for the high quality refactoring engine in Eclipse. They take some of our researchy ideas and turn them into production quality nuggets in Eclipse. Erich Gamma leads this extremely talented team. 
  • Program Analysis and Transformation (PAT) Group at IBM TJ Watson Research Center
    • Frank Tip leads the PAT group. He's been interested in support for more exotic refactorings, namely refactorings that require analyses based on type constraints. He has published recently a lot of refactoring papers in OOPSLA and ECOOP conferences.
    • Robert Fuhrer
    • Julian Dolby
  • Program Analysis Group (PAG) at MIT
    • Michael Ernst leads the PAG. Mike is interested in applying various static and dynamic analysis techniques to refactoring. 
    • Adam Kiezun is one of the original developers of the Eclipse's refactoring engine.
  • William Griswold, currently at UC San Diego, is one of the pioneers who did a lot of early research on refactoring in the 90's
  • Software Composition Group (SCG) at University of Bern
    • Oscar Nierstrasz is leading SCG. He is interested in re-engineering and refactoring is a big chapter in a reengineering trip.
    • Stephan Ducasse is co-director of SCG.
  • Lab on Reverse Engineering (LORE) at University of Antwerp
  • University of Colorado at Boulder
    • Amer Diwan leads this group. He is interested in programming languages and compilers and has a particular favor for refactoring.
    • Christoph Reichenbach he is interested in refactoring support for functional languages.
  • Don Batory at University of Texas at Austin is interested in program transformations in general. His student Lance Tokuda is interested in the evolution of large OO systems through refactorings.
  • Mel Ó Cinnéide at the National University of Ireland, Dublin. His PhD work is a methodology for automating the introduction of design patterns by means of refactoring. More recently, he has combined Refactoring and Search-Based Software Engineering (SBSE) to develop a technique for automatically improving program design.
  • The three amigos in Belgium, Kim Mens, Roel Wuyts and Tom Mens have joined forces to work on software restructuring.
  • The ERCIM Working Group in Europe comprises several people interested in refactoring (among other software evolution topics)
  • Niels Van Eetvelde from University of Antwerp is interested in graph rewriting as a mean to describe refactoring in a formal way. His advisor is Dirk Janssens.
  • Márcio Cornélio at Centro de Informática, UFPE. He wrote his PhD thesis on formalizing refactorings.
  • Barbara Ryder is much into program analysis. She manifested her interest in refactoring at the Dagstuhl Seminar on Program Analysis and Refactoring where she gave a talk on different analyses for OO
  • Programming Tools Group (PTG) at Oxford University
    • Oege de Moor leads PTG
    • Mathieu Verbaere works on an extensible toolkit for refactoring
    • Ran Ettinger is investigating the application of program slicing (and related analyses) to the automation of refactorings such as Split Loop, Replace Temp with Query and Separate Query from Modifier.
  • The Multiview Project at Portland State University
  • Roel Wuyts from Université Libre de Bruxelles has been a long time advocate of Smalltalk and interested in software evolution and refactoring
  • Software Engineering Group at University of Trier, Germany
    • Peter Weißgerber is interested in mining version control systems to find applied refactorings
    • Stephan Diehl is interested in mining version control systems to find applied refactorings
  • Carsten Görg at GeorgiaTech is interested in detecting and visualizing refactorings from software repositories
  • Javier Pérez at University of Valladolid in Spain, is interesed in discovering what refactorings should have been applied to a source code
  • Naouel Moha at University of Montreal, Canada, is interested in finding design flaws and automatically correcting them through refactoring
  • Jan Wloka currently research assistant at Fraunhofer FIRST , works on refactoring for advanced development paradigms, such as AOSD and MDD, with a particular focus on software evolution issues arising from the use of meta-level and generative mechanisms.
  • Software Engineering for Distributed Systems Group at University of Göttingen, Germany, is lead by Jens Grabowski
    • Helmut Neukirchen is doing research on refactoring for the test specification language TTCN-3 (Testing and Test Control Notation Version 3).
    • Benjamin Zeiss is doing research on refactoring for the test specification language TTCN-3 and implemented the first refactoring tool for TTCN-3: TRex - the TTCN-3 Refactoring and Metrics Tool.
  • Simon Thompson leads the group looking at refactoring of functional programs at the University of Kent, in the UK.
  • Gerti Kappel leads a group working on refactorings for models, at the Vienna University of Technology, in Austria.
    • Philip Langer works on a system for specifying model refactorings by example to enable their execution in arbitrary models and the detection of applied refactorings in generic difference reports. This work is done in the context of the model versioning system AMOR
  • Jens Dietrich is the leader of a group from NZ working on architectural refactoring.