{'fraction_non_alphanumeric': 0.014565826330532213, 'fraction_numerical': 0.0, 'mean_word_length': 5.447653429602888, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Software restructuring models for object oriented programming languages using the fuzzy based clustering algorithm

Advances in the domain of software-based technology pave the way for widespread use of object-oriented programs. There is a need to develop a well-established software system that will reduce maintenance costs and enhance the usability of the component. While designing a software system, its internal structure deteriorates due to prolonged or delayed maintenance activities. In such situations, restructuring of the software is a superior approach to improve the structure without changing external behaviour of the system. One approach to carry out restructuring is to use refactoring on the existing source code for improving the internal structure of the code. Code refactoring is an effective technique for software development that improves the software’s internal structure without changing its external behaviour. The purpose of refactoring is to improve the cohesion of existing code and minimize coupling in the existing module of a software system. Among numerous methods, clustering is one of the effective approaches to increase the cohesion of the system. Hence in this paper, the authors suggest to extract member functions and member variables and propose to find their similarity by Frequent Usage Pattern approach. Next, the proposed fuzzy based clustering algorithm perform effective code refactoring. The proposed method utilizes multiple refactoring methods to increase the cohesion of the component without any change in the meaning of the software system. The proposed system will offer automated support to change low-cohesive to high-cohesive functions. Finally, the proposed model has been experimentally tested with object-oriented programs.