Patents
Literature
Hiro is an intelligent assistant for R&D personnel, combined with Patent DNA, to facilitate innovative research.
Hiro

44 results about "Program Dependence Graph" patented technology

In computer science, a program dependence graph (PDG) is a representation, using graph notation, that makes data dependencies and control dependencies explicit. These dependencies are used during dependence analysis in optimizing compilers to make transformations so that multiple cores are used, and parallelism is improved.

Fine-grained vulnerability detection method based on depth features

The invention discloses a fine-grained vulnerability detection method based on depth characteristics. The fine-grained vulnerability detection method comprises the following two stages: a training stage and a detection stage. The training stage comprises the steps that a large number of programs with vulnerabilities and without vulnerabilities are collected; Preprocessing the programs, and extracting program slices from the program dependency graph; Labeling the generated program slice according to the vulnerability type; Extracting a program focus point from the program slice according to a security analysis rule; Converting the program slice and the program focus point into vectors; Building a vulnerability detection model based on deep learning, and using vectors to train model parameters to be optimal; And finally, a trained vulnerability detection model based on deep learning is obtained. The detection stage comprises the following steps: extracting a program slice and a program focus point from a program to be detected according to a source code processing mode of the training stage, and respectively converting the program slice and the program focus point into vectors; And classifying the vectors by using the trained vulnerability detection model, and finally generating a vulnerability detection report according to a classification result.
Owner:HUAZHONG UNIV OF SCI & TECH

Method and system for automatically generating dynamic breakpoints

The invention discloses a method and system for automatically generating dynamic breakpoints, wherein the system comprises a dynamic dependence graph creation module, a debugging range refinement module, a state-flow graph creation module, a dynamic breakpoint generation module and a debugging feedback collection module, wherein the dynamic dependency graph creation module is used for not only collecting execution examples of program statements, but also collecting execution sequences and dependency relationship between the examples by utilizing a dynamic instrumentation technique during the program execution process, so as to create a dynamic program dependence graph on the bases; the debugging range refinement module is used for extracting parts of the dynamic program dependence graph relevant with program failure descriptions by utilizing a program dynamic-slicing technique; the state-flow graph creation module is used for interchanging connection points and sides in the dynamic dependence graph output by the debugging range refinement module and transforming a debugging range into a state-flow graph; the dynamic breakpoint generation module is used for generating dynamic breakpoints and aggregations of expressions required being inspected at the breakpoints; and the debugging feedback collection module is used for collecting the results of judgments made by a user about the provided breakpoints and the aggregations of the expressions required being inspected at the breakpoints.
Owner:INST OF COMPUTING TECH CHINESE ACAD OF SCI

Bug detection method and system based on program characteristic tree

The invention discloses a bug detection method and a bug detection system based on a program characteristic tree. The implementation method comprises the steps of analyzing a bug function code to generate a bug program dependence graph, traversing the bug program dependence graph to generate a bug program characteristic tree; analyzing a to-be-detected function code to generate a to-be-detected program dependence graph, traversing the to-be-detected program dependence graph to generate a to-be-detected program characteristic tree; carrying out node matching on the bug program characteristic tree and the to-be-detected program characteristic tree; if all nodes in the bug program characteristic tree can be matched with the nodes in the to-be-detected program characteristic tree, judging whether a data dependence relation of the to-be-detected program characteristic tree which is the same as that of the bug program characteristic tree exists between the matched nodes in the bug program characteristic tree and the to-be-detected program characteristic tree; and if so, judging that a bug exists in the to-be-detected function code. According to the method and the system, the execution efficiency of bug detection can be remarkably improved while guaranteeing the detection accuracy.
Owner:HUAZHONG UNIV OF SCI & TECH

Communication device and method for updating software thereof

The invention discloses a communication device and a method for updating software thereof. The method comprises determining each pair of program elements with coupling degree higher than a set value in a target program to respectively serve as focus points; enabling the relevant program elements of any pair focus points to serve as nodes, determining the edges of arrows with directions between the nodes according to the dependent relations between the relevant program elements, and constructing a program dependent graph through the nodes and the edges; performing forward slicing and backward slicing according to a slicing principle with each focus point serving as a starting point respectively according to the constructed program dependent graph, and acquiring the program dependent graph after slicing of the corresponding focus points; and identifying the program elements needing to be reconstructed according to the program dependent graph after slicing. The communication device and the method for updating the software of the communication device construct the dependent graph with the coupling degree serving as an entry point. Compared with cohesion, the coupling degree can reflect the interaction relation between the elements in the program so as to facilitate the reconstruction between analysis classes. The slicing technology is introduced so as to increase the accuracy of measurement.
Owner:DATANG MOBILE COMM EQUIP CO LTD +1

Non-control data attack detection method and device based on novel program dependence graph

The invention belongs to the technical field of network security space, and particularly relates to a non-control data attack detection method and device based on a novel program dependency graph, andthe method comprises the steps: constructing a security-sensitive non-control data set in a program and the novel program dependency graph of basic block granularity through static analysis, and carrying out instrumentation of the LLVM intermediate language representation of the program; in the running process, access and calling operation of the safety-sensitive non-control data in the program is verified, and therefore the data flow integrity of the safety-sensitive non-control data is protected. The control flow and the data flow of the program are combined, and data flow integrity protection of safe and sensitive non-control data in the target program is realized according to the novel program dependency graph during running. The protected non-control data is shrunk to a safe and sensitive non-control data set, analysis and instrumentation processing are carried out on the granularity of the basic block, the running efficiency of a program is guaranteed, safety and performance expenditure are balanced, good universality is achieved, and a new solution is provided for non-control data attack detection.
Owner:PLA STRATEGIC SUPPORT FORCE INFORMATION ENG UNIV PLA SSF IEU

Defect positioning method based on context awareness

The invention relates to a defect positioning method based on context awareness, which is characterized in that a program slicing technology is utilized to construct a defect context, the context can be expressed as a directed graph expressed by a program dependency graph, nodes in the graph are statements having a direct or indirect association relationship with failures, and edges are association relationships among the statements. On the basis of the graph, the CAN embeds each node in the graph into a node representation vector by adopting one-hot coding, a dependency relationship between statements is obtained by utilizing GNN, and the CAN is trained by utilizing a test case on the basis of the node representation vectors, so that a more accurate node representation vector can be obtained. And finally, a virtual test case set is constructed through a method that each statement in the defective context statements of the defective target program is covered by only one test case and only one defective context statement is covered by one test case. The test case set is input into the trained GNN to obtain a suspicious value of each statement. According to the method, defect context is analyzed and incorporated into suspicious evaluation to improve defect positioning, and experimental analysis shows that the method can obviously improve the effectiveness of defect positioning.
Owner:CHONGQING UNIV

Method and system for automatically generating dynamic breakpoints

The invention discloses a method and system for automatically generating dynamic breakpoints, wherein the system comprises a dynamic dependence graph creation module, a debugging range refinement module, a state-flow graph creation module, a dynamic breakpoint generation module and a debugging feedback collection module, wherein the dynamic dependency graph creation module is used for not only collecting execution examples of program statements, but also collecting execution sequences and dependency relationship between the examples by utilizing a dynamic instrumentation technique during the program execution process, so as to create a dynamic program dependence graph on the bases; the debugging range refinement module is used for extracting parts of the dynamic program dependence graph relevant with program failure descriptions by utilizing a program dynamic-slicing technique; the state-flow graph creation module is used for interchanging connection points and sides in the dynamic dependence graph output by the debugging range refinement module and transforming a debugging range into a state-flow graph; the dynamic breakpoint generation module is used for generating dynamic breakpoints and aggregations of expressions required being inspected at the breakpoints; and the debugging feedback collection module is used for collecting the results of judgments made by a user about the provided breakpoints and the aggregations of the expressions required being inspected at the breakpoints.
Owner:INST OF COMPUTING TECH 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