Combining preprocessor slicing with C/C++ language slicing
László Vidács, Árpád
Beszédes and Tibor Gyimóthy
Of the very few practical implementations of program
slicing algorithms, the majority deal with C/C++ programs. Yet,
preprocessor-related issues have been marginally addressed by these
slicers, despite the fact that ignoring (or only partially handling)
these constructs may lead to serious inaccuracies in the slicing
results and hence in the program analysis task being performed.
Recently, an accurate slicing method for preprocessor-related
constructs has been proposed, which - when combined with existing C/C++
language slicers - can provide more complete slices and hence a more
successful analysis of programs written in one of these languages. In
this paper, we present our approach which combines the two slicing
methods and, via practical experiments, describe its benefits in terms
of the completeness of the resulting slices.
Keywords: Program slicing,
C/C++, Preprocessing, Preprocessor slicing.