GPU-based large-scale software high-precision static analysis method

A static analysis, high-precision technology, applied in the field of software engineering, can solve problems such as the inability of algorithms to complete calculations, limited scalability, and difficulty in dealing with large-scale problems, and achieve faster analysis speed, high scalability, and high efficiency Effect

Inactive Publication Date: 2019-05-21
NANJING UNIV
View PDF1 Cites 2 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

And most of its calculations only depend on memory. Once the memory is insufficient, the algorithm cannot c

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
  • GPU-based large-scale software high-precision static analysis method
  • GPU-based large-scale software high-precision static analysis method
  • GPU-based large-scale software high-precision static analysis method

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0026] The specific embodiments of the GPU-based high-precision static analysis method for large-scale software used in the present invention will be described in more detail below.

[0027] According to attached figure 1 The system framework of the large-scale software high-precision static analysis method based on GPU shown, the embodiment of the present invention is:

[0028] 1) Perform procedure inlining, that is, replace all procedure calls in the source program with the procedure body of the called procedure, so as to realize context-sensitive interprocedural analysis.

[0029] 2) According to different static analysis types, such as pointer analysis, data flow analysis, program slicing, etc., the front end converts the source program into a graph. For example, for pointer analysis, each related program expression corresponds to a node in the graph, and the relations between expressions such as assignment and dereference are expressed as directed edges with labels betwe...

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 discloses a GPU-based large-scale software high-precision static analysis method. The method comprises the following steps of: firstly, converting a series of specific program analysis,such as pointer analysis, data flow analysis, program slicing and the like, into a special graph accessibility problem, namely a context independent language (CFL) accessibility problem; Transmittingthe converted program chart and the corresponding grammar rule to a graphics processing unit (GPU) to carry out parallel CFL reachability calculation, namely dynamically adding edges according to thegrammar rule until a fixed point is reached; And if the size of the graph exceeds the limited value of the video memory, only part of data can be called to participate in calculation each time, and the rest is stored in a hard disk. By utilizing the GPU and the external memory, the method disclosed by the invention has relatively high efficiency and expandability, and can be used for carrying outcomplex code analysis on a large-scale software system.

Description

technical field [0001] The invention relates to a program static analysis technology, uses GPU to accelerate the analysis speed, and belongs to the field of software engineering. Background technique [0002] As modern software systems become more and more large and complex, the defects in the software also increase sharply. How to find the defects in the software accurately and efficiently is particularly important. Current software defect detection methods can be divided into two categories based on "whether the software under test needs to be run": dynamic testing and static analysis. Generally speaking, since dynamic testing obtains specific running information, the defects reported are more accurate; while static analysis can consider the execution path more comprehensively, so more defects can be found. Commonly used static analysis techniques include data flow analysis, pointer analysis, symbolic execution, etc. [0003] However, since the development of static anal...

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): G06F11/36G06F9/50
Inventor 左志强陆申明王林章李宣东
Owner NANJING UNIV
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