The document describes research into automating the application and detection of design patterns. The researchers created two assistants called PatternsBox and Ptidej. PatternsBox helps implement design patterns and detect complete versions, while Ptidej helps understand software by detecting distorted pattern versions and transforming source code. The assistants are based on formalizing patterns, source code transformation, and constraint solving. Experiments showed the tools can accurately detect patterns in frameworks but are limited to Java and slow for reengineering. Open questions remain around pattern representation and improving detection and application capabilities.