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

Method for verifying compiler by graph isomorphism

A compiler and graph isomorphism technology, applied in the field of compiler security verification, can solve problems such as inability to verify compiler security, and achieve the effect of verifying security, easy implementation, and simple isomorphism judgment algorithm

Active Publication Date: 2014-02-05
CHINA TECHENERGY +1
View PDF3 Cites 12 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0008] In order to solve the problem that the security of the compiler cannot be verified in the prior art, the present invention provides a method to detect the security of the compiler by using whether the control flow graphs of the source program and the comparison program are isomorphic

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
  • Method for verifying compiler by graph isomorphism
  • Method for verifying compiler by graph isomorphism
  • Method for verifying compiler by graph isomorphism

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0042]The method for verifying a compiler using graph isomorphism in the present invention includes a source program to be processed and a compiler for generating a target program from the source program, a decompiler is established in a selected environment, and the target program is decompiled by the decompiler into Comparing the program, verifying the semantic consistency between the comparing program and the source program, and then establishing the relevant node information of the control flow graph of the source program and the comparing program on this basis, and then performing isomorphism judgment. The verification environment of the present invention is C language.

[0043] Such as figure 1 As shown, for example: first use the compiler Generator to be verified to convert the source program programA into the target program programB;

[0044] Newly develop a decompiler Generator_verify for the target program programB;

[0045] Compile the target program programB using...

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 method for verifying a compiler by graph isomorphism. A device comprises a source program to be processed and the compiler, wherein the source program is transformed into a target program by the compiler. A decompiler is built in a selected environment, the target program is decompiled into a comparison program by the decompiler, semantic consistency between the comparison program and the source program is verified, and isomorphism judgment is performed after relevant node information of control flow graphs of the source program and the comparison program are respectively built on the basis, so that whether the compiler is secure or not is judged. Security of the compiler is verified by judging whether the control flow graphs of the comparison program and the source program are isomorphic or not. By the method, a decompiled code and a source code are directly semantically compared, incomplete verification caused by information loss of the source code in the verifying process is avoided, the control flow graphs do not need to be traversed again in the algorithm, and the graph isomorphism judgment algorithm is simple and easy to implement.

Description

technical field [0001] The invention relates to the field of nuclear power, in particular to a safety verification method for a compiler used to generate safety-level codes in nuclear power. Background technique [0002] Compiler, as a software generation tool, is very important in those special environments that require very high software safety, especially for software used in nuclear safety protection systems. In nuclear safety-level systems, on the one hand, in order to ensure the safety of software operation, programmers often introduce error-checking programs or defensive programs, and the compiled object code requires that the compiler cannot Delete the defense program or error-checking program introduced by the programmer without warning or prompting, so that the target program does not meet the requirements of safety-level software; Fundamental damage, so the compiler is required not to artificially insert malicious code during compilation. Therefore, on the basis...

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/45
Inventor 冯素梅刘建龙李幼媛袁劲涛杨晓豫赵云飞
Owner CHINA TECHENERGY
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