Instantiating and Detecting Design Patterns: Putting Bits and Pieces Together
Proceedings of the 16th IEEE international conference on Automated software engineering
Precise Modeling of Design Patterns in UML
Proceedings of the 26th International Conference on Software Engineering
Recovering binary class relationships: putting icing on the UML cake
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A reverse engineering tool for precise class diagrams
CASCON '04 Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research
Defect Frequency and Design Patterns: An Empirical Study of Industrial Code
IEEE Transactions on Software Engineering
Combining fuzzy logic and behavioral similarity for non-strict program validation
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
Using an Ontology to Suggest Software Design Patterns Integration
Models in Software Engineering
Improving design-pattern identification: a new approach and an exploratory study
Software Quality Control
Refactorings of design defects using relational concept analysis
ICFCA'08 Proceedings of the 6th international conference on Formal concept analysis
Information and Software Technology
Generating a catalog of unanticipated schemas in class hierarchies using Formal Concept Analysis
Information and Software Technology
A multiple case study of design pattern decay, grime, and rot in evolving software systems
Software Quality Control
What you like in design use to correct bad-smells
Software Quality Control
Hi-index | 0.00 |
Abstract: 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 Composite pattern using Ptidej, our prototype tool that integrates the complete guidelines.