Extreme Programming: Rapid Development for Web-Based Applications
IEEE Internet Computing
Tool support for refactoring to design patterns
OOPSLA '02 Companion of the 17th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Automated auditing of design principle adherence
ACM-SE 42 Proceedings of the 42nd annual Southeast regional conference
JIAD: a tool to infer design patterns in refactoring
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
Static composition of refactorings
Science of Computer Programming - Special issue on program transformation
Towards a catalog of aspect-oriented refactorings
Proceedings of the 4th international conference on Aspect-oriented software development
CatchUp!: capturing and replaying refactorings to support API evolution
Proceedings of the 27th international conference on Software engineering
A practical pattern recovery approach based on both structural and behavioral analysis
Journal of Systems and Software - Special issue: Software engineering education and training
Towards agile security assurance
NSPW '04 Proceedings of the 2004 workshop on New security paradigms
Refactoring support for class library migration
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Refactoring a legacy component for reuse in a software product line: a case study: Practice Articles
Journal of Software Maintenance and Evolution: Research and Practice - IEEE International Conference on Software Maintenance (ICSM2005)
JunGL: a scripting language for refactoring
Proceedings of the 28th international conference on Software engineering
Proceedings of the 2006 ACM symposium on Applied computing
Common refactorings, a dependency graph and some code smells: an empirical study of Java OSS
Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering
Object-oriented cohesion subjectivity amongst experienced and novice developers: an empirical study
ACM SIGSOFT Software Engineering Notes
Work experience versus refactoring to design patterns: a controlled experiment
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Visual support of software engineers during development and maintenance
ACM SIGSOFT Software Engineering Notes
Refactoring test suites versus test behaviour: a TTCN-3 perspective
Fourth international workshop on Software quality assurance: in conjunction with the 6th ESEC/FSE joint meeting
Source code enhancement using reduction of duplicated code
SE'07 Proceedings of the 25th conference on IASTED International Multi-Conference: Software Engineering
A framework for an adaptive refactoring tool
ICAI'06 Proceedings of the 7th WSEAS International Conference on Automation & Information
Visual specification of measurements and redesigns for domain specific visual languages
Journal of Visual Languages and Computing
Design patterns: the devils in the detail
Proceedings of the 2006 conference on Pattern languages of programs
Example-Based Program Transformation
MoDELS '08 Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems
Practical refactoring-based framework upgrade
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
An ontologically-based evaluation of software design methods
The Knowledge Engineering Review
Representing refactoring opportunities
Proceedings of the 2009 ACM symposium on Applied Computing
Systematically Eradicating Data Injection Attacks Using Security-Oriented Program Transformations
ESSoS '09 Proceedings of the 1st International Symposium on Engineering Secure Software and Systems
Code smell eradication and associated refactoring
ECC'08 Proceedings of the 2nd conference on European computing conference
FOOD: An Intermediate Model for Automated Refactoring
Proceedings of the 2006 conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the fifth SoMeT_06
A role-based crosscutting concerns mining approach to evolve Java systems towards AOP
Proceedings of the joint international and annual ERCIM workshops on Principles of software evolution (IWPSE) and software evolution (Evol) workshops
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
Towards a refactoring guideline using code clone classification
Proceedings of the 2nd Workshop on Refactoring Tools
Re-approaching the refactoring Rubicon
Proceedings of the 2nd Workshop on Refactoring Tools
Design pattern density defined
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Improving perimeter security with security-oriented program transformations
IWSESS '09 Proceedings of the 2009 ICSE Workshop on Software Engineering for Secure Systems
Source Code Rejuvenation Is Not Refactoring
SOFSEM '10 Proceedings of the 36th Conference on Current Trends in Theory and Practice of Computer Science
DEQUALITE: building design-based software quality models
Proceedings of the 15th Conference on Pattern Languages of Programs
Proceedings of the 15th Conference on Pattern Languages of Programs
Patterns for refactoring to aspects: an incipient pattern language
Proceedings of the 14th Conference on Pattern Languages of Programs
Incremental quality improvement in web applications using web model refactoring
WISE'07 Proceedings of the 2007 international conference on Web information systems engineering
Information and Software Technology
Is a strategy for code smell assessment long overdue?
Proceedings of the 2010 ICSE Workshop on Emerging Trends in Software Metrics
Software refactoring process for adaptive user-interface composition
Proceedings of the 2nd ACM SIGCHI symposium on Engineering interactive computing systems
Enumeration refactoring: a tool for automatically converting Java constants to enumerated types
Proceedings of the IEEE/ACM international conference on Automated software engineering
Specifying and implementing refactorings
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Use of a multidimensional approach to study the evolution of software complexity
Innovations in Systems and Software Engineering
Towards an appropriate software refactoring tool support
ACS'09 Proceedings of the 9th WSEAS international conference on Applied computer science
Refactoring using type constraints
ACM Transactions on Programming Languages and Systems (TOPLAS)
Refactoring Java programs for flexible locking
Proceedings of the 33rd International Conference on Software Engineering
Proceedings of the 33rd International Conference on Software Engineering
Web application evaluation and refactoring: a qualityoriented improvement approach
Journal of Web Engineering
Systematic improvement of web applications design
Journal of Web Engineering
Localizing globals and statics to make C programs thread-safe
CASES '11 Proceedings of the 14th international conference on Compilers, architectures and synthesis for embedded systems
Service-oriented architecture modeling: bridging the gap between structure and behavior
Proceedings of the 14th international conference on Model driven engineering languages and systems
Supporting design model refactoring for improving class responsibility assignment
Proceedings of the 14th international conference on Model driven engineering languages and systems
Human and program factors affecting the maintenance of programs with deployed design patterns
Information and Software Technology
Evolution of legacy system comprehensibility through automated refactoring
Proceedings of the International Workshop on Machine Learning Technologies in Software Engineering
A tool for a formal pattern modeling language
ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
A test case refactoring approach for pattern-based software development
Software Quality Control
Changing programs correctly: refactoring with specifications
FM'06 Proceedings of the 14th international conference on Formal Methods
Towards a catalogue of refactorings and code smells for aspectj
Transactions on Aspect-Oriented Software Development I
AODP: refactoring code to provide advanced aspect-oriented modularization of design patterns
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Detecting entry points in java libraries
PSI'11 Proceedings of the 8th international conference on Perspectives of System Informatics
Automated refactoring to the Strategy design pattern
Information and Software Technology
Refactoring using type constraints
SAS'07 Proceedings of the 14th international conference on Static Analysis
Variability points and design pattern usage in architectural tactics
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Improving software engineering education by modeling real-world implementations
Proceedings of the 8th edition of the Educators' Symposium
Dynamic profiling-based approach to identifying cost-effective refactorings
Information and Software Technology
Practical use of static composition of refactoring operations
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Science of Computer Programming
Observations on the observer pattern
Proceedings of the 17th Conference on Pattern Languages of Programs
A compositional paradigm of automating refactorings
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Can undergraduates script their own refactorings?
Proceedings of the 2013 ACM workshop on Workshop on refactoring tools
Hi-index | 0.00 |
In 1994, Design Patterns changed the landscape of object-oriented development by introducing classic solutions to recurring design problems. In 1999, Refactoring revolutionized design by introducing an effective process for improving code. With the highly anticipated Refactoring to Patterns, Joshua Kerievsky has changed our approach to design by forever uniting patterns with the evolutionary process of refactoring.This book introduces the theory and practice of pattern-directed refactorings: sequences of low-level refactorings that allow designers to safely move designs to, towards, or away from pattern implementations. Using code from real-world projects, Kerievsky documents the thinking and steps underlying over two dozen pattern-based design transformations. Along the way he offers insights into pattern differences and how to implement patterns in the simplest possible ways.Coverage includes: A catalog of twenty-seven pattern-directed refactorings, featuring real-world code examples Descriptions of twelve design smells that indicate the need for this book's refactorings General information and new insights about patterns and refactoring Detailed implementation mechanics: how low-level refactorings are combined to implement high-level patterns Multiple ways to implement the same pattern-and when to use each Practical ways to get started even if you have little experience with patterns or refactoringRefactoring to Patterns reflects three years of refinement and the insights of more than sixty software engineering thought leaders in the global patterns, refactoring, and agile development communities. Whether you're focused on legacy or “greenfield” development, this book will make you a better software designer by helping you learn how to make important design changes safely and effectively.