Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1632149.1632154acmotherconferencesArticle/Chapter ViewAbstractPublication PageshtConference Proceedingsconference-collections
research-article

Composite refactoring using fine-grained transformations

Published: 12 October 2009 Publication History
  • Get Citation Alerts
  • Abstract

    This paper reports on an aspect of an ongoing study whose overall objective is to explore the consequences of isolating prototypical transformations used in building refactorings. These have been called fine-grained transformations (FGTs) and have been built into a Prolog-based prototype refactoring tool. The paper shows how this tool uses FGTs to build composite refactorings from primitive refactorings. It indicates how composite-level and FGT-enabling preconditions can be derived and utilised to avoid the rollback problem. FGT-based composite refactorings therefore retain the advantages of building composite refactorings from primitive ones, but simultaneously offer the additional potential benefits to be derived from a more fine-grained exposition of the refactoring task.

    References

    [1]
    Astels, D. (2002), Refactoring with UML, In: Proc. Int'l Conf. eXtreme Programming and Flexible Processes in Software Engineering (pp. 67--70).
    [2]
    Bottoni, P., Parisi-Presicce, F.,&Taentzer, G. (2002). Coordinated distributed diagram transformation for software evolution, Electronic Notes in Theoretical Computer Science 72(4).
    [3]
    Cuny, J., Ehrig, H., Engels, G.,&Rozenberg, G. (1996). editor "Graph Grammars and Their Application to Computer Science," Lecture Notes in Computer Science 1073, Springer-Verlag.
    [4]
    Engels, G., Hartmut, E.,&Rozenberg, G. (1996). editors, "Special Issue on Graph Transformations", Fundamenta Informaticae 26 (3, 4), IOS Press.
    [5]
    Ehrig, H., Engels, G., Kreowski, J.,&Rozenberg, G. (2000). editors, "Theory and Application to Graph Transformations," Lecture Notes in Computer Science 1764, Springer-Verlag.
    [6]
    Fowler, M. (1999), Refactoring: Improving the Design of Existing Code. Addison-Wesley.
    [7]
    Jahnke, J.,&Zundorf, A. (1997). Rewriting poor design patterns by good design patterns, in: S. Demeyer and H. Gall, editors, Proc. of ESEC/FSE '97 Workshop on Object-Oriented Reengineering, Technical University of Vienna, Technical Report TUV-1841-97-10.
    [8]
    Kniesel, G. (2006), A logic foundation for conditional program transformations. Technical report no IAI-TR-2006-01, ISSN 0944-8535, CS Dept III.
    [9]
    Kniesel, G.&Koch, H. (2004). Static composition of refactorings. Science of Computer Programming, 52:9--51.
    [10]
    Mens, T. (1999), A formal foundation for object-oriented software evolution. PhD thesis, Vrije Universiteit Brussel.
    [11]
    Mens, T. (2005), "On the use of graph transformations for model refactoring," in Generative and transformational techniques in software engineering (J. V. Ralf Lämmel, Joao Saraivaed.), pp. 67--98, Departamento di Informatica, Universidade do Minho.
    [12]
    Mens, T., Van Eetvelde, N., Demeyer, S.,&Janssens, D. (2005). Formalizing refactorings with graph transformations. Journal on Software Maintenance and Evolution 17(4), 247--276, Wiley.
    [13]
    Mens, T., Van Gorp, P., Varró, D.,&Karsai, G. (2005). "Applying a model transformation taxonomy to graph transformation technology," in Proc. Int'l Workshop on Graph and Model Transformation (GraMoT2005).
    [14]
    Mens, T., Demeyer, S.,&Janssens, D. (2002). "Formalising behaviour preserving program transformations," in Graph Transformation, Lecture Notes in Computer Science, vol. 2505, pp. 286--301, Springer-Verlag.
    [15]
    Mens, T.&Tourwe', T. (2004). A survey of software refactoring. IEEE Transactions on Software Engineering, vol. 30 n. 2, p. 126--139.
    [16]
    Object Management Group (2005), "Unified Modeling Language: Infrastructure version 2.0." formal/2005-07-05.
    [17]
    Opdyke, W.,&Johnson R. (1993). Creating abstract superclasses by refactoring. Proceedings ACM Computer Science Conference. ACM Press, pp. 66--73.
    [18]
    Opdyke, W. (1992), Refactoring object-oriented frameworks. Ph.D. thesis. University of Illinois at Urbana-Champaign.
    [19]
    Porres, I. (2003), Model refactorings as rule-based update transformations. Proceedings of UML 2003 Conference, pages 159--174.
    [20]
    Roberts, D. (1999), Practical Analysis for Refactoring. PhD thesis, University of Illinois at Urbana-Champaign
    [21]
    Roberts, D., Brant, J.,&Johnson, R. (1997). A refactoring tool for smalltalk. Theory and Practice of Object Systems, vol. 3, no. 4, pp. 253--263.
    [22]
    Saadeh, E., Kourie, D.,&Boake, A. (2008), An Algorithm for Ordering Refactorings Based on Fine-Grained Model Transformations, 7th International Conference on Software Methodologies, Tools and Techniques, 225--243, ISSN:0922--6389, SOMET08, Sharjah, UAE.
    [23]
    Saadeh, E., Kourie, D.&Boake, A. (2008). Model Refactorings as Logic-Based Fine-Grain Transformations, Proceedings of the 9th African Conference on Research in Computer Science and Applied Mathematics, 703--710, ISBN:2-7261-1299-4, Rabat, Morocco.
    [24]
    Saadeh, E., Kourie, D.,&Boake, A. (2009). Fine-grain Transformations to Refactor UML Models, Proceedings of The Warm Up Workshop for ACM/IEEE ICSE 2010, 45--51, ACM ISBN: 978-1-60558-565-9, Cape Town, South Africa.
    [25]
    Sunyé, G., Pollet, D., Le Traon, Y.,&Jéézéquel, J.-M. (2001). Refactoring UML models, In: Proc. Int'l Conf. Unified Modeling Language (pp. 134--138), LNCS 2185, Springer

    Cited By

    View all

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    SAICSIT '09: Proceedings of the 2009 Annual Research Conference of the South African Institute of Computer Scientists and Information Technologists
    October 2009
    225 pages
    ISBN:9781605586434
    DOI:10.1145/1632149
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 12 October 2009

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. FGT-enabling precondition
    2. composite
    3. fine-grain transformations
    4. primitive
    5. refactoring-level precondition

    Qualifiers

    • Research-article

    Conference

    SAICSIT '09

    Acceptance Rates

    Overall Acceptance Rate 187 of 439 submissions, 43%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media