Pitfalls of object-oriented development
Pitfalls of object-oriented development
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
A Validation of Object-Oriented Design Metrics as Quality Indicators
IEEE Transactions on Software Engineering
AntiPatterns: refactoring software, architectures, and projects in crisis
AntiPatterns: refactoring software, architectures, and projects in crisis
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
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
The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics
IEEE Transactions on Software Engineering
Object-Oriented Design Heuristics
Object-Oriented Design Heuristics
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
An Empirical Investigation of an Object-Oriented Software System
IEEE Transactions on Software Engineering
CSMR '01 Proceedings of the Fifth European Conference on Software Maintenance and Reengineering
An empirical investigation of an object-oriented design heuristic for maintainability
Journal of Systems and Software
Java Quality Assurance by Detecting Code Smells
WCRE '02 Proceedings of the Ninth Working Conference on Reverse Engineering (WCRE'02)
Populating a Release History Database from Version Control and Bug Tracking Systems
ICSM '03 Proceedings of the International Conference on Software Maintenance
Design Patterns and Change Proneness: An Examination of Five Evolving Systems
METRICS '03 Proceedings of the 9th International Symposium on Software Metrics
Refactoring Workbook
Mining Version Histories to Guide Software Changes
Proceedings of the 26th International Conference on Software Engineering
Detection Strategies: Metrics-Based Rules for Detecting Design Flaws
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Defect Frequency and Design Patterns: An Empirical Study of Industrial Code
IEEE Transactions on Software Engineering
Object-Oriented Metrics in Practice
Object-Oriented Metrics in Practice
Product Metrics for Automatic Identification of "Bad Smell" Design Problems in Java Source-Code
METRICS '05 Proceedings of the 11th IEEE International Software Metrics Symposium
Empirical Validation of Object-Oriented Metrics on Open Source Software for Fault Prediction
IEEE Transactions on Software Engineering
Visualization-based analysis of quality for large-scale software systems
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Journal of Systems and Software
Predicting Defects for Eclipse
PROMISE '07 Proceedings of the Third International Workshop on Predictor Models in Software Engineering
An empirical study on the evolution of design patterns
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Do Crosscutting Concerns Cause Defects?
IEEE Transactions on Software Engineering
Is it a bug or an enhancement?: a text-based approach to classify change requests
CASCON '08 Proceedings of the 2008 conference of the center for advanced studies on collaborative research: meeting of minds
Handbook of Parametric and Nonparametric Statistical Procedures
Handbook of Parametric and Nonparametric Statistical Procedures
Do Design Patterns Impact Software Quality Positively?
CSMR '08 Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering
Visual Detection of Design Anomalies
CSMR '08 Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering
The evolution and impact of code smells: A case study of two open source systems
ESEM '09 Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement
An Exploratory Study of the Impact of Code Smells on Software Change-proneness
WCRE '09 Proceedings of the 2009 16th Working Conference on Reverse Engineering
DECOR: A Method for the Specification and Detection of Code and Design Smells
IEEE Transactions on Software Engineering
A Bayesian Approach for the Detection of Code and Design Smells
QSIC '09 Proceedings of the 2009 Ninth International Conference on Quality Software
Refactorings of design defects using relational concept analysis
ICFCA'08 Proceedings of the 6th international conference on Formal concept analysis
A domain analysis to specify design defects and generate detection algorithms
FASE'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering
Decor: detection et correction des defauts dans les systemes orientes objet
Decor: detection et correction des defauts dans les systemes orientes objet
Numerical Signatures of Antipatterns: An Approach Based on B-Splines
CSMR '10 Proceedings of the 2010 14th European Conference on Software Maintenance and Reengineering
Nothing else matters: what predictive model should I use?
Proceedings of the 7th International Conference on Predictive Models in Software Engineering
ACM SIGSOFT Software Engineering Notes
Support vector machines for anti-pattern detection
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
Assessing technical debt by identifying design flaws in software systems
IBM Journal of Research and Development
Hi-index | 0.00 |
Antipatterns are poor design choices that are conjectured to make object-oriented systems harder to maintain. We investigate the impact of antipatterns on classes in object-oriented systems by studying the relation between the presence of antipatterns and the change- and fault-proneness of the classes. We detect 13 antipatterns in 54 releases of ArgoUML, Eclipse, Mylyn, and Rhino, and analyse (1) to what extent classes participating in antipatterns have higher odds to change or to be subject to fault-fixing than other classes, (2) to what extent these odds (if higher) are due to the sizes of the classes or to the presence of antipatterns, and (3) what kinds of changes affect classes participating in antipatterns. We show that, in almost all releases of the four systems, classes participating in antipatterns are more change-and fault-prone than others. We also show that size alone cannot explain the higher odds of classes with antipatterns to underwent a (fault-fixing) change than other classes. Finally, we show that structural changes affect more classes with antipatterns than others. We provide qualitative explanations of the increase of change- and fault-proneness in classes participating in antipatterns using release notes and bug reports. The obtained results justify a posteriori previous work on the specification and detection of antipatterns and could help to better focus quality assurance and testing activities.