Macro impact analysis using macro slicing

László Vidács, A. Beszédes, R. Ferenc

Research output: Chapter in Book/Report/Conference proceedingConference contribution

10 Citations (Scopus)

Abstract

The expressiveness of the C/C++ preprocessing facility enables the development of highly configurable source code. However, the usage of language constructs like macros also bears the potential of resulting in highly incomprehensible and unmaintainable code, which is due to the flexibility and the "cryptic" nature of the preprocessor language. This could be overcome if suitable analysis tools were available for preprocessor-related issues, however, this is not the case (for instance, none of the modern Integrated Development Environments provides features to efficiently analyze and browse macro usage). A conspicuous problem in software maintenance is the correct (safe and efficient) management of change. In particular, due to the aforementioned reasons, determining efficiently the impact of a change in a specific macro definition is not yet possible. In this paper, we describe a method for the impact analysis of macro definitions, which significantly differs from the previous approaches. We reveal and analyze the dependencies among macro-related program points using the so-called macro slices.

Original languageEnglish
Title of host publicationICSOFT 2007 - 2nd International Conference on Software and Data Technologies, Proceedings
Pages230-235
Number of pages6
VolumeSE
Publication statusPublished - 2007
Event2nd International Conference on Software and Data Technologies, ICSOFT 2007 - Barcelona, Spain
Duration: Jul 22 2007Jul 25 2007

Other

Other2nd International Conference on Software and Data Technologies, ICSOFT 2007
CountrySpain
CityBarcelona
Period7/22/077/25/07

Fingerprint

Macros
Computer software maintenance

Keywords

  • C
  • C++
  • Change impact analysis
  • Dynamic analysis
  • Macros
  • Maintenance
  • Preprocessing
  • Program analysis
  • Program slicing
  • Program understanding

ASJC Scopus subject areas

  • Computer Science Applications
  • Information Systems
  • Software
  • Electrical and Electronic Engineering

Cite this

Vidács, L., Beszédes, A., & Ferenc, R. (2007). Macro impact analysis using macro slicing. In ICSOFT 2007 - 2nd International Conference on Software and Data Technologies, Proceedings (Vol. SE, pp. 230-235)

Macro impact analysis using macro slicing. / Vidács, László; Beszédes, A.; Ferenc, R.

ICSOFT 2007 - 2nd International Conference on Software and Data Technologies, Proceedings. Vol. SE 2007. p. 230-235.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Vidács, L, Beszédes, A & Ferenc, R 2007, Macro impact analysis using macro slicing. in ICSOFT 2007 - 2nd International Conference on Software and Data Technologies, Proceedings. vol. SE, pp. 230-235, 2nd International Conference on Software and Data Technologies, ICSOFT 2007, Barcelona, Spain, 7/22/07.
Vidács L, Beszédes A, Ferenc R. Macro impact analysis using macro slicing. In ICSOFT 2007 - 2nd International Conference on Software and Data Technologies, Proceedings. Vol. SE. 2007. p. 230-235
Vidács, László ; Beszédes, A. ; Ferenc, R. / Macro impact analysis using macro slicing. ICSOFT 2007 - 2nd International Conference on Software and Data Technologies, Proceedings. Vol. SE 2007. pp. 230-235
@inproceedings{55235b8ae8004e4595ebcc298d39d4f7,
title = "Macro impact analysis using macro slicing",
abstract = "The expressiveness of the C/C++ preprocessing facility enables the development of highly configurable source code. However, the usage of language constructs like macros also bears the potential of resulting in highly incomprehensible and unmaintainable code, which is due to the flexibility and the {"}cryptic{"} nature of the preprocessor language. This could be overcome if suitable analysis tools were available for preprocessor-related issues, however, this is not the case (for instance, none of the modern Integrated Development Environments provides features to efficiently analyze and browse macro usage). A conspicuous problem in software maintenance is the correct (safe and efficient) management of change. In particular, due to the aforementioned reasons, determining efficiently the impact of a change in a specific macro definition is not yet possible. In this paper, we describe a method for the impact analysis of macro definitions, which significantly differs from the previous approaches. We reveal and analyze the dependencies among macro-related program points using the so-called macro slices.",
keywords = "C, C++, Change impact analysis, Dynamic analysis, Macros, Maintenance, Preprocessing, Program analysis, Program slicing, Program understanding",
author = "L{\'a}szl{\'o} Vid{\'a}cs and A. Besz{\'e}des and R. Ferenc",
year = "2007",
language = "English",
volume = "SE",
pages = "230--235",
booktitle = "ICSOFT 2007 - 2nd International Conference on Software and Data Technologies, Proceedings",

}

TY - GEN

T1 - Macro impact analysis using macro slicing

AU - Vidács, László

AU - Beszédes, A.

AU - Ferenc, R.

PY - 2007

Y1 - 2007

N2 - The expressiveness of the C/C++ preprocessing facility enables the development of highly configurable source code. However, the usage of language constructs like macros also bears the potential of resulting in highly incomprehensible and unmaintainable code, which is due to the flexibility and the "cryptic" nature of the preprocessor language. This could be overcome if suitable analysis tools were available for preprocessor-related issues, however, this is not the case (for instance, none of the modern Integrated Development Environments provides features to efficiently analyze and browse macro usage). A conspicuous problem in software maintenance is the correct (safe and efficient) management of change. In particular, due to the aforementioned reasons, determining efficiently the impact of a change in a specific macro definition is not yet possible. In this paper, we describe a method for the impact analysis of macro definitions, which significantly differs from the previous approaches. We reveal and analyze the dependencies among macro-related program points using the so-called macro slices.

AB - The expressiveness of the C/C++ preprocessing facility enables the development of highly configurable source code. However, the usage of language constructs like macros also bears the potential of resulting in highly incomprehensible and unmaintainable code, which is due to the flexibility and the "cryptic" nature of the preprocessor language. This could be overcome if suitable analysis tools were available for preprocessor-related issues, however, this is not the case (for instance, none of the modern Integrated Development Environments provides features to efficiently analyze and browse macro usage). A conspicuous problem in software maintenance is the correct (safe and efficient) management of change. In particular, due to the aforementioned reasons, determining efficiently the impact of a change in a specific macro definition is not yet possible. In this paper, we describe a method for the impact analysis of macro definitions, which significantly differs from the previous approaches. We reveal and analyze the dependencies among macro-related program points using the so-called macro slices.

KW - C

KW - C++

KW - Change impact analysis

KW - Dynamic analysis

KW - Macros

KW - Maintenance

KW - Preprocessing

KW - Program analysis

KW - Program slicing

KW - Program understanding

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

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

M3 - Conference contribution

VL - SE

SP - 230

EP - 235

BT - ICSOFT 2007 - 2nd International Conference on Software and Data Technologies, Proceedings

ER -