¡¡Chinese Journal of Computers   Full Text
  TitleUsing Static Analysis to Extract C++0x Concepts
  AuthorsCHEN Lin1),2),3) XU Bao-Wen1),2),3)
  Address1)(School of Computer Science and Engineering, Southeast University, Nanjing 210096) 2)(State Key Laboratory for Novel Software Technology, Nanjing University, Nanjing 210093) 3)(Department of Computer Science and Technology, Nanjing University, Nanjing 210093)
  Year2009
  IssueNo.9(1792¡ª1803)
  Abstract &
  Background
Abstract Using Concepts to abstract domain knowledge is the basis for generic programming. Concept will be a new language feature in C++0x, which provides solid base for developing reusable and extendable generic software. To make better use of new generic programming features of C++0x, it is necessary to identify Concepts in legacy C++ programs, and refactor them to C++0x programs. This paper presents an automatic method to identify Concepts with static analysis, analyzes the usages of type parameters in legacy programs to extract valid expression constraints and associate type constraints. Concepts can be inferred by these constraints. The approach is applied to the C++ Standard Template Library to identify most of the potential Concepts in STL. The study convinces that this method is helpful to identify Concepts in legacy C++ programs. Keywords generic programming; software refactoring; Concept; C++0x; constraint analysis