This thesis defines a set of program restructuring operations (refactorings) that support the design, evolution and reuse of object-oriented application frameworks.
The focus of the thesis is on automating the refactorings in a way that preserves the behavior of a program. The refactorings are defined to be behavior preserving, provided that their preconditions are met. Most of the refactorings are simple to implement and it is almost trivial to show that they are behavior preserving. However, for a few refactorings, one or more of their preconditions are in general undecidable. Fortunately, for some cases it can be determined whether these refactorings can be applied safely.
Three of the most complex refactorings are defined in detail: generalizing the inheritance hierarchy, specializing the inheritance hierarchy and using aggregations to model the relationships among classes. These operations are decomposed into more primitive parts, and the power of these operations is discussed from the perspectives of automatability and usefulness in supporting design.
Two design constraints needed in refactoring are class invariants and exclusive components. These constraints are needed to ensure that behavior is preserved across some refactorings. This thesis gives some conservative algorithms for determining whether a program satisfies these constraints, and describes how to use this design information to refactor a program.
Cited By
- Chen T, Jiang Y, Fan F, Liu B and Liu H A Position-Aware Approach to Decomposing God Classes Proceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering, (129-140)
- Liu J, Jin W, Zhou J, Feng Q, Fan M, Wang H and Liu T (2024). 3Erefactor: Effective, Efficient and Executable Refactoring Recommendation for Software Architectural Consistency, IEEE Transactions on Software Engineering, 50:10, (2633-2655), Online publication date: 1-Oct-2024.
- Wang L, Wang Q, Wang J, Zhao Y, Wei M, Quan Z, Cui D and Li Q HECS: A Hypergraph Learning-Based System for Detecting Extract Class Refactoring Opportunities Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis, (1851-1855)
- Chi X, Liu H, Li G, Wang W, Xia Y, Jiang Y, Zhang Y and Ji W An Automated Approach to Extracting Local Variables Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (313-325)
- Oliveira J, Mongiovi M and Souto S An empirical study of the relationship between refactorings and merge conflicts in Javascript code Proceedings of the XXXVII Brazilian Symposium on Software Engineering, (89-98)
- Wu Z, Chen X and Lee S (2023). A systematic literature review on Android-specific smells, Journal of Systems and Software, 201:C, Online publication date: 1-Jul-2023.
- Schuckert F, Katt B and Langweg H (2023). Insecurity Refactoring, Computers and Security, 128:C, Online publication date: 1-May-2023.
- Altoyan N and Batory D (2022). On Proving the Correctness of Refactoring Class Diagrams of MDE Metamodels, ACM Transactions on Software Engineering and Methodology, 32:2, (1-42), Online publication date: 30-Apr-2023.
- Bibiano A, Uchôa A, Assunção W, Tenório D, Colanzi T, Vergilio S and Garcia A (2023). Composite refactoring, Information and Software Technology, 156:C, Online publication date: 1-Apr-2023.
- Töpel D and Kaczmarek-Heß M Towards flexible creation of multi-level models Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings, (404-413)
- Leandro O, Gheyi R, Teixeira L, Ribeiro M and Garcia A A Technique to Test Refactoring Detection Tools Proceedings of the XXXVI Brazilian Symposium on Software Engineering, (188-197)
- Liu C, Macedo N and Cunha A (2022). Merging cloned Alloy models with colorful refactorings, Science of Computer Programming, 220:C, Online publication date: 1-Aug-2022.
- Marmolejos L, AlOmar E, Mkaouer M, Newman C and Ouni A (2021). On the use of textual feature extraction techniques to support the automated detection of refactoring documentation, Innovations in Systems and Software Engineering, 18:2, (233-249), Online publication date: 1-Jun-2022.
- Rebai S, Alizadeh V, Kessentini M, Fehri H and Kazman R (2022). Enabling Decision and Objective Space Exploration for Interactive Multi-Objective Refactoring, IEEE Transactions on Software Engineering, 48:5, (1560-1578), Online publication date: 1-May-2022.
- Almogahed A, Omar M and Zakaria N (2022). Refactoring Codes to Improve Software Security Requirements, Procedia Computer Science, 204:C, (108-115), Online publication date: 1-Jan-2022.
- AlOmar E, Mkaouer M, Newman C and Ouni A (2021). On preserving the behavior in software refactoring, Information and Software Technology, 140:C, Online publication date: 1-Dec-2021.
- Coelho F, Tsantalis N, Massoni T and Alves E An Empirical Study on Refactoring-Inducing Pull Requests Proceedings of the 15th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), (1-12)
- Li G, Liu H and Nyamawe A (2020). A Survey on Renamings of Software Entities, ACM Computing Surveys, 53:2, (1-38), Online publication date: 31-Mar-2021.
- Sousa L, Cedrim D, Garcia A, Oizumi W, Bibiano A, Oliveira D, Kim M and Oliveira A Characterizing and Identifying Composite Refactorings Proceedings of the 17th International Conference on Mining Software Repositories, (186-197)
- Eilertsen A Predictable, Flexible or Correct Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops, (330-333)
- Eilertsen A Refactoring operations Grounded in manual code changes Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Companion Proceedings, (182-185)
- Lau J, Sivaraman A, Zhang Q, Gulzar M, Cong J and Kim M HeteroRefactor Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering, (493-505)
- Mondal M, Roy C and Schneider K (2022). A survey on clone refactoring and tracking, Journal of Systems and Software, 159:C, Online publication date: 1-Jan-2020.
- Miltner A, Gulwani S, Le V, Leung A, Radhakrishna A, Soares G, Tiwari A and Udupa A (2019). On the fly synthesis of edit suggestions, Proceedings of the ACM on Programming Languages, 3:OOPSLA, (1-29), Online publication date: 10-Oct-2019.
- Santos B, de Souza Landi A, de Guzmán I, Piattini M and de Camargo V Towards a Reference Architecture for ADM-based Modernization Tools Proceedings of the XXXIII Brazilian Symposium on Software Engineering, (114-123)
- Nie P, Rai R, Li J, Khurshid S, Mooney R and Gligoric M A framework for writing trigger-action todo comments in executable format Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (385-396)
- Tsimakis A, Zarras A and Vassiliadis P The three-step refactoring detector pattern Proceedings of the 24th European Conference on Pattern Languages of Programs, (1-9)
- Rowe R, Férée H, Thompson S and Owens S Characterising renaming within OCaml’s module system: theory and implementation Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, (950-965)
- Oliveira J, Gheyi R, Mongiovi M, Soares G, Ribeiro M and Garcia A (2019). Revisiting the refactoring mechanics, Information and Software Technology, 110:C, (136-138), Online publication date: 1-Jun-2019.
- Misbhauddin M and Alshayeb M (2019). An integrated metamodel-based approach to software model refactoring, Software and Systems Modeling (SoSyM), 18:3, (2013-2050), Online publication date: 1-Jun-2019.
- Rowe R, Férée H, Thompson S and Owens S Rotor Proceedings of the 3rd International Workshop on Refactoring, (27-30)
- Kim J, Batory D and Gligoric M Code transformation issues in move-instance-method refactorings Proceedings of the 3rd International Workshop on Refactoring, (17-22)
- Ribeiro R, de Meneses Campanhã Souza M, de Oliveira P and de Alcântara dos Santos Neto P Usability problems discovery based on the automatic detection of usability smells Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing, (2328-2335)
- Vedurada J and Nandivada V (2018). Identifying refactoring opportunities for replacing type code with subclass and state, Proceedings of the ACM on Programming Languages, 2:OOPSLA, (1-28), Online publication date: 24-Oct-2018.
- Rodrigues E, Durelli R, de Bettio R, Montecchi L and Terra R Refactorings for replacing dynamic instructions with static ones Proceedings of the XXII Brazilian Symposium on Programming Languages, (59-66)
- Arcelli D, Cortellessa V and Di Pompeo D A metamodel for the specification and verification of model refactoring actions Proceedings of the 2nd International Workshop on Refactoring, (14-21)
- Liu H, Xu Z and Zou Y Deep learning based feature envy detection Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, (385-396)
- Wang K, Zhu C, Celik A, Kim J, Batory D and Gligoric M Towards refactoring-aware regression test selection Proceedings of the 40th International Conference on Software Engineering, (233-244)
- Tsantalis N, Mansouri M, Eshkevari L, Mazinanian D and Dig D Accurate and efficient refactoring detection in commit history Proceedings of the 40th International Conference on Software Engineering, (483-494)
- Mumtaz H, Alshayeb M, Mahmood S and Niazi M (2018). An empirical study to improve software security through the application of code refactoring, Information and Software Technology, 96:C, (112-125), Online publication date: 1-Apr-2018.
- Steimann F (2018). Constraint-Based Refactoring, ACM Transactions on Programming Languages and Systems, 40:1, (1-40), Online publication date: 31-Mar-2018.
- Wang Y, Yu H, Zhu Z, Zhang W and Zhao Y (2018). Automatic Software Refactoring via Weighted Clustering in Method-Level Networks, IEEE Transactions on Software Engineering, 44:3, (202-236), Online publication date: 1-Mar-2018.
- Trinder P, Chechina N, Papaspyrou N, Sagonas K, Thompson S, Adams S, Aronis S, Baker R, Bihari E, Boudeville O, Cesarini F, Stefano M, Eriksson S, fördős V, Ghaffari A, Giantsios A, Green R, Hoch C, Klaftenegger D, Li H, Lundin K, Mackenzie K, Roukounaki K, Tsiouris Y and Winblad K (2017). Scaling Reliably, ACM Transactions on Programming Languages and Systems, 39:4, (1-46), Online publication date: 31-Dec-2018.
- Chapman C, Wang P and Stolee K Exploring regular expression comprehension Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering, (405-416)
- Durelli R, Viana M, de S. Landi A, Durelli V, Delamaro M and de Camargo V Improving the structure of KDM instances via refactorings Proceedings of the XXXI Brazilian Symposium on Software Engineering, (174-183)
- Tóth M, Bozó I and Kozsik T Pattern Candidate Discovery and Parallelization Techniques Proceedings of the 29th Symposium on the Implementation and Application of Functional Programming Languages, (1-26)
- Vedurada J and Nandivada V Refactoring opportunities for replacing type code with state and subclass Proceedings of the 39th International Conference on Software Engineering Companion, (305-307)
- Sam G, Cameron N and Potanin A Automated refactoring of rust programs Proceedings of the Australasian Computer Science Week Multiconference, (1-9)
- Zhang Y (2017). Improving the learning of parallel programming using software refactoring, Computer Applications in Engineering Education, 25:1, (112-119), Online publication date: 1-Jan-2017.
- Nanthaamornphong A A case study Proceedings of the Fourth International Workshop on Software Engineering for HPC in Computational Science and Engineering, (2-9)
- Silva D, Tsantalis N and Valente M Why we refactor? confessions of GitHub contributors Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, (858-870)
- Mazinanian D and Tsantalis N Migrating cascading style sheets to preprocessors by introducing mixins Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, (672-683)
- Peldszus S, Kulcsár G, Lochau M and Schulze S Continuous detection of design flaws in evolving object-oriented programs using incremental multi-pattern matching Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, (578-589)
- Liu W and Liu H (2016). Major motivations for extract method refactorings, Frontiers of Computer Science: Selected Publications from Chinese Universities, 10:4, (644-656), Online publication date: 1-Aug-2016.
- Mongiovi M Scaling testing of refactoring engines Proceedings of the 38th International Conference on Software Engineering Companion, (674-676)
- Kim J, Batory D, Dig D and Azanza M Improving refactoring speed by 10X Proceedings of the 38th International Conference on Software Engineering, (1145-1156)
- Schuster C, Disney T and Flanagan C Macrofication Proceedings of the 25th European Symposium on Programming Languages and Systems - Volume 9632, (644-671)
- Khatchadourian R, Moore O and Masuhara H Towards improving interface modularity in legacy Java software through automated refactoring Companion Proceedings of the 15th International Conference on Modularity, (104-106)
- Lin Y, Okur S and Dig D Study and refactoring of Android asynchronous programming Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering, (224-235)
- Peldszus S, Kulcsár G, Lochau M and Schulze S Incremental Co-Evolution of Java Programs based on Bidirectional Graph Transformation Proceedings of the Principles and Practices of Programming on The Java Platform, (138-151)
- Orrú M, Porru S, Marchesi M and Tonelli R The evolution of knowledge in the refactoring research field Scientific Workshop Proceedings of the XP2015, (1-10)
- Parsai A, Murgia A, Soetens Q and Demeyer S Mutation testing as a safety net for test code refactoring Scientific Workshop Proceedings of the XP2015, (1-7)
- Vakilian M, Phaosawasdi A, Ernst M and Johnson R Cascade Proceedings of the 37th International Conference on Software Engineering - Volume 1, (234-245)
- Vakilian M, Sauciuc R, Morgenthaler J and Mirrokni V Automated decomposition of build targets Proceedings of the 37th International Conference on Software Engineering - Volume 1, (123-133)
- Gligoric M, Schulte W, Prasad C, van Velzen D, Narasamdya I and Livshits B (2014). Automated migration of build scripts using dynamic analysis and search-based refactoring, ACM SIGPLAN Notices, 49:10, (599-616), Online publication date: 31-Dec-2015.
- Milea N, Jiang L and Khoo S Vector abstraction and concretization for scalable detection of refactorings Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, (86-97)
- Mazinanian D, Tsantalis N and Mesbah A Discovering refactoring opportunities in cascading style sheets Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, (496-506)
- Gligoric M, Schulte W, Prasad C, van Velzen D, Narasamdya I and Livshits B Automated migration of build scripts using dynamic analysis and search-based refactoring Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications, (599-616)
- Milea N, Jiang L and Khoo S Scalable detection of missed cross-function refactorings Proceedings of the 2014 International Symposium on Software Testing and Analysis, (138-148)
- Silva D, Terra R and Valente M Recommending automated extract method refactorings Proceedings of the 22nd International Conference on Program Comprehension, (146-156)
- Grechanik M, McMillan C, Dasgupta T, Poshyvanyk D and Gethers M Redacting sensitive information in software artifacts Proceedings of the 22nd International Conference on Program Comprehension, (314-325)
- Vakilian M and Johnson R Alternate refactoring paths reveal usability problems Proceedings of the 36th International Conference on Software Engineering, (1106-1116)
- Ge X and Murphy-Hill E Manual refactoring changes with automated refactoring validation Proceedings of the 36th International Conference on Software Engineering, (1095-1105)
- Mitsch S, Quesel J and Platzer A Refactoring, Refinement, and Reasoning Proceedings of the 19th International Symposium on FM 2014: Formal Methods - Volume 8442, (481-496)
- Fenske W, Thüm T and Saake G A taxonomy of software product line reengineering Proceedings of the 8th International Workshop on Variability Modelling of Software-Intensive Systems, (1-8)
- Raychev V, Schäfer M, Sridharan M and Vechev M (2013). Refactoring with synthesis, ACM SIGPLAN Notices, 48:10, (339-354), Online publication date: 12-Nov-2013.
- Raychev V, Schäfer M, Sridharan M and Vechev M Refactoring with synthesis Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications, (339-354)
- Schulze S, Lochau M and Brunswig S Implementing refactorings for FOP Proceedings of the 5th International Workshop on Feature-Oriented Software Development, (33-40)
- Dohrn H and Riehle D Design and implementation of wiki content transformations and refactorings Proceedings of the 9th International Symposium on Open Collaboration, (1-10)
- Vakilian M, Chen N, Zilouchian Moghaddam R, Negara S and Johnson R A compositional paradigm of automating refactorings Proceedings of the 27th European conference on Object-Oriented Programming, (527-551)
- Shomrat M and Feldman Y Detecting refactored clones Proceedings of the 27th European conference on Object-Oriented Programming, (502-526)
- Mair M and Herold S Towards extensive software architecture erosion repairs Proceedings of the 7th European conference on Software Architecture, (299-306)
- Alves E, Machado P, Massoni T and Santos S A refactoring-based approach for test case selection and prioritization Proceedings of the 8th International Workshop on Automation of Software Test, (93-99)
- Axelsen E and Krogdahl S (2012). Package templates, ACM SIGPLAN Notices, 48:3, (50-59), Online publication date: 10-Apr-2013.
- Soares G, Gheyi R, Murphy-Hill E and Johnson B (2013). Comparing approaches to analyze refactoring activity on software repositories, Journal of Systems and Software, 86:4, (1006-1022), Online publication date: 1-Apr-2013.
- Kulesza U, Soares S, Chavez C, Castor F, Borba P, Lucena C, Masiero P, Sant'Anna C, Ferrari F, Alves V, Coelho R, Figueiredo E, Pires P, Delicato F, Piveta E, Silva C, Camargo V, Braga R, Leite J, Lemos O, MendonçA N, Batista T, BonifáCio R, Cacho N, Silva L, Von Staa A, Silveira F, Valente M, Alencar F, Castro J, Ramos R, Penteado R and Rubira C (2013). The crosscutting impact of the AOSD Brazilian research community, Journal of Systems and Software, 86:4, (905-933), Online publication date: 1-Apr-2013.
- Schulze S, Richers O and Schaefer I Refactoring delta-oriented software product lines Proceedings of the 12th annual international conference on Aspect-oriented software development, (73-84)
- Radpour S, Hendren L and Schäfer M Refactoring MATLAB Proceedings of the 22nd international conference on Compiler Construction, (224-243)
- Langer P, Wimmer M, Brosch P, Herrmannsdörfer M, Seidl M, Wieland K and Kappel G (2013). A posteriori operation detection in evolving software models, Journal of Systems and Software, 86:2, (551-566), Online publication date: 1-Feb-2013.
- Robbes R, Lungu M and Röthlisberger D How do developers react to API deprecation? Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, (1-11)
- Holmes R and Walker R (2013). Systematizing pragmatic software reuse, ACM Transactions on Software Engineering and Methodology, 21:4, (1-44), Online publication date: 1-Nov-2012.
- Fokaefs M, Tsantalis N, Stroulia E and Chatzigeorgiou A (2012). Identification and application of Extract Class refactorings in object-oriented systems, Journal of Systems and Software, 85:10, (2241-2260), Online publication date: 1-Oct-2012.
- Axelsen E and Krogdahl S Package templates Proceedings of the 11th International Conference on Generative Programming and Component Engineering, (50-59)
- Unterholzner M Refactoring support for Smalltalk using static type inference Proceedings of the International Workshop on Smalltalk Technologies, (1-18)
- Thies A and Bodden E RefaFlex: safer refactorings for reflective Java programs Proceedings of the 2012 International Symposium on Software Testing and Analysis, (1-11)
- Atkinson C, Gerbig R and Kennel B On-the-fly emendation of multi-level models Proceedings of the 8th European conference on Modelling Foundations and Applications, (194-209)
- Ettinger R Program sliding Proceedings of the 26th European conference on Object-Oriented Programming, (713-737)
- Tamrawi A, Nguyen H, Nguyen H and Nguyen T Build code analysis with symbolic evaluation Proceedings of the 34th International Conference on Software Engineering, (650-660)
- Vakilian M, Chen N, Negara S, Rajkumar B, Bailey B and Johnson R Use, disuse, and misuse of automated refactorings Proceedings of the 34th International Conference on Software Engineering, (233-243)
- Hills M, Klint P and Vinju J Scripting a refactoring with Rascal and Eclipse Proceedings of the Fifth Workshop on Refactoring Tools, (40-49)
- Li H and Thompson S Let's make refactoring tools user-extensible! Proceedings of the Fifth Workshop on Refactoring Tools, (32-39)
- Counsell S and Swift S (2012). Issues arising from refactoring studies, ACM SIGSOFT Software Engineering Notes, 37:3, (1-5), Online publication date: 16-May-2012.
- de Jonge M and Visser E A language generic solution for name binding preservation in refactorings Proceedings of the Twelfth Workshop on Language Descriptions, Tools, and Applications, (1-8)
- Hills M, Klint P and Vinju J Program analysis scenarios in rascal Proceedings of the 9th international conference on Rewriting Logic and Its Applications, (10-30)
- Li H and Thompson S A domain-specific language for scripting refactorings in erlang Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering, (501-515)
- Schulze S, Thüm T, Kuhlemann M and Saake G Variant-preserving refactoring in feature-oriented software product lines Proceedings of the 6th International Workshop on Variability Modeling of Software-Intensive Systems, (73-81)
- Vakilian M, Chen N, Negara S, Rajkumar B, Zilouchian Moghaddam R and Johnson R The need for richer refactoring usage data Proceedings of the 3rd ACM SIGPLAN workshop on Evaluation and usability of programming languages and tools, (31-38)
- Barzilay O Example embedding Proceedings of the 10th SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software, (137-144)
- Feldthaus A, Millstein T, Møller A, Schäfer M and Tip F Tool-supported refactoring for JavaScript Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications, (119-138)
- Feldthaus A, Millstein T, Møller A, Schäfer M and Tip F (2011). Tool-supported refactoring for JavaScript, ACM SIGPLAN Notices, 46:10, (119-138), Online publication date: 18-Oct-2011.
- Pissanetzky S Structural emergence in partially ordered sets is the key to intelligence Proceedings of the 4th international conference on Artificial general intelligence, (92-101)
- Steimann F, Kollee C and von Pilgrim J A refactoring constraint language and its application to eiffel Proceedings of the 25th European conference on Object-oriented programming, (255-280)
- Majchrzak T and Kuchen H Logic Java Proceedings of the 20th international conference on Functional and constraint logic programming, (122-137)
- Whiteside I, Aspinall D, Dixon L and Grov G Towards formal proof script refactoring Proceedings of the 18th Calculemus and 10th international conference on Intelligent computer mathematics, (260-275)
- Maruyama K and Omori T A security-aware refactoring tool for Java programs Proceedings of the 4th Workshop on Refactoring Tools, (22-28)
- Steimann F and Stolz F Refactoring to role objects Proceedings of the 33rd International Conference on Software Engineering, (441-450)
- Stolee K and Elbaum S Refactoring pipe-like mashups for end-user programmers Proceedings of the 33rd International Conference on Software Engineering, (81-90)
- Schäfer M, Sridharan M, Dolby J and Tip F Refactoring Java programs for flexible locking Proceedings of the 33rd International Conference on Software Engineering, (71-80)
- Brown C, Loidl H and Hammond K ParaForming Proceedings of the 12th international conference on Trends in Functional Programming, (82-97)
- Boniati B, Charao A, Stein B, Rissetti G and Piveta E (2011). Automated refactorings for high performance Fortran programmes, International Journal of High Performance Systems Architecture, 3:2/3, (98-109), Online publication date: 1-May-2011.
- Tip F, Fuhrer R, Kieżun A, Ernst M, Balaban I and De Sutter B (2011). Refactoring using type constraints, ACM Transactions on Programming Languages and Systems, 33:3, (1-47), Online publication date: 1-Apr-2011.
- Yokomori R, Siy H, Yoshida N, Noro M and Inoue K Measuring the effects of aspect-oriented refactoring on component relationships Proceedings of the tenth international conference on Aspect-oriented software development, (215-226)
- Massoni T, Gheyi R and Borba P Synchronizing model and program refactoring Proceedings of the 13th Brazilian conference on Formal methods: foundations and applications, (96-111)
- Duan J, Zhu Q and Guan Z A requirement-driven approach to enterprise application development Proceedings of the 2010 international conference on Web information systems and mining, (295-302)
- Schaefer M and de Moor O (2010). Specifying and implementing refactorings, ACM SIGPLAN Notices, 45:10, (286-301), Online publication date: 17-Oct-2010.
- Schaefer M and de Moor O Specifying and implementing refactorings Proceedings of the ACM international conference on Object oriented programming systems languages and applications, (286-301)
- Reimann J, Seifert M and Aßmann U Role-based generic model refactoring Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II, (78-92)
- Ramos R, Castro J, Araújo J, Alencar F and Penteado R Divide and conquer refactoring Proceedings of the 8th Latin American Conference on Pattern Languages of Programs, (1-11)
- Schneider J, Vasa R and Hoon L Do metrics help to identify refactoring? Proceedings of the Joint ERCIM Workshop on Software Evolution (EVOL) and International Workshop on Principles of Software Evolution (IWPSE), (3-7)
- Bavota G, De Lucia A, Marcus A and Oliveto R A two-step technique for extract class refactoring Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering, (151-154)
- Borba P, Teixeira L and Gheyi R A theory of software product line refinement Proceedings of the 7th International colloquium conference on Theoretical aspects of computing, (15-43)
- Schäfer M, Dolby J, Sridharan M, Torlak E and Tip F Correct refactoring of concurrent java code Proceedings of the 24th European conference on Object-oriented programming, (225-249)
- Nouza O, Merunka V and Virius M Automated model transformations based on STRIPS planning Proceedings of the 6th International Workshop on Enterprise & Organizational Modeling and Simulation, (1-13)
- Brown C, Li H and Thompson S An expression processor Proceedings of the 11th international conference on Trends in functional programming, (31-49)
- Counsell S, Hierons R, Hamza H, Black S and Durrand M Is a strategy for code smell assessment long overdue? Proceedings of the 2010 ICSE Workshop on Emerging Trends in Software Metrics, (32-38)
- Rama G A desiderata for refactoring-based software modularity improvement Proceedings of the 3rd India software engineering conference, (93-102)
- Kuhlemann M, Batory D and Kästner C (2009). Safe composition of non-monotonic features, ACM SIGPLAN Notices, 45:2, (177-186), Online publication date: 1-Feb-2010.
- Saadeh E and Kourie D Composite refactoring using fine-grained transformations Proceedings of the 2009 Annual Research Conference of the South African Institute of Computer Scientists and Information Technologists, (22-29)
- Kuhlemann M, Batory D and Kästner C Safe composition of non-monotonic features Proceedings of the eighth international conference on Generative programming and component engineering, (177-186)
- Pérez J and Crespo Y Perspectives on automated correction of bad smells Proceedings of the joint international and annual ERCIM workshops on Principles of software evolution (IWPSE) and software evolution (Evol) workshops, (99-108)
- Wloka J, Sridharan M and Tip F Refactoring for reentrancy Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, (173-182)
- Barzilay O, Hazzan O and Yehudai A Characterizing Example Embedding as a software activity Proceedings of the 2009 ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation, (5-8)
- Saadeh E, Kourie D and Boake A Fine-grain transformations to refactor UML models Proceedings of the Warm Up Workshop for ACM/IEEE ICSE 2010, (45-51)
- Piveta E, Pimenta M, Araújo J, Moreira A, Guerreiro P and Price R Representing refactoring opportunities Proceedings of the 2009 ACM symposium on Applied Computing, (1867-1872)
- Shonle M, Griswold W and Lerner S Addressing common crosscutting problems with Arcum Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, (64-69)
- Schäfer M, Ekman T and de Moor O (2008). Sound and extensible renaming for java, ACM SIGPLAN Notices, 43:10, (277-294), Online publication date: 27-Oct-2008.
- Abadi A, Ettinger R and Feldman Y Re-approaching the refactoring Rubicon Proceedings of the 2nd Workshop on Refactoring Tools, (1-4)
- Murphy-Hill E, Black A, Dig D and Parnin C Gathering refactoring data Proceedings of the 2nd Workshop on Refactoring Tools, (1-5)
- Şavga I, Rudolf M, Götz S and Aßmann U Practical refactoring-based framework upgrade Proceedings of the 7th international conference on Generative programming and component engineering, (171-180)
- Schäfer M, Ekman T and de Moor O Sound and extensible renaming for java Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications, (277-294)
- Ratkowski A and Zalewski A Transformational design of business processes for SOA Proceedings of the Third IFIP TC 2 Central and East European conference on Software engineering techniques, (76-90)
- Hamza H, Counsell S, Hall T and Loizou G Code smell eradication and associated refactoring Proceedings of the 2nd conference on European computing conference, (102-107)
- Stopford B and Counsell S (2008). A framework for the simulation of structural software evolution, ACM Transactions on Modeling and Computer Simulation, 18:4, (1-36), Online publication date: 1-Sep-2008.
- Kegel H and Steimann F Systematically refactoring inheritance to delegation in java Proceedings of the 30th international conference on Software engineering, (431-440)
- Murphy-Hill E and Black A Breaking the barriers to successful refactoring Proceedings of the 30th international conference on Software engineering, (421-430)
- Sui Y, Lin J and Zhang X (2008). An automated refactoring tool for dataflow visual programming language, ACM SIGPLAN Notices, 43:4, (21-28), Online publication date: 1-Apr-2008.
- Wloka J, Hirschfeld R and Hänsel J Tool-supported refactoring of aspect-oriented programs Proceedings of the 7th international conference on Aspect-oriented software development, (132-143)
- Massoni T, Gheyi R and Borba P Formal model-driven program refactoring Proceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering, (362-376)
- Olsina L, Rossi G, Garrido A, Distante D and Canfora G Incremental quality improvement in web applications using web model refactoring Proceedings of the 2007 international conference on Web information systems engineering, (411-422)
- Xing Z and Stroulia E (2007). API-Evolution Support with Diff-CatchUp, IEEE Transactions on Software Engineering, 33:12, (818-836), Online publication date: 1-Dec-2007.
- Liu H, Li G, Ma Z and Shao W Scheduling of conflicting refactorings to promote quality improvement Proceedings of the 22nd IEEE/ACM International Conference on Automated Software Engineering, (489-492)
- Şavga I and Rudolf M Refactoring-based support for binary compatibility in evolving frameworks Proceedings of the 6th international conference on Generative programming and component engineering, (175-184)
- Counsell S and Hierons R Refactoring test suites versus test behaviour Fourth international workshop on Software quality assurance: in conjunction with the 6th ESEC/FSE joint meeting, (31-38)
- Tip F Refactoring using type constraints Proceedings of the 14th international conference on Static Analysis, (1-17)
- Wachsmuth G Metamodel adaptation and model co-adaptation Proceedings of the 21st European conference on Object-Oriented Programming, (600-624)
- Stroggylos K and Spinellis D Refactoring--Does It Improve Software Quality? Proceedings of the 5th International Workshop on Software Quality
- Lämmel R Style normalization for canonical X-to-O mappings Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, (31-40)
- Mannarswamy S, Doval S, Sandanagobalane H and Nanjundaiah M (2006). TRICK, ACM SIGPLAN Notices, 41:12, (28-37), Online publication date: 1-Dec-2006.
- Dig D, Manzoor K, Nguyen T and Johnson R MolhadoRef Proceedings of the 2006 OOPSLA workshop on eclipse technology eXchange, (25-29)
- Murphy-Hill E and Black A Tools for a successful refactoring Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications, (694-695)
- Verbaere M, Payement A and de Moor O Scripting refactorings with JunGL Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications, (651-652)
- Alves V, Gheyi R, Massoni T, Kulesza U, Borba P and Lucena C Refactoring product lines Proceedings of the 5th international conference on Generative programming and component engineering, (201-210)
- Baumeister J and Seipel D Verification and refactoring of ontologies with rules Proceedings of the 15th international conference on Managing Knowledge in a World of Networks, (82-95)
- Counsell S, Hassoun Y, Loizou G and Najjar R Common refactorings, a dependency graph and some code smells Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering, (288-296)
- Boshernitsan M, Doong R and Savoia A From daikon to agitator Proceedings of the 2006 international symposium on Software testing and analysis, (169-180)
- Seng O, Stammel J and Burkhart D Search-based determination of refactorings for improving the class structure of object-oriented systems Proceedings of the 8th annual conference on Genetic and evolutionary computation, (1909-1916)
- Dig D, Comertoglu C, Marinov D and Johnson R Automated detection of refactorings in evolving components Proceedings of the 20th European conference on Object-Oriented Programming, (404-428)
- Zeiss B, Neukirchen H, Grabowski J, Evans D and Baker P Refactoring and metrics for TTCN-3 test suites Proceedings of the 5th international conference on System Analysis and Modeling: language Profiles, (148-165)
- Juillerat N and Hirsbrunner B FOOD Proceedings of the 2006 conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the fifth SoMeT_06, (452-461)
- Verbaere M, Ettinger R and de Moor O JunGL Proceedings of the 28th international conference on Software engineering, (172-181)
- Stoyanov E, Wischy M and Roller D Using managed communication channels in software components Proceedings of the 3rd conference on Computing frontiers, (177-186)
- Advani D, Hassoun Y and Counsell S Extracting refactoring trends from open-source software and a possible solution to the 'related refactoring' conundrum Proceedings of the 2006 ACM symposium on Applied computing, (1713-1720)
- Van Der Straeten R and D'Hondt M Model refactorings through rule-based inconsistency resolution Proceedings of the 2006 ACM symposium on Applied computing, (1210-1217)
- Hoffmann B, Janssens D and Van Eetvelde N (2006). Cloning and Expanding Graph Transformation Rules for Refactoring, Electronic Notes in Theoretical Computer Science (ENTCS), 152, (53-67), Online publication date: 1-Mar-2006.
- Bravenboer M, van Dam A, Olmos K and Visser E (2006). Program Transformation with Scoped Dynamic Rewrite Rules, Fundamenta Informaticae, 69:1-2, (123-178), Online publication date: 1-Jan-2006.
- Monteiro M and Fernandes J Towards a catalogue of refactorings and code smells for aspectj Transactions on Aspect-Oriented Software Development I, (214-258)
- Bravenboer M, van Dam A, Olmos K and Visser E (2005). Program Transformation with Scoped Dynamic Rewrite Rules, Fundamenta Informaticae, 69:1-2, (123-178), Online publication date: 1-Jan-2006.
- Blewitt A, Bundy A and Stark I Automatic verification of design patterns in Java Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, (224-232)
- Balaban I, Tip F and Fuhrer R Refactoring support for class library migration Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (265-279)
- Massoni T, Gheyi R and Borba P A model-driven approach to formal refactoring Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (124-125)
- Jamwal V and Iyer S BoBs Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (98-99)
- Balaban I, Tip F and Fuhrer R (2005). Refactoring support for class library migration, ACM SIGPLAN Notices, 40:10, (265-279), Online publication date: 12-Oct-2005.
- Lämmel R and Meijer E Mappings make data processing go 'round Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering, (169-218)
- Krahn H and Rumpe B Techniques for lightweight generator refactoring Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering, (437-446)
- Robillard M and Murphy G (2005). Just-in-time concern modeling, ACM SIGSOFT Software Engineering Notes, 30:4, (1-3), Online publication date: 1-Jul-2005.
- Klint P, Lämmel R and Verhoef C (2005). Toward an engineering discipline for grammarware, ACM Transactions on Software Engineering and Methodology, 14:3, (331-380), Online publication date: 1-Jul-2005.
- Overbey J, Xanthos S, Johnson R and Foote B Refactorings for Fortran and high-performance computing Proceedings of the second international workshop on Software engineering for high performance computing system applications, (37-39)
- Robillard M and Murphy G Just-in-time concern modeling Proceedings of the 2005 workshop on Modeling and analysis of concerns in software, (1-3)
- Basit H, Rajapakse D and Jarzabek S Beyond templates Proceedings of the 27th international conference on Software engineering, (451-459)
- Henkel J and Diwan A CatchUp! Proceedings of the 27th international conference on Software engineering, (274-283)
- Lämmel R (2005). Evolution Scenarios for Rule-Based Implementations of Language-Based Functionality, Electronic Notes in Theoretical Computer Science (ENTCS), 128:1, (61-79), Online publication date: 1-May-2005.
- Hannemann J, Murphy G and Kiczales G Role-based refactoring of crosscutting concerns Proceedings of the 4th international conference on Aspect-oriented software development, (135-146)
- Cole L and Borba P Deriving refactorings for AspectJ Proceedings of the 4th international conference on Aspect-oriented software development, (123-134)
- Monteiro M and Fernandes J Towards a catalog of aspect-oriented refactorings Proceedings of the 4th international conference on Aspect-oriented software development, (111-122)
- Garzas J and Piattini M (2005). An Ontology for Microarchitectural Design Knowledge, IEEE Software, 22:2, (28-33), Online publication date: 1-Mar-2005.
- Godfrey M and Zou L (2005). Using Origin Analysis to Detect Merging and Splitting of Source Code Entities, IEEE Transactions on Software Engineering, 31:2, (166-181), Online publication date: 1-Feb-2005.
- Anderson P (2004). A refactoring tool for Ada 95, ACM SIGAda Ada Letters, XXIV:4, (23-28), Online publication date: 1-Dec-2004.
- Anderson P A refactoring tool for Ada 95 Proceedings of the 2004 annual ACM SIGAda international conference on Ada: The engineering of correct and reliable software for real-time & distributed systems using Ada and related technologies, (23-28)
- Cole L and Borba P Deriving refactorings for aspectJ Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, (202-203)
- Perera R Refactoring Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, (2-3)
- Rysselberghe F and Demeyer S Evaluating Clone Detection Techniques from a Refactoring Perspective Proceedings of the 19th IEEE international conference on Automated software engineering, (336-339)
- Yu W, Li J and Butler G Refactoring Use Case Models on Episodes Proceedings of the 19th IEEE international conference on Automated software engineering, (328-331)
- Daugherty G Invited application paper Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, (56-67)
- Rajesh J and Janakiram D JIAD Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming, (227-237)
- Baxter I, Pidgeon C and Mehlich M DMS® Proceedings of the 26th International Conference on Software Engineering, (625-634)
- Ettinger R and Verbaere M Untangling Proceedings of the 3rd international conference on Aspect-oriented software development, (93-101)
- Black A, Schärli N and Ducasse S (2003). Applying traits to the smalltalk collection classes, ACM SIGPLAN Notices, 38:11, (47-64), Online publication date: 26-Nov-2003.
- Tip F, Kiezun A and Bäumer D (2003). Refactoring for generalization using type constraints, ACM SIGPLAN Notices, 38:11, (13-26), Online publication date: 26-Nov-2003.
- Cortes M, Fontoura M and Lucena C (2003). Using refactoring and unification rules to assist framework evolution, ACM SIGSOFT Software Engineering Notes, 28:6, (1-1), Online publication date: 1-Nov-2003.
- Spinellis D (2003). Global Analysis and Transformations in Preprocessed Languages, IEEE Transactions on Software Engineering, 29:11, (1019-1030), Online publication date: 1-Nov-2003.
- Hannemann J, Fritz T and Murphy G Refactoring to aspects Proceedings of the 2003 OOPSLA workshop on eclipse technology eXchange, (74-78)
- Black A, Schärli N and Ducasse S Applying traits to the smalltalk collection classes Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, (47-64)
- Tip F, Kiezun A and Bäumer D Refactoring for generalization using type constraints Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, (13-26)
- Garrido A and Johnson R Refactoring C with conditional compilation Proceedings of the 18th IEEE International Conference on Automated Software Engineering, (323-326)
- Li H, Reinke C and Thompson S Tool support for refactoring functional programs Proceedings of the 2003 ACM SIGPLAN workshop on Haskell, (27-38)
- Counsell S, Hassoun Y, Johnson R, Mannock K and Mendes E Trends in Java code changes Proceedings of the 2nd international conference on Principles and practice of programming in Java, (45-48)
- Walter B Extending testability for automated refactoring Proceedings of the 4th international conference on Extreme programming and agile processes in software engineering, (429-430)
- Rui K and Butler G Refactoring use case models Proceedings of the 26th Australasian computer science conference - Volume 16, (301-308)
- Whittle J Formal approaches to systems analysis using UML Advanced topics in database research vol. 1, (324-341)
- Zannier C Tool support for refactoring to design patterns Companion of the 17th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (122-123)
- Lämmel R Towards generic refactoring Proceedings of the 2002 ACM SIGPLAN workshop on Rule-based programming, (15-28)
- Lämmel R and Visser J Design patterns for functional strategic programming Proceedings of the 2002 ACM SIGPLAN workshop on Rule-based programming, (1-14)
- Eloff J Software restructuring Proceedings of the 2002 annual research conference of the South African institute of computer scientists and information technologists on Enablement through technology, (83-92)
- Sunyé G, Guennec A and Jézéquel J (2002). Using UML Action Semantics for model execution and transformation, Information Systems, 27:6, (445-457), Online publication date: 1-Sep-2002.
- Baxter I DMS Proceedings of the International Workshop on Principles of Software Evolution, (48-51)
- Garrido A and Johnson R Challenges of refactoring C programs Proceedings of the International Workshop on Principles of Software Evolution, (6-14)
- Ho W, Jézéquel J, Pennaneac'h F and Plouzeau N A toolkit for weaving aspect oriented UML designs Proceedings of the 1st international conference on Aspect-oriented software development, (99-105)
- Kataoka Y, Notkin D, Ernst M and Griswold W Automated Support for Program Refactoring using Invariants Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
- Mens T and Demeyer S Future trends in software evolution metrics Proceedings of the 4th International Workshop on Principles of Software Evolution, (83-86)
- Lyons P, Moretti G and Reeves C Some possibilities of visual programming languages Proceedings of the Symposium on Computer Human Interaction, (43-47)
- Murphy G, Lai A, Walker R and Robillard M Separating features in source code Proceedings of the 23rd International Conference on Software Engineering, (275-284)
- Butler G and Xu L Cascaded refactoring for framework Proceedings of the 2001 symposium on Software reusability: putting software reuse in context, (51-57)
- Maruyama K Automated method-extraction refactoring by using block-based slicing Proceedings of the 2001 symposium on Software reusability: putting software reuse in context, (31-40)
- Butler G and Xu L (2001). Cascaded refactoring for framework, ACM SIGSOFT Software Engineering Notes, 26:3, (51-57), Online publication date: 1-May-2001.
- Maruyama K (2001). Automated method-extraction refactoring by using block-based slicing, ACM SIGSOFT Software Engineering Notes, 26:3, (31-40), Online publication date: 1-May-2001.
- Tokuda L and Batory D (2001). Evolving Object-Oriented Designs with Refactorings, Automated Software Engineering, 8:1, (89-120), Online publication date: 1-Jan-2001.
- Ruby C and Leavens G (2000). Safely creating correct subclasses without seeing superclass code, ACM SIGPLAN Notices, 35:10, (208-228), Online publication date: 1-Oct-2000.
- Demeyer S, Ducasse S and Nierstrasz O (2000). Finding refactorings via change metrics, ACM SIGPLAN Notices, 35:10, (166-177), Online publication date: 1-Oct-2000.
- Ruby C and Leavens G Safely creating correct subclasses without seeing superclass code Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (208-228)
- Demeyer S, Ducasse S and Nierstrasz O Finding refactorings via change metrics Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (166-177)
- Cinnéide M Automated refactoring to introduce design patterns Proceedings of the 22nd international conference on Software engineering, (722-724)
- Subramaniam G Object model resurrection — an object oriented maintenance activity Proceedings of the 22nd international conference on Software engineering, (324-333)
- Maruyama K and Shima K (2000). An Automatic Class Generation Mechanism by Using Method Integration, IEEE Transactions on Software Engineering, 26:5, (425-440), Online publication date: 1-May-2000.
- Mens T and D'Hondt T (2000). Automating Support for Software Evolution in UML, Automated Software Engineering, 7:1, (39-59), Online publication date: 1-Mar-2000.
- Seguin C Refactoring tool challenges in a strongly typed language (poster session) Addendum to the 2000 proceedings of the conference on Object-oriented programming, systems, languages, and applications (Addendum), (101-102)
- Demeyer S, Ducasse S and Tichelaar S Why unified is not universal Proceedings of the 2nd international conference on The unified modeling language: beyond the standard, (630-644)
- Maruyama K and Shima K Automatic method refactoring using weighted dependence graphs Proceedings of the 21st international conference on Software engineering, (236-245)
- Tokuda L and Batory D Automating three modes of evolution for object-oriented software architectures Proceedings of the 5th conference on USENIX Conference on Object-Oriented Technologies & Systems - Volume 5, (14-14)
- Valasareddi R and Carver D A representation model for procedural program maintenance Proceedings of the 1999 ACM symposium on Applied computing, (580-585)
- Snelting G and Tip F (1998). Reengineering class hierarchies using concept analysis, ACM SIGSOFT Software Engineering Notes, 23:6, (99-110), Online publication date: 1-Nov-1998.
- Snelting G and Tip F Reengineering class hierarchies using concept analysis Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering, (99-110)
- Chan E, Boyland J and Scherlis W Promises Proceedings of the 20th international conference on Software engineering, (167-176)
- Tip F and Sweeney P (1997). Class hierarchy specialization, ACM SIGPLAN Notices, 32:10, (271-285), Online publication date: 9-Oct-1997.
- Tip F and Sweeney P Class hierarchy specialization Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (271-285)
- Scherlis W Small-scale structural reengineering of software Joint proceedings of the second international software architecture workshop (ISAW-2) and international workshop on multiple perspectives in software development (Viewpoints '96) on SIGSOFT '96 workshops, (116-120)
- Moore I (1996). Automatic inheritance hierarchy restructuring and method refactoring, ACM SIGPLAN Notices, 31:10, (235-250), Online publication date: 1-Oct-1996.
- Moore I Automatic inheritance hierarchy restructuring and method refactoring Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (235-250)
- Tilley S Documenting-in-the-large vs. documenting-in-the-small Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: distributed computing - Volume 2, (1083-1090)
- Opdyke W and Johnson R Creating abstract superclasses by refactoring Proceedings of the 1993 ACM conference on Computer science, (66-73)
Index Terms
- Refactoring object-oriented frameworks
Recommendations
Tool-Supported Refactoring of Existing Object-Oriented Code into Aspects
Aspect-Oriented Programming (AOP) provides mechanisms for the separation of crosscutting concerns—functionalities scattered through the system and tangled with the base code. Existing systems are a natural testbed for the AOP approach since they often ...
Aspect-Oriented Refactoring of Legacy Applications: An Evaluation
The primary claimed benefits of aspect-oriented programming (AOP) are that it improves the understandability and maintainability of software applications by modularizing crosscutting concerns. Before there is widespread adoption of AOP, developers need ...
Automated Inference of Pointcuts in Aspect-Oriented Refactoring
ICSE '07: Proceedings of the 29th international conference on Software EngineeringSoftware refactoring is the process of reorganizing the internal structure of code while preserving the external behavior. Aspect-Oriented Programming (AOP) provides new modularization of software systems by encapsulating crosscutting concerns. Based on ...