Un-preprocessing

Yufeng Cheng,Meng Wang,Yingfei Xiong,Zhengkai Wu,Yiming Wu,Lu Zhang
DOI: https://doi.org/10.1145/3131704.3131715
2017-01-01
Abstract:Many tools directly change programs, such as bug-fixing tools, program migration tools, etc. We call them program-modification tools. On the other hand, many programming languages use the C preprocessor, such as C, C++, and Objective-C. Because of the complexity of preprocessors, many program-modification tools either fail to produce sound results under the presence of preprocessor directives, or give up completely and deal only with preprocessed code.
What problem does this paper attempt to address?