Automating Performance Antipattern Detection and Software Refactoring in UML Models