{'fraction_non_alphanumeric': 0.019401778496362168, 'fraction_numerical': 0.0, 'mean_word_length': 5.098522167487685, '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}}
Semi-automatic object-oriented software design using metaheuristic algorithms

The quality of software design always has a significant impact on the extendibility and maintainability of the final product. Automatic techniques may help designers to achieve better design. There are several ways for software design automation. Generally Search-based methods such as GA, ant colony, and ICA are used for problems with large search space in which finding the optimal solution is hard. In this paper a hybrid algorithm called ICA-TS (Imperialist Competitive Algorithm-Tabu Search) is presented to generate class diagram of the under design system automatically. The method has three phases: First, formal concept analysis (FCA) for preprocessing phase of the method is used as a mean to generate initial solution. Next a hybrid of ICA and TS is used to update solutions. The relationships between classes are determined in third phase. Three standard case studies are used for performance evaluation and the results are compared with results of genetic and simple ICA. The results show that the presented method has competitive results and it can generate more efficient class diagram in terms of cohesion, coupling and complexity of system.