1. A system for modifying source code files, comprising: a client computer comprising: processing logic; a storage device, coupled to the processing logic, which comprises one or more source code files comprising source code; and a communication interface coupled to the processing logic and configured to couple to a communication network, wherein the communication interface receives a container file comprising a transformation that comprises: a search pattern used to identify one or more code segments of the source code; and one or more transformation instructions used to modify the source code based at least in part on the one or more identified code segments; wherein software executing on the processing logic searches a representation of the structure and relationships of elements of the source code for occurrences of the search pattern, and identifies the one or more code segments of the source code comprising elements with a structure and relationships that are matched by the corresponding elements represented by the search pattern; and wherein the software further modifies at least part of the representation of the structure and relationships of the elements of the source code according to the one or more transformation instructions, and further saves onto the storage device one or more source code files that reflect the application of the transformation to the source code.