ET++—an object oriented application framework in C++
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
Object-oriented modeling and design
Object-oriented modeling and design
Foundations for the study of software architecture
ACM SIGSOFT Software Engineering Notes
Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Structural model: architecture for software designers
TRI-Ada '94 Proceedings of the conference on TRI-Ada '94
The mythical man-month (anniversary ed.)
The mythical man-month (anniversary ed.)
Software salvaging and the call dominance tree
Journal of Systems and Software
Software reflexion models: bridging the gap between source and high-level models
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Monitoring compliance of a software system with its high-level design models
Proceedings of the 18th international conference on Software engineering
Requirements for an effective architecture recovery framework
ISAW '96 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
Pattern-oriented software architecture: a system of patterns
Pattern-oriented software architecture: a system of patterns
An intelligent tool for re-engineering software modularity
ICSE '91 Proceedings of the 13th international conference on Software engineering
ICSE '94 Proceedings of the 16th international conference on Software engineering
Software architecture in practice
Software architecture in practice
Recovering software architecture from multiple source code analyses
Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
A refactoring tool for Smalltalk
Theory and Practice of Object Systems - Special issue object-oriented software evolution and re-engineering
IBM Systems Journal
Software architecture recovery and restructuring through clustering techniques
ISAW '98 Proceedings of the third international workshop on Software architecture
The Unified Modeling Language user guide
The Unified Modeling Language user guide
Extracting concepts from file names: a new file clustering criterion
Proceedings of the 20th international conference on Software engineering
Pattern-based reverse-engineering of design components
Proceedings of the 21st international conference on Software engineering
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Detecting defects in object-oriented designs: using reading techniques to increase software quality
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A Classification and Comparison Framework for Software Architecture Description Languages
IEEE Transactions on Software Engineering
Does Code Decay? Assessing the Evidence from Change Management Data
IEEE Transactions on Software Engineering
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Pattern Languages of Program Design 4
Pattern Languages of Program Design 4
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
IEEE Transactions on Software Engineering
Test Driven Development: By Example
Test Driven Development: By Example
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Design erosion: problems and causes
Journal of Systems and Software
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
A survey on software architecture analysis methods
IEEE Transactions on Software Engineering
A Cliche'-Based Environment to Support Architectural Reverse Engineering
ICSM '96 Proceedings of the 1996 International Conference on Software Maintenance
Program Understanding and Maintenance with the CANTO Environment
ICSM '97 Proceedings of the International Conference on Software Maintenance
Reuse Reengineering and Validation via Concept Assignment
ICSM '93 Proceedings of the Conference on Software Maintenance
Laws of Software Evolution Revisited
EWSPT '96 Proceedings of the 5th European Workshop on Software Process Technology
Modeling Early Requirements in Tropos: A Transformation Based Approach
AOSE '01 Revised Papers and Invited Contributions from the Second International Workshop on Agent-Oriented Software Engineering II
Evolution Support by Homogeneously Documenting Patterns, Aspects and Traces
CSMR '02 Proceedings of the 6th European Conference on Software Maintenance and Reengineering
Architecture-Centric Software Evolution by Software Metrics and Design Patterns
CSMR '02 Proceedings of the 6th European Conference on Software Maintenance and Reengineering
Precise specification and automatic application of design patterns
ASE '97 Proceedings of the 12th international conference on Automated software engineering (formerly: KBSE)
Analyzing Java Software by Combining Metrics and Program Visualization
CSMR '00 Proceedings of the Conference on Software Maintenance and Reengineering
Using Metrics to Identify Design Patterns in Object-Oriented Software
METRICS '98 Proceedings of the 5th International Symposium on Software Metrics
Avoiding Architectural Degeneration: An Evaluation Process for Software Architecture
METRICS '02 Proceedings of the 8th International Symposium on Software Metrics
Towards Modeling and Reasoning Support for Early-Phase Requirements Engineering
RE '97 Proceedings of the 3rd IEEE International Symposium on Requirements Engineering
GASE: visualizing software evolution-in-the-large
WCRE '96 Proceedings of the 3rd Working Conference on Reverse Engineering (WCRE '96)
Design Recovery by Automated Search for Structural Design Patterns in Object-Oriented Software
WCRE '96 Proceedings of the 3rd Working Conference on Reverse Engineering (WCRE '96)
The Orphan Adoption Problem in Architecture Maintenance
WCRE '97 Proceedings of the Fourth Working Conference on Reverse Engineering (WCRE '97)
WCRE '97 Proceedings of the Fourth Working Conference on Reverse Engineering (WCRE '97)
Evaluating Architectural Extractors
WCRE '98 Proceedings of the Working Conference on Reverse Engineering (WCRE'98)
Identifying Design-Code Inconsistencies in Object-Oriented Software: a Case Study
ICSM '98 Proceedings of the International Conference on Software Maintenance
A Two-Phase Process for Software Architecture Improvement
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
A Methodology for the Automated Introduction of Design Patterns
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Object Oriented Design Pattern Inference
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Maintaining Traceability During Object-Oriented Software Evolution: A Case Study
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Bunch: A Clustering Tool for the Recovery and Maintenance of Software System Structures
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
View Extraction and View Fusion in Architectural Understanding
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
A Framework for Experimental Evaluation of Clustering Techniques
IWPC '00 Proceedings of the 8th International Workshop on Program Comprehension
An Integrated Approach for Studying Architectural Evolution
IWPC '02 Proceedings of the 10th International Workshop on Program Comprehension
A Survey of Architecture Description Languages
IWSSD '96 Proceedings of the 8th International Workshop on Software Specification and Design
Automatic Verification of Java Design Patterns
Proceedings of the 16th IEEE international conference on Automated software engineering
Does the Code Match the Design? A Process for Architecture Evaluation
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
The Weighted Combined Algorithm: A Linkage Algorithm for Software Clustering
CSMR '04 Proceedings of the Eighth Euromicro Working Conference on Software Maintenance and Reengineering (CSMR'04)
A goal-driven and agent-based requirements engineering framework
Requirements Engineering
Characterizing software architecture changes: A systematic review
Information and Software Technology
Component types qualification in Java legacy code driven by communication integrity rules
Proceedings of the 4th India Software Engineering Conference
Experiences documenting and preserving software constraints using aspects
Proceedings of the tenth international conference on Aspect-oriented software development companion
Revealing architecturally-relevant flaws in aspectual decompositions
Proceedings of the tenth international conference on Aspect-oriented software development companion
Detecting architecturally-relevant code smells in evolving software systems
Proceedings of the 33rd International Conference on Software Engineering
Controlling software architecture erosion: A survey
Journal of Systems and Software
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
On-Demand quality-oriented assistance in component-based software evolution
CBSE'06 Proceedings of the 9th international conference on Component-Based Software Engineering
History-sensitive heuristics for recovery of features in code of evolving program families
Proceedings of the 16th International Software Product Line Conference - Volume 1
Hi-index | 0.00 |
As software systems evolve over time, they invariably undergo changes that can lead to a degeneration of the architecture. Left unchecked, degeneration may reach a level where a complete redesign is necessary, a task that requires significant effort. In this paper, we present a survey of technologies developed by researchers that can be used to combat degeneration, that is, technologies that can be employed in identifying, treating and researching degeneration. We also discuss the various causes of degeneration and how it can be prevented.