Using Design Patterns and Constraints to Automate the Detection and Correction of Inter-Class Design Defects. Gu�h�neuc, Y. & Albin-Amiot, H. In Li, Q., Riehle, R., Pour, G., & Meyer, B., editors, Proceedings of the 39<sup>th</sup> Conference on the Technology of Object-Oriented Languages and Systems (TOOLS USA), pages 296–305, July, 2001. IEEE CS Press. 10 pages.
Using Design Patterns and Constraints to Automate the Detection and Correction of Inter-Class Design Defects [pdf]Paper  abstract   bibtex   
Developing code free of defects is a major concern for the object-oriented software community. In this paper, we classify design defects as those within classes (intra-class), those among classes (inter-classes), and those of semantic nature (behavioral). Then, we introduce guidelines to automate the detection and correction of inter-class design defects: We assume that design patterns embody good architectural solutions and that a group of entities with organization similar, but not equal, to a design pattern represents an inter-class design defect. Thus, the transformation of such a group of entities, such that its organization complies exactly with a design pattern, corresponds to the correction of an inter-class design defect. We use a meta-model to describe design patterns and we exploit the descriptions to infer sets of detection and transformation rules. A constraints solver with explanations uses the descriptions and rules to recognize groups of entities with organizations similar to the described design patterns. A transformation engine modifies the source code to comply with the recognized distorted design patterns. We apply these guidelines on the \ygg@patternComposite pattern using \ygg@productPtidej, our prototype tool that integrates the complete guidelines.

Downloads: 0