Program static automatic analysis method

An automatic analysis and program technology, applied in the fields of instruments, electrical digital data processing, and computing, can solve problems such as inability to handle multiple variables bound to the same memory address, complex reasoning process, etc. difficult effect

Active Publication Date: 2016-07-20
NANJING UNIV
View PDF2 Cites 14 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

The problem with Hall logic is that it cannot handle multiple variables bound to the same memory address. Therefore, on the basis of it, later generations proposed extended logic systems such as separation logic, which defined the stack structure of the program and the corresponding separation algorithm. sub, and expanded and modified part of the reasoning rules, with the ability to handle pointer aliases, but t

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
  • Program static automatic analysis method

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0041] The specific implementation method can utilize the existing logical reasoning system, source code syntax analysis tool and abstract syntax tree construction tool, constraint solving tool and graphical interface library. The following sections describe in more detail the details of the implementation process.

[0042] 1. Construct a complete statement-granularity program extension flow graph

[0043] In the specific implementation, the source code to be analyzed must first be parsed and inserted into the program status points to form an extended flow graph for subsequent analysis.

[0044] 1. Use the source code syntax analysis tool to analyze the source code, construct an abstract syntax tree according to the granularity of the statement, and form a basic control flow graph. The control flow graph is a directed graph, and each node in the control flow graph represents a basic statement. The edges in the graph represent the sequence of execution when the program is runn...

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 program static automatic analysis method and relates to a method of automatically analyzing program property by using a data flow analysis means and a logic reasoning system.The method includes: using a grammar analysis tool to analyze a source code, and constructing an extension program flow graph on a sentence level; using a recursive function and property thereof to define property of a program to be analyzed, and using a meet semi-lattice to describe a valuing set of the property; customizing a processing procedure when the program property is transmitted and passes a program sentence, performing automatic derivation and analysis by combining a constraint solving tool with logic reasoning rules, and using a data flow analysis algorithm to execute automatic iteration to solve an analysis result; writing the result back onto the program node of the extension flow graph in a formula form for the convenience of analysis personnel to judge whether the code is wrong or not.By using the method, manual analysis operation can be replaced, analysis accuracy and completeness are guaranteed, errors and omissions caused by manual analysis are avoided, and time cost and manpower cost are saved effectively.

Description

technical field [0001] The invention relates to a method for automatically analyzing the correctness of a program based on a data flow analysis method and a logical reasoning system. The method can be applied to the static analysis and verification of the program, replacing manual and automatic analysis of the possibility of the program execution result, ensuring The accuracy and integrity of the analysis results belong to the application field of software verification technology. Background technique [0002] Software reliability refers to the method of ensuring the correctness of the program to a certain extent through various means such as testing, verification, and model checking. Programmers need to ensure the correct function of the code after writing it. You can observe whether the program execution results meet expectations by executing test cases, or use model checking technology to analyze whether the execution process of the system will lead to an unsafe state. Fo...

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/36
CPCG06F11/3604
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