Automated Application of Design Patterns: A Refactoring Approach A thesis submitted to the University of Dublin, Trinity College, for the degree of Doctor of Philosophy.…