Code parallel verification method and device based on shared infeasible path pool

A feasible and path-based technology, applied in code compilation, program code conversion, instrumentation, etc., can solve the problems of large number of program paths, long time-consuming, huge resources, etc., and achieve the effect of improving efficiency and path traversal efficiency

Pending Publication Date: 2020-07-24
NANJING UNIV
View PDF6 Cites 0 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

However, this path-oriented model verification has the problem that the number of program paths is too large, that is, if the number of program paths is very

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
  • Code parallel verification method and device based on shared infeasible path pool
  • Code parallel verification method and device based on shared infeasible path pool
  • Code parallel verification method and device based on shared infeasible path pool

Examples

Experimental program
Comparison scheme
Effect test

Example Embodiment

[0044] The present invention will be described in further detail below in conjunction with the accompanying drawings.

[0045] refer to figure 1 , a parallelized code verification method for sharing an infeasible path pool in the present invention can be roughly divided into four processes: the first is the initialization process, the second is the process of finding potential paths, and the third is the process of analyzing potential paths. Among them, the process of finding out the potential path and analyzing the potential path is a process in an iterative process.

[0046] The initialization process is to initialize the SAT constraint code G, the parallel task pool T and the shared infeasible path pool I, namely the aforementioned steps S1 to S3. SAT Constrained Coding G is constructed from user-input source code and verification targets. The source code input by the user is first converted into a CFG state model, and then the SAT constraint encoding G is constructed wit...

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 code parallel verification method and device based on a shared infeasible path pool. The method comprises an initialization process, a process of finding out a potential pathand a process of analyzing the potential path. In the initialization process, an input source program and a verification target are constructed into a corresponding SAT constraint code G. the SAT ofthe SAT constraint code G and the path in the infeasible path pool are solved to obtain a path corresponding to the SAT solution, and the path is stored into a parallel task pool as a potential path.SMT solution is performed on each potential path of the parallel task pool in a multi-thread parallel mode, and if SMT has no solution, extracting an infeasible program path segment corresponding to the unsatisfied minimum set X and the infeasible program path segment is added into the infeasible path pool. Whether the verification target is reachable or not is finally obtained through iteration.In order to improve the verification efficiency, an infeasible path pruning step is added. Compared with the prior art, the code verification efficiency is greatly improved.

Description

technical field [0001] The invention relates to the field of software safety, in particular to the technology of verifying the safety of software codes through models. Background technique [0002] With the continuous development of computer technology, computer software plays an increasingly important role in people's daily life. In this case, software security and correctness guarantee has become a crucial issue at present. [0003] Model checking method is a newly proposed method for checking software security. This method converts codes into intermediate codes by using modern compilers, performs constraint extraction by modeling on the basis of intermediate codes, and obtains verification results by solving constraints. Model checking methods have become popular in the field of software security due to their ease of automation and the provision of counterexamples. [0004] In the original model checking method, the program code is taken as a whole, and the security of...

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/36G06F8/41
CPCG06F11/3608G06F11/3624G06F8/44
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