HURDLES IN MULTI-LANGUAGE REFACTORING OF HIBERNATE APPLICATIONS

Hagen Schink, Martin Kuhlemann, Gunter Saake, Ralf Lämmel

2011

Abstract

Different programming languages can be involved in the implementation of a single software application. In these software applications, source code of one programming language interacts with code of a different language. By refactoring an artifact of one programming language, the interaction of this artifact with an artifact written in another programming language may break. We present a study on refactoring an software application that contains artifacts of different languages.

References

  1. Ambler, S. (2003). Agile Database Techniques: Effective Strategies for the Agile Software Developer. John Wiley & Sons, Inc., New York, NY, USA.
  2. Ambler, S. (2003). Agile Database Techniques: Effective Strategies for the Agile Software Developer. John Wiley & Sons, Inc., New York, NY, USA.
  3. Andersen, L. (2006). JDBC T M 4.0 Specification. Sun Microsystems, Inc., Santa Clara, USA, final edition.
  4. Andersen, L. (2006). JDBC T M 4.0 Specification. Sun Microsystems, Inc., Santa Clara, USA, final edition.
  5. Carey, M. and DeWitt, D. (1996). Of objects and databases:A decade of turmoil. In VLDB. Citeseer.
  6. Carey, M. and DeWitt, D. (1996). Of objects and databases:A decade of turmoil. In VLDB. Citeseer.
  7. Chen, N. and Johnson, R. (2008). Toward Refactoring in a Polyglot World: Extending Automated Refactoring Support across Java and XML. Workshop on Refactoring Tools.
  8. Chen, N. and Johnson, R. (2008). Toward Refactoring in a Polyglot World: Extending Automated Refactoring Support across Java and XML. Workshop on Refactoring Tools.
  9. Cleve, A. (2009). Program Analysis and Transformation for Data-Intensive System Evolution. PhD thesis, University of Namur.
  10. Cleve, A. (2009). Program Analysis and Transformation for Data-Intensive System Evolution. PhD thesis, University of Namur.
  11. Cunha, A. and Visser, J. (2007). Strongly Typed Rewriting For Coupled Software Transformation. Electronic Notes in Theoretical Computer Science, 174(1).
  12. Cunha, A. and Visser, J. (2007). Strongly Typed Rewriting For Coupled Software Transformation. Electronic Notes in Theoretical Computer Science, 174(1).
  13. DeMichiel, L. (2009). JSR 317: JavaTM Persistence API, Version 2.0. Sun Microsystems, Inc., Santa Clara, USA, final edition.
  14. DeMichiel, L. (2009). JSR 317: JavaTM Persistence API, Version 2.0. Sun Microsystems, Inc., Santa Clara, USA, final edition.
  15. Ducasse, S., Lanza, M., and Tichelaar, S. (2000). MOOSE: An Extensible Language-Independent Environment for Reengineering Object-Oriented Systems. CoSET.
  16. Ducasse, S., Lanza, M., and Tichelaar, S. (2000). MOOSE: An Extensible Language-Independent Environment for Reengineering Object-Oriented Systems. CoSET.
  17. Fjeldberg, H.-C. (2008). Polyglot Programming. Master thesis, Norwegian University of Science and Technology, Trondheim/Norway.
  18. Fjeldberg, H.-C. (2008). Polyglot Programming. Master thesis, Norwegian University of Science and Technology, Trondheim/Norway.
  19. Ford, N. (2008). The Productive Programmer. O'Reilly.
  20. Ford, N. (2008). The Productive Programmer. O'Reilly.
  21. Fowler, M. (1999). Refactoring: improving the design of existing code. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
  22. Fowler, M. (1999). Refactoring: improving the design of existing code. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
  23. Grogan, M. (2006). JSR-223 Scripting for the Java Platform. Sun Microsystems, Inc., Santa Clara, USA, final edition.
  24. Grogan, M. (2006). JSR-223 Scripting for the Java Platform. Sun Microsystems, Inc., Santa Clara, USA, final edition.
  25. Hainaut, J.-L. (1996). Specification Preservation in Schema Transformations - Application to Semantics and Statistics. Data & Knowledge Engineering, 19.
  26. Hainaut, J.-L. (1996). Specification Preservation in Schema Transformations - Application to Semantics and Statistics. Data & Knowledge Engineering, 19.
  27. Harold, E. R. and Means, W. S. (2002). XML in a nutshell. O'Reilly & Associates, Inc., Sebastopol, CA, USA.
  28. Harold, E. R. and Means, W. S. (2002). XML in a nutshell. O'Reilly & Associates, Inc., Sebastopol, CA, USA.
  29. ISO/IEC (2008). International Standard ISO/IEC 9075- 1 Information technology Database languages SQL Part 1: Framework (SQL/Framework). ISO/IEC, third edition.
  30. ISO/IEC (2008). International Standard ISO/IEC 9075- 1 Information technology Database languages SQL Part 1: Framework (SQL/Framework). ISO/IEC, third edition.
  31. Keith, M. and Schincariol, M. (2009). Pro JPA 2: Mastering the Java Persistence API. Apress, Berkely, CA, USA.
  32. Keith, M. and Schincariol, M. (2009). Pro JPA 2: Mastering the Java Persistence API. Apress, Berkely, CA, USA.
  33. Kempf, M., Kleeb, R., Klenk, M., and Sommerlad, P. (2008). Cross Language Refactoring for Eclipse plugins. OOPSLA.
  34. Kempf, M., Kleeb, R., Klenk, M., and Sommerlad, P. (2008). Cross Language Refactoring for Eclipse plugins. OOPSLA.
  35. Lämmel, R. (2002). Towards Generic Refactoring. ACM SIGPLAN Workshop on Rule-based Programming.
  36. Lämmel, R. (2002). Towards Generic Refactoring. ACM SIGPLAN Workshop on Rule-based Programming.
  37. Lämmel, R. (2004). Coupled Software Transformations. Workshop on Software Evolution Transformations.
  38. Lämmel, R. (2004). Coupled Software Transformations. Workshop on Software Evolution Transformations.
  39. Laski, J., Stanley, W., and Hurst, J. (1998). Dependency analysis of Ada programs. ACM SIGAda Ada Letters, XVIII(6).
  40. Laski, J., Stanley, W., and Hurst, J. (1998). Dependency analysis of Ada programs. ACM SIGAda Ada Letters, XVIII(6).
  41. Leyderman, R. (2005). Oracle rC ++ Call Interface. Oracle Corporation.
  42. Leyderman, R. (2005). Oracle rC ++ Call Interface. Oracle Corporation.
  43. Li, H. (2006). Refactoring Haskell Programs. PhD thesis, University of Kent, Canterbury, Kent, UK.
  44. Li, H. (2006). Refactoring Haskell Programs. PhD thesis, University of Kent, Canterbury, Kent, UK.
  45. Linos, P. K., Lucas, W., Myers, S., and Maier, E. (2007). A Metrics Tool for Multi-Language Software. SEA.
  46. Linos, P. K., Lucas, W., Myers, S., and Maier, E. (2007). A Metrics Tool for Multi-Language Software. SEA.
  47. Mens, T. and Tourwé, T. (2004). A survey of software refactoring. IEEE Transactions on software engineering, 30(2).
  48. Mens, T. and Tourwé, T. (2004). A survey of software refactoring. IEEE Transactions on software engineering, 30(2).
  49. Michels, J.-E., Kulkarni, K., Farrar, M. C., Eisenberg, A., Mattos, N., and Darwen, H. (2003). The SQL Standard. it - Information Technology, 45(1).
  50. Michels, J.-E., Kulkarni, K., Farrar, M. C., Eisenberg, A., Mattos, N., and Darwen, H. (2003). The SQL Standard. it - Information Technology, 45(1).
  51. Opdyke, W. (1992). Refactoring Object-Oriented Frameworks. PhD thesis, University of Illinois at UrbanaChampaign.
  52. Opdyke, W. (1992). Refactoring Object-Oriented Frameworks. PhD thesis, University of Illinois at UrbanaChampaign.
  53. Schink, H. (2010). Sprachübergreifende Refactoring Feature Module. Master thesis, Ottovon-Guericke-University, Magdeburg. Available online: http://wwwiti.cs.uni-magde burg.de/iti db/publikationen/ps/auto/thesisSchink.pdf.
  54. Schink, H. (2010). Sprachübergreifende Refactoring Feature Module. Master thesis, Ottovon-Guericke-University, Magdeburg. Available online: http://wwwiti.cs.uni-magde burg.de/iti db/publikationen/ps/auto/thesisSchink.pdf.
  55. Schink, H. and Kuhlemann, M. (2010). Hurdles in refactoring multi-language programs. Technical Report FIN007-2010, University of Magdeburg, Germany.
  56. Schink, H. and Kuhlemann, M. (2010). Hurdles in refactoring multi-language programs. Technical Report FIN007-2010, University of Magdeburg, Germany.
  57. Schrijvers, T., Serebrenik, A., and Demoen, B. (2004). Refactoring Prolog Code. Workshop on (Constraint) Logic Programming.
  58. Schrijvers, T., Serebrenik, A., and Demoen, B. (2004). Refactoring Prolog Code. Workshop on (Constraint) Logic Programming.
  59. Strein, D., Kratz, H., and Lowe, W. (2006). Cross-Language Program Analysis and Refactoring. Workshop on Source Code Analysis and Manipulation.
  60. Strein, D., Kratz, H., and Lowe, W. (2006). Cross-Language Program Analysis and Refactoring. Workshop on Source Code Analysis and Manipulation.
  61. Sunyé, G., Pollet, D., Traon, Y. L., and Jézéquel, J. (2001). Refactoring UML Models. UML.
  62. Sunyé, G., Pollet, D., Traon, Y. L., and Jézéquel, J. (2001). Refactoring UML Models. UML.
  63. Tichelaar, S. (2001). Modeling Object-Oriented Software for Reverse Engineering and Refactoring. PhD thesis, University of Berne, Switzerland.
  64. Tichelaar, S. (2001). Modeling Object-Oriented Software for Reverse Engineering and Refactoring. PhD thesis, University of Berne, Switzerland.
  65. Van Gorp, P., Stenten, H., Mens, T., and Demeyer, S. (2003). Towards Automating Source-Consistent UML Refactorings. UML.
  66. Van Gorp, P., Stenten, H., Mens, T., and Demeyer, S. (2003). Towards Automating Source-Consistent UML Refactorings. UML.
  67. Visser, J. (2008). Coupled Transformation of Schemas, Documents, Queries, and Constraints. Electronic Notes in Theoretical Computer Science, 200(3).
  68. Visser, J. (2008). Coupled Transformation of Schemas, Documents, Queries, and Constraints. Electronic Notes in Theoretical Computer Science, 200(3).
Download


Paper Citation


in Harvard Style

Schink H., Kuhlemann M., Saake G. and Lämmel R. (2011). HURDLES IN MULTI-LANGUAGE REFACTORING OF HIBERNATE APPLICATIONS . In Proceedings of the 6th International Conference on Software and Database Technologies - Volume 2: ICSOFT, ISBN 978-989-8425-77-5, pages 129-134. DOI: 10.5220/0003469501290134


in Harvard Style

Schink H., Kuhlemann M., Saake G. and Lämmel R. (2011). HURDLES IN MULTI-LANGUAGE REFACTORING OF HIBERNATE APPLICATIONS . In Proceedings of the 6th International Conference on Software and Database Technologies - Volume 2: ICSOFT, ISBN 978-989-8425-77-5, pages 129-134. DOI: 10.5220/0003469501290134


in Bibtex Style

@conference{icsoft11,
author={Hagen Schink and Martin Kuhlemann and Gunter Saake and Ralf Lämmel},
title={HURDLES IN MULTI-LANGUAGE REFACTORING OF HIBERNATE APPLICATIONS},
booktitle={Proceedings of the 6th International Conference on Software and Database Technologies - Volume 2: ICSOFT,},
year={2011},
pages={129-134},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0003469501290134},
isbn={978-989-8425-77-5},
}


in Bibtex Style

@conference{icsoft11,
author={Hagen Schink and Martin Kuhlemann and Gunter Saake and Ralf Lämmel},
title={HURDLES IN MULTI-LANGUAGE REFACTORING OF HIBERNATE APPLICATIONS},
booktitle={Proceedings of the 6th International Conference on Software and Database Technologies - Volume 2: ICSOFT,},
year={2011},
pages={129-134},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0003469501290134},
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 - HURDLES IN MULTI-LANGUAGE REFACTORING OF HIBERNATE APPLICATIONS
SN - 978-989-8425-77-5
AU - Schink H.
AU - Kuhlemann M.
AU - Saake G.
AU - Lämmel R.
PY - 2011
SP - 129
EP - 134
DO - 10.5220/0003469501290134


in EndNote Style

TY - CONF
JO - Proceedings of the 6th International Conference on Software and Database Technologies - Volume 2: ICSOFT,
TI - HURDLES IN MULTI-LANGUAGE REFACTORING OF HIBERNATE APPLICATIONS
SN - 978-989-8425-77-5
AU - Schink H.
AU - Kuhlemann M.
AU - Saake G.
AU - Lämmel R.
PY - 2011
SP - 129
EP - 134
DO - 10.5220/0003469501290134