| ¡¡ | Chinese Journal of Computers Full Text |
| Title | Using Static Analysis to Extract C++0x Concepts |
| Authors | CHEN Lin1),2),3) XU Bao-Wen1),2),3) |
| Address | 1)(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) |
| Year | 2009 |
| Issue | No.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 |