Service layer for IDE integration of C/C++ preprocessor related analysis

Richárd Dévai, László Vidács, Rudolf Ferenc, Tibor Gyimóthy

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

1 Citation (Scopus)

Abstract

Software development in C/C++ languages is tightly coupled with preprocessor directives. While the use of preprocessor constructs cannot be avoided, current IDE support for developers can still be improved. Early feedback from IDEs about misused macros or conditional compilation has positive effects on developer productivity and code quality as well. In this paper we introduce a service layer for the Visual Studio to make detailed preprocessor information accessible for any type of IDE extensions. The service layer is built upon our previous work on the analysis of directives. We wrap the analyzer tool and provide its functionality through an API. We present the public interface of the service and demonstrate the provided services through small plug-ins implemented using various extension mechanisms. These plug-ins work together to aid the daily work of developers in several ways. We provide (1) an editor extension through the Managed Extensibility Framework which provides macro highlighting within the source code editor; (2) detailed information about actual macro substitutions and an alternative code view to show the results of macro calls; (3) a managed package for discovering the intermediate steps of macro replacements through a macro explorer. The purpose of this work is twofold: we present an additional layer designed to aid the work of tool developers; second, we provide directly usable IDE components to express its potentials.

Original languageEnglish
Title of host publicationComputational Science and Its Applications, ICCSA 2014 - 14th International Conference, Proceedings
PublisherSpringer Verlag
Pages402-417
Number of pages16
EditionPART 5
ISBN (Print)9783319091556
DOIs
Publication statusPublished - 2014
Event14th International Conference on Computational Science and Its Applications, ICCSA 2014 - Guimaraes, Portugal
Duration: Jun 30 2014Jul 3 2014

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
NumberPART 5
Volume8583 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Other

Other14th International Conference on Computational Science and Its Applications, ICCSA 2014
CountryPortugal
CityGuimaraes
Period6/30/147/3/14

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

Fingerprint Dive into the research topics of 'Service layer for IDE integration of C/C++ preprocessor related analysis'. Together they form a unique fingerprint.

  • Cite this

    Dévai, R., Vidács, L., Ferenc, R., & Gyimóthy, T. (2014). Service layer for IDE integration of C/C++ preprocessor related analysis. In Computational Science and Its Applications, ICCSA 2014 - 14th International Conference, Proceedings (PART 5 ed., pp. 402-417). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 8583 LNCS, No. PART 5). Springer Verlag. https://doi.org/10.1007/978-3-319-09156-3_29