摘要
There exist a lot of legacy systems written in C language, which are difficult to understand, modify, maintain and reuse. How to improve the quality of these non object oriented systems has become an important issue in software engineering area. A possible way is to transform these procedural systems into semantically equivalent object oriented systems implemented in C++ language, which provides object oriented features such as data abstraction, inheritance and polymorphism, makes software system more comprehensible, maintainable and reusable. A detailed discussion on polymorphism analysis, object discovery and possible inheritance relation extraction on C to C++ conversion problem is made, which is also suitable to the transformation on legacy systems implemented in other procedural languages to equivalent object oriented systems.
There exist a lot of legacy systems written in C language, which are difficult to understand, modify, maintain and reuse. How to improve the quality of these non object oriented systems has become an important issue in software engineering area. A possible way is to transform these procedural systems into semantically equivalent object oriented systems implemented in C++ language, which provides object oriented features such as data abstraction, inheritance and polymorphism, makes software system more comprehensible, maintainable and reusable. A detailed discussion on polymorphism analysis, object discovery and possible inheritance relation extraction on C to C++ conversion problem is made, which is also suitable to the transformation on legacy systems implemented in other procedural languages to equivalent object oriented systems.
作者
Zhang Ying 1,Zhou Yu ming 1,Xu Bao wen 1,2 , Liu Yuan 1 1.Department of Computer Science and Engineering, Southeast University, Nanjing 210096, China
2.State Key Laboratory of Software Engineering, Wuhan University, Wuhan 430072, China
基金
Supported in part by the National Natural Science F oundation of China(6 0 0 730 12 )