Friday 23rd of February 2018

Refactoring Model of Legacy Software in Smart Grid based on Cloned Codes Detection

Meng Fanqi

The construction of smart grid relies on the development of many new software systems, whereas it would be very expensive and time-consuming if these new software systems are completely developed anew. Since the existence of many legacy software systems in the former power grid, the problem may be solved well supposing that those legacy software systems are reused reasonably and efficiently in the construction of smart grid. In view of this situation, a refactoring model of legacy software is proposed. The model is based on reverse engineering and its kernel is cloned codes detection and components extraction. Firstly, the cloned codes in the scanned source code of the legacy software will be detected by means of CCFinder. Secondly, the abstract syntax trees of the functions which include the cloned codes will be created. Thirdly, the degree of variation between the functions which include the cloned codes belonging to the same clone set will be calculated according to their abstract syntax trees, and then some functions whose similarities of abstract syntax trees are in the allowed range will be combined. Finally, the combined functions and other frequently invoked functions will be encapsulated in a new class (or a DLL file), and all of these classes (or DLL files) will be reused as components in the development of new software systems of the smart grid.

Keywords: Smart Grid, Legacy System, Code Clone, Refactoring

Download Full-Text


Meng Fanqi
Fanqi Meng is a member of ACM, and received his M.S. degree in computer science and technology from Northeast Dianlil University, Jilin, China, in 2010. He is now a lecturer in the School of Information Engineering, Northeast Dianlil University. His main research interest is cloned code detection and refactoring.

IJCSI Published Papers Indexed By:





IJCSI is a refereed open access international journal for scientific papers dealing in all areas of computer science research...

Learn more »
Join Us

Read the most frequently asked questions about IJCSI.

Frequently Asked Questions (FAQs) »
Get in touch

Phone: +230 911 5482

More contact details »