An automated refactoring approach to design pattern-based program transformations in Java programs | IEEE Conference Publication | IEEE Xplore