Combining preprocessor slicing with C/C++ language slicing

László Vidács, A. Beszédes, T. Gyimóthy

Research output: Contribution to journalArticle

7 Citations (Scopus)

Abstract

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.

Original languageEnglish
Pages (from-to)399-413
Number of pages15
JournalScience of Computer Programming
Volume74
Issue number7
DOIs
Publication statusPublished - May 1 2009

Fingerprint

Experiments

Keywords

  • C/C+
  • Preprocessing
  • Preprocessor slicing
  • Program slicing

ASJC Scopus subject areas

  • Software

Cite this

Combining preprocessor slicing with C/C++ language slicing. / Vidács, László; Beszédes, A.; Gyimóthy, T.

In: Science of Computer Programming, Vol. 74, No. 7, 01.05.2009, p. 399-413.

Research output: Contribution to journalArticle

@article{393de1cc2f5141339563eff1abc6d228,
title = "Combining preprocessor slicing with C/C++ language slicing",
abstract = "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 = "C/C+, Preprocessing, Preprocessor slicing, Program slicing",
author = "L{\'a}szl{\'o} Vid{\'a}cs and A. Besz{\'e}des and T. Gyim{\'o}thy",
year = "2009",
month = "5",
day = "1",
doi = "10.1016/j.scico.2009.02.003",
language = "English",
volume = "74",
pages = "399--413",
journal = "Science of Computer Programming",
issn = "0167-6423",
publisher = "Elsevier",
number = "7",

}

TY - JOUR

T1 - Combining preprocessor slicing with C/C++ language slicing

AU - Vidács, László

AU - Beszédes, A.

AU - Gyimóthy, T.

PY - 2009/5/1

Y1 - 2009/5/1

N2 - 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.

AB - 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.

KW - C/C+

KW - Preprocessing

KW - Preprocessor slicing

KW - Program slicing

UR - http://www.scopus.com/inward/record.url?scp=64549151981&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=64549151981&partnerID=8YFLogxK

U2 - 10.1016/j.scico.2009.02.003

DO - 10.1016/j.scico.2009.02.003

M3 - Article

AN - SCOPUS:64549151981

VL - 74

SP - 399

EP - 413

JO - Science of Computer Programming

JF - Science of Computer Programming

SN - 0167-6423

IS - 7

ER -