Static analysis based source code multi-versionfunction call relation difference identification method

A function call relationship, static analysis technology, applied in special data processing applications, electrical digital data processing, instruments, etc., can solve the problem of no multi-version function call relationship difference analysis and comparison

Inactive Publication Date: 2014-09-10
INST OF SOFTWARE - CHINESE ACAD OF SCI
View PDF3 Cites 43 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

Therefore, there is currently no method (or software) that can analyze and compare the function call relationship of code logic blocks between multiple versions, and there is no difference analysis and comparison of the function call relationship between multiple versions.

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
  • Static analysis based source code multi-versionfunction call relation difference identification method
  • Static analysis based source code multi-versionfunction call relation difference identification method
  • Static analysis based source code multi-versionfunction call relation difference identification method

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0084] The present invention will be further described by examples below, but the scope of the present invention is not limited in any way.

[0085] Set the usage scenario as follows:

[0086] The user has customized linux3.5.4 and modified part of the source code of the hibernate.c file of the power management module. Now it is necessary to upgrade to linux3.8.13, the user uses the method of the present invention to compare the difference between the power management modules of linux3.5.4 and linux3.8.13 versions, and upgrades the customized code according to the comparison result.

[0087] 1) The user logs into the source code difference system and finds that there is a lack of linux3.5.4 and linux3.8.13 version data in the system. Upload linux3.5.4 and linux3.8.13 source code. The system performs static analysis and version comparison on the source code of these two versions, and generates corresponding data in the database. The data part is as follows:

[0088] Director...

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 relates to a static analysis based source code multi-versionfunction call relation difference identification method. Firstly, information defined in a source code, like a function list and a static call relation between functions, is acquired through a source code static analysis technique; then source codes of two versions are chosen to carry out Diff, then the function definition list and the call relation that are acquired through static analysis are combined to identify the changed difference part, the state of the changed part is carefully analyzed, the change status, the new addition status and the deletion status defined and called by a function are respectively identified and put in storage, and finally, the call relation betweena single version and the call relation difference view of more versions are displayed in combination with the user need and the status data stored in a database. The internal call relation of single version is analyzed and displayed, and the call relation difference of more versions is also analyzed and displayed, so that an efficient auxiliary method is provided for the analysis, development, uploading and maintenance of open source software.

Description

technical field [0001] The invention relates to static analysis technology of source code, in particular to a function call relation diagram and a multi-version difference identification method, and proposes a practical static analysis-based multi-version function call difference identification method of source code. Background technique [0002] Source code static analysis technology refers to scanning the program code through lexical analysis, syntax analysis, control flow analysis and other technologies without running the code, and verifying whether the code meets the specifications, security, reliability, maintainability and other indicators A code analysis technique. Commonly used static analysis techniques include lexical analysis, syntactic analysis, abstract syntax tree analysis, semantic analysis, control flow analysis, and data flow analysis. The static function call relationship is generated by combining the control flow analysis and the data flow analysis, and ...

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 Applications(China)
IPC IPC(8): G06F9/44G06F17/30
Inventor 李斌刘雪花武延军
Owner INST OF SOFTWARE - CHINESE ACAD OF SCI
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products