Micro patterns are similar to design patterns, but are at a lower level of abstraction, closer to the implementation. Anti patterns are micro patterns not respecting the prescriptions of good Object Oriented programming practices. In this paper, we use the definitions introduced by Arcelli and Maggioni [3] in order to study the evolution of five particular micro patterns (anti patterns) in different releases of the Eclipse and NetBeans systems, and the correlations between anti patterns and faults. Our analysis confirms previous findings regarding the high coverage of micro patterns onto the system classes, and show that anti patterns not only represent bad Object Oriented programming practices, but may also be associated to the production of lower quality software, since they present a fault proneness significantly enhanced.
An analysis of anti-micro-patterns effects on fault-proneness in large Java systems
DESTEFANIS, GIUSEPPE;TONELLI, ROBERTO;MARCHESI, MICHELE
2012-01-01
Abstract
Micro patterns are similar to design patterns, but are at a lower level of abstraction, closer to the implementation. Anti patterns are micro patterns not respecting the prescriptions of good Object Oriented programming practices. In this paper, we use the definitions introduced by Arcelli and Maggioni [3] in order to study the evolution of five particular micro patterns (anti patterns) in different releases of the Eclipse and NetBeans systems, and the correlations between anti patterns and faults. Our analysis confirms previous findings regarding the high coverage of micro patterns onto the system classes, and show that anti patterns not only represent bad Object Oriented programming practices, but may also be associated to the production of lower quality software, since they present a fault proneness significantly enhanced.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.