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

Object software oriented automatic refactoring method

An object-oriented, software technology, applied in software design, software engineering design, instruments, etc., can solve the problems of realizing a single refactoring operation, poor readability, etc.

Active Publication Date: 2017-03-08
NORTHEASTERN UNIV
View PDF5 Cites 14 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0006] (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
[0008] 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
  • Object software oriented automatic refactoring method
  • Object software oriented automatic refactoring method
  • Object software oriented automatic refactoring method

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0066] 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.

[0067] 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:

[0068]

[0069]

[0070]

[0071]

[0072] 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.

[0073] 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 object software oriented automatic refactoring method and relates to the technical field of software quality improvement. According to the method, a to-be-refactored software system is established as a class level multilayer dependency directed network model; refactoring preprocessing is carried out; class level network connecting components are combined; each class level network connecting component is converted into an entity set of the same class; semantic and structure coupling relationships among the entity set elements are analyzed; a method level coupling undirected network model is established; weight coefficients of different classes of coupling relationships among the nodes of the undirected network are determined; community division is carried out on each method level network; refactoring suggestions are generated; and the to-be-refactored software system is refactored. According to the method, starting from the angles of global cohesion and coupling of the whole software system, through combination of a semantic similarity, a structure similarity and a hierarchical clustering algorithm, a move function, a move attribute and extraction class refactoring operation suggestions are generated at the same time, and the intelligibility, reusability and maintainability of the code are effectively improved.

Description

Technical field: [0001] The invention relates to the technical field of software quality improvement, in particular to an automatic reconfiguration method for object-oriented software. Background technique: [0002] 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" to refactor. Th...

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
IPC IPC(8): G06F9/44
CPCG06F8/24G06F8/311
Inventor 王莹杨月于海朱志良张伟
Owner NORTHEASTERN UNIV
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