Object-oriented software engineering
Object-oriented software engineering
The mythical man-month (anniversary ed.)
The mythical man-month (anniversary ed.)
ICSE '94 Proceedings of the 16th international conference on Software engineering
A Unified Framework for Coupling Measurement in Object-Oriented Systems
IEEE Transactions on Software Engineering
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Coupling measures and change ripples in C++ application software
Journal of Systems and Software - Special issue on Evaluation and assessment in software engineering
Software Change Impact Analysis
Software Change Impact Analysis
Pattern Languages of Program Design 4
Pattern Languages of Program Design 4
Metrics and Laws of Software Evolution - The Nineties View
METRICS '97 Proceedings of the 4th International Symposium on Software Metrics
CVS Release History Data for Detecting Logical Couplings
IWPSE '03 Proceedings of the 6th International Workshop on Principles of Software Evolution
Detection Strategies: Metrics-Based Rules for Detecting Design Flaws
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Object-Oriented Metrics in Practice
Object-Oriented Metrics in Practice
Journal of Software Maintenance and Evolution: Research and Practice
Facilitating software evolution research with kenyon
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Agile Principles, Patterns, and Practices in C# (Robert C. Martin)
Agile Principles, Patterns, and Practices in C# (Robert C. Martin)
Using concept analysis to detect co-change patterns
Ninth international workshop on Principles of software evolution: in conjunction with the 6th ESEC/FSE joint meeting
Journal of Software Maintenance and Evolution: Research and Practice
Object-oriented analysis and design with applications, third edition
Object-oriented analysis and design with applications, third edition
Software Engineering: A Practitioner's Approach
Software Engineering: A Practitioner's Approach
Visualizing Co-Change Information with the Evolution Radar
IEEE Transactions on Software Engineering
Blending Conceptual and Evolutionary Couplings to Support Change Impact Analysis in Source Code
WCRE '10 Proceedings of the 2010 17th Working Conference on Reverse Engineering
Towards a classification of logical dependencies origins: a case study
Proceedings of the 12th International Workshop on Principles of Software Evolution and the 7th annual ERCIM Workshop on Software Evolution
Hi-index | 0.00 |
Design degradation has long been assessed by means of structural analyses applied on successive versions of a software system. More recently, repository mining techniques have been developed in order to uncover rich historical information of software projects. In this paper, we leverage such information and propose an approach to assess design degradation that is programming language agnostic and relies almost exclusively on commit metadata. Our approach currently focuses on the assessment of two particular design smells: rigidity and fragility. Rigidity refer to designs that are difficult to change due to ripple effects and fragility refer to designs that tend to break in different areas every time a change is performed. We conducted an evaluation of our approach in the project Apache Maven 1 and the results indicated that our approach is feasible and that the project suffered from increasing fragility.