Making Refactoring Safe in the Presence of Meta-Data – Carlos Noguera

Carlos explains that are many kinds of meta-data that impact application behavior  like annotations, XML configuration descriptors and functional code conventions. Currently, automated refactoring tools do not take this meta data into account, since they create dependencies that are not preserved by the automated refactoring.

The solution for this is to detect these dependencies before performing the refactoring. Then, after the execution of the refactoring (or rather, after a preview of the refactoring), we can check the dependencies are unchanged. By rewriting the dependencies as queries over the code, they can be automatically verified. For more info, read Carlos’s ICSM paper.