Large-Scale Automated Refactoring Using ClangMR
Autor: | Manuel Klimek, Hyrum K. Wright, Chandler Carruth, Zhanyong Wan, Daniel Jasper |
---|---|
Rok vydání: | 2013 |
Předmět: |
Source code
business.industry Programming language Computer science media_common.quotation_subject Static program analysis Software maintenance computer.software_genre Code refactoring KPI-driven code analysis Code generation Compiler Redundant code Software engineering business computer media_common |
Zdroj: | ICSM |
DOI: | 10.1109/icsm.2013.93 |
Popis: | Maintaining large code bases can be a challenging endeavour. As new libraries, APIs and standards are introduced, old code is migrated to use them. To provide as clean and succinct an interface as possible for developers, old APIs are ideally removed as new ones are introduced. In practice, this becomes difficult as automatically finding and transforming code in a semantically correct way can be challenging, particularly as the size of a code base increases. In this paper, we present a real-world implementation of a system to refactor large C++ code bases efficiently. A combination of the Clang compiler framework and the MapReduce parallel processor, ClangMR enables code maintainers to easily and correctly transform large collections of code. We describe the motivation behind such a tool, its implementation and then present our experiences using it in a recent API update with Google's C++ code base. |
Databáze: | OpenAIRE |
Externí odkaz: |