Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

An Automatic Refactoring Method for Object-Oriented Software

An object-oriented, software technology, applied in software design, software engineering design, creation/generation of source code, etc., can solve the problems of single refactoring operation and poor readability

Active Publication Date: 2019-07-23
NORTHEASTERN UNIV LIAONING
View PDF5 Cites 0 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0008] (3) Too large class (God Class): The class contains too many functions and attributes, and realizes too many functions, resulting in poor code comprehensibility and readability
[0010] The above algorithm can only implement a single refactoring operation to improve the cohesion of the system, and the refactoring operations of the refining class are all semi-automatic algorithms, requiring developers to manually input the categories that need to be decomposed for further analysis. certain limitations

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • An Automatic Refactoring Method for Object-Oriented Software
  • An Automatic Refactoring Method for Object-Oriented Software
  • An Automatic Refactoring Method for Object-Oriented Software

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0071] The specific implementation manners of the present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. The following examples are used to illustrate the present invention, but are not intended to limit the scope of the present invention.

[0072] In this embodiment, the following example code of object-oriented software is used as the software system to be reconstructed, and it is reconstructed through the automatic reconstruction method of object-oriented software:

[0073]

[0074]

[0075]

[0076]

[0077] A method for automatic refactoring of object-oriented software provided in this embodiment, such as figure 1 As shown, it specifically includes the following steps.

[0078] Step 1: With classes as nodes and inter-class dependencies as edges, abstractly build the software system to be refactored into a class-level multi-layer dependency directed network model, specifically including the fo...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

The invention provides an automatic reconstruction method for object-oriented software and relates to the technical field of improving software quality. This method builds the software system to be reconstructed into a class-level multi-layer dependent directed network model, performs reconstruction preprocessing, merges class-level network connectivity slices, converts each class-level network connectivity slice into a collection of entities of the same type, and analyzes Semantic and structural coupling relationships between the elements of each entity set, construct a method-level coupled undirected network model, determine the weight coefficients of different types of coupling relationships between nodes in the undirected network, divide each method-level network into communities, and generate complex According to the construction suggestions, the software system to be refactored should be refactored. This invention starts from the perspective of global cohesion and coupling of the entire software system, combines semantic similarity, structural similarity and hierarchical clustering algorithm to simultaneously generate relocation functions, relocation attributes and refining class reconstruction operation suggestions, effectively improving the code's reliability. Understandability, reusability and maintainability.

Description

[0001] Technical field: [0002] The invention relates to the technical field of software quality improvement, in particular to an automatic reconfiguration method for object-oriented software. [0003] Background technique: [0004] In the process of software development and maintenance, constantly changing requirements cause the original design structure of the system to be broken, making the structure more confusing, the code difficult to understand, and software reuse and maintenance becoming more and more difficult. Software refactoring is an important means to improve software quality. It improves the comprehensibility, maintainability and scalability of software by adjusting the internal structure of software without changing the external behavior of the software. However, software refactoring is a time-consuming and complex code adjustment activity that requires software developers to perceive the code as a whole and make complex decisions about "where, when, and how" t...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
Patent Type & Authority Patents(China)
IPC IPC(8): G06F8/20G06F8/30
CPCG06F8/24G06F8/311
Inventor 王莹杨月于海朱志良张伟
Owner NORTHEASTERN UNIV LIAONING
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products