• DocumentCode
    2792290
  • Title

    Change Impact Analysis for Generic Libraries

  • Author

    Zalewski, Marcin ; Schupp, Sibylle

  • Author_Institution
    Dept. of Comput. Sci. & Eng., Chalmers Univ. of Technol., Goteborg
  • fYear
    2006
  • fDate
    24-27 Sept. 2006
  • Firstpage
    35
  • Lastpage
    44
  • Abstract
    Since the standard template library (STL), generic libraries in C++ rely on concepts to precisely specify the requirements of generic algorithms (function templates) on their parameters (template arguments). Modifying the definition of a concept even slightly, can have a potentially large impact on the (interfaces of the) entire library. In particular the non-local effects of a change, however, make its impact difficult to determine by hand. In this paper we propose a conceptual change impact analysis (CCIA), which determines the impact of changes of the conceptual specification of a generic library. The analysis is organized in a pipe-and-filter manner, where the first stage finds any kind of impact, the second stage various specific kinds of impact. Both stages describe reachability algorithms, which operate on a conceptual dependence graph. In a case study, we apply CCIA to a new proposal for STL iterator concepts, which is under review by the C++ standardization committee. The analysis shows a number of unexpected incompatibilities and, for certain STL algorithms, a loss of genericity
  • Keywords
    C++ language; formal specification; software libraries; software maintenance; systems analysis; C++ libraries; conceptual change impact analysis; conceptual dependence graph; conceptual specification; function templates; generic libraries; reachability algorithms; standard template library; template arguments; Algorithm design and analysis; Computer science; Concrete; Containers; Filters; Libraries; Object oriented programming; Proposals; Standardization; Taxonomy;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance, 2006. ICSM '06. 22nd IEEE International Conference on
  • Conference_Location
    Philadelphia, PA
  • ISSN
    1063-6773
  • Print_ISBN
    0-7695-2354-4
  • Type

    conf

  • DOI
    10.1109/ICSM.2006.17
  • Filename
    4021318