Recovering Interaction Design Patterns in Web Applications