ASSISTING REFACTORING TOOL DEVELOPMENT THROUGH REFACTORING CHARACTERIZATION

Raúl Marticorena, Carlos López, Javier Pérez, Yania Crespo

Abstract

Tool support for refactoring is widespread nowadays. The most widely known IDEs include refactoring support, and many refactoring-specific tools are also available. Developers are aware of refactoring activities and they do refactor their applications even manually or in an assisted way. For the users of refactoring tools, the current state of the art is well documented in refactoring catalogs, where objectives, motivation, mechanisms, etc. are defined. There are also available collections of criteria to detect refactoring opportunities; compilations of guidelines to help decide when and how to apply refactorings. However, refactoring tool implementors can not only base their work on the documentation available in refactoring catalogs because they do not offer clear guidelines on how to build the tools to automate these refactorings. Implementing refactoring tools without any guidance, involves reasoning about which will be the better plan to implement refactoring operations in the tool, their complexity or their graphical interface design, etc. This paper introduces a refactoring characterization, and proposes how it can help refactoring tool implementors on making decisions.

References

  1. Ambler, S. W. and Sadalage, P. J. (2006). Refactoring Databases: Evolutionary Database Design. AddisonWesley Professional.
  2. Crespo, Y. and Marqués, J. M. (2001). Definición de un Marco de Trabajo para el Análisis de Refactorizaciones de software. Actas JISBD'01,VI Jornadas de Ingeniería del Software y Bases de Datos, pages 297- 310.
  3. Emerson Murphy-Hill, A. P. B. (2008). Refactoring tools: Fitness for purpose. IEEE Software, 25(5):38 - 44.
  4. Fowler, M. (2000). Refactoring. Improving the Design of Existing Code. Addison-Wesley.
  5. Kerievsky, J. (2004). Refactoring to Patterns. AddisonWesley.
  6. Lippert, M. and Roock, S. (2006). Refactoring in Large Software Projects: Performing Complex Restructurings Successfully. Wiley, 1st edition.
  7. L ópez, C., Marticorena, R., and Crespo, Y. (2006). Caracterización de Refactorizaciones para la Implementación en Herramientas. In Actas JISBD'06, XI Jornadas de Ingeniería del Software y Bases de Datos, Sitges, Barcelona, 2006. ISBN:84-95999-99-4, pages 538-543.
  8. Marticorena, R. and Crespo, Y. (2008). Dynamism in Refactoring Construction and Evolution. A Solution Based on XML and Reflection. In 3rd International Conference on Software and Data Technologies (ICSOFT), pages 214 - 219.
  9. Marticorena, R., L ópez, C., Crespo, Y., and Pérez, J. (2007). Reuse Based Refactoring Tools. In WRT'07, 1st Workshop on Refactoring Tools, Berlin, Germany., pages 21-23. ECOOP'07.
  10. Meszaros, G. (2007). xUnit Test Patterns: Refactoring Test Code (Addison Wesley Signature Series). AddisonWesley Longman, Amsterdam.
  11. Opdyke, W. F. (1992). Refactoring Object-Oriented Frameworks. PhD thesis, University of Illinois at UrbanaChampaign, IL, USA.
  12. Zannier, C. and Maurer, F. (2003). Tool support for complex refactoring to design patterns. In Marchesi, M. and Succi, G., editors, XP, volume 2675 of Lecture Notes in Computer Science, pages 123-130. Springer.
Download


Paper Citation


in Harvard Style

Marticorena R., López C., Pérez J. and Crespo Y. (2011). ASSISTING REFACTORING TOOL DEVELOPMENT THROUGH REFACTORING CHARACTERIZATION . In Proceedings of the 6th International Conference on Software and Database Technologies - Volume 2: ICSOFT, ISBN 978-989-8425-77-5, pages 232-237. DOI: 10.5220/0003610902320237


in Bibtex Style

@conference{icsoft11,
author={Raúl Marticorena and Carlos López and Javier Pérez and Yania Crespo},
title={ASSISTING REFACTORING TOOL DEVELOPMENT THROUGH REFACTORING CHARACTERIZATION},
booktitle={Proceedings of the 6th International Conference on Software and Database Technologies - Volume 2: ICSOFT,},
year={2011},
pages={232-237},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0003610902320237},
isbn={978-989-8425-77-5},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 6th International Conference on Software and Database Technologies - Volume 2: ICSOFT,
TI - ASSISTING REFACTORING TOOL DEVELOPMENT THROUGH REFACTORING CHARACTERIZATION
SN - 978-989-8425-77-5
AU - Marticorena R.
AU - López C.
AU - Pérez J.
AU - Crespo Y.
PY - 2011
SP - 232
EP - 237
DO - 10.5220/0003610902320237