Making a change to computer programs, especially those with a large codebase, is tedious and error-prone. This disclosure discusses mechanisms for refactoring the source code of a computer program easily and at scale. The techniques allow users to perform complex, across-the-codebase changes manually and enable automation of such changes. The user experience of code refactoring involves the user providing instructions via a code refactoring UI that specify the reform intent. The reform request is analyzed and broken down into smaller jobs such as running tests, generating diffs using backend tools, or creating change lists with the appropriate diffs. An estimate of the impact of the change is provided to the user for review. Finally, change lists are submitted to the codebase or other platform tools that help make the actual changes. The described techniques enable complex changes in a codebase via an easy to use user interface.

Creative Commons License

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.