CN109739773A - GPU parallel C TL model checking approach based on lower pushing system - Google Patents
GPU parallel C TL model checking approach based on lower pushing system Download PDFInfo
- Publication number
- CN109739773A CN109739773A CN201910054917.2A CN201910054917A CN109739773A CN 109739773 A CN109739773 A CN 109739773A CN 201910054917 A CN201910054917 A CN 201910054917A CN 109739773 A CN109739773 A CN 109739773A
- Authority
- CN
- China
- Prior art keywords
- pushing system
- lower pushing
- pattern
- surprise
- target program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
The invention discloses a kind of GPU parallel C TL model checking approach based on lower pushing system, comprising: serial target program to be verified is resolved into lower pushing system;According to preset CTL formula and lower pushing system, generation can replace pushing system under cloth surprise;Using graphics processor GPU concurrent technique, all lower pushing system patterns being received in pushing system can be replaced under cloth surprise by the way that automatic machine Parallel implementation can be replaced;According to all lower pushing system patterns, verify whether serial target program meets CTL formula.Serial JAVA program or C programmer are built into lower pushing system automatically by the present invention, multiplication cross is carried out to CTL formula and lower pushing system, generation can replace pushing system under cloth surprise, calculating task is dynamically distributed to adapt to single-instruction multiple-data stream (SIMD) framework using GPU concurrent technique, and solution is all can be by the received pattern of automatic machine.The present invention efficiently can carry out empty set analysis and CTL pattern checking to lower pushing system, be checked for calling process analysis and the timing property analysis of variable-definition of function.
Description
Technical field
The invention mainly relates to software technology field more particularly to a kind of GPU parallel C TL model inspections based on lower pushing system
Checking method.
Background technique
The reliability of software security, safety are always industry focus of attention.Especially in aerospace, Industry Control
And field of track traffic, software vulnerability may cause country and personal safety comes to harm.Traditional test method can not
The reliability of all probable behaviors of guarantee system.Pattern checking is a kind of formalization method, by the way that program is transformed into one
Formalized description, and software is verified with graph-theoretical algorithm.Pattern checking needs a model to describe program, and lower pushing system is a kind of day
Right serial program formalized model.
Lower pushing system is a kind of limited migratory system with stack element.It, can be with because of lower characteristic of the pushing system with stack
The accurately serial implementation procedure and function call process of simulation program.In practical applications, lower pushing system and its extended model
Commonly used in the analysis and verifying of program.CTL (Computation Tree Logic, calculation idea) is a kind of branching time
Logic, it can describe software nature, the Formal Verification being commonly used for during software and hardware development.Based on lower pushing system
Model checking approach be always industry discussion hot spot, in recent years it has been proposed that a kind of lower pushing system based on semiology analysis
CTL model checking approach.This method by the problem of pattern checking based on lower pushing system be converted to can replace cloth it is odd under push away
The empty set problem analysis of system.For the first time by the Algorithms T-cbmplexity of the CTL model checking approach based on pushdown automata from
Exponential time is down to polynomial time.Although this method will than existing issued other same types CTL pattern checking algorithm
Efficiently, but when proving program becomes complicated, when program code amount increases, this method still needs to the consumption plenty of time, and efficiency needs
It further increases.
Summary of the invention
In order to solve the above problem, the invention proposes a kind of GPU parallel C TL model checking approach based on lower pushing system,
Automatically serial JAVA program or C programmer are built into lower pushing system, multiplication cross is carried out to CTL formula and lower pushing system, it is raw
At pushing system under cloth surprise can be replaced, using GPU concurrent technique dynamic allocation calculating task to adapt to single-instruction multiple-data stream (SIMD) framework,
Solve it is all can be by the received pattern of automatic machine.
Specifically, the invention proposes a kind of GPU parallel C TL model checking approach based on lower pushing system, comprising:
Serial target program to be verified is resolved into lower pushing system;
Pushing system under cloth surprise can be replaced according to preset CTL formula and the lower pushing system, generation;
Using graphics processor GPU concurrent technique, pushed away under cloth surprise by that can replace replace described in automatic machine Parallel implementation
All lower pushing system patterns being received in system;
According to all lower pushing system patterns, verify whether the serial target program meets the CTL formula.
It is preferably, described that serial target program to be verified is resolved into lower pushing system, comprising:
Obtain the entrance function of serial target program to be verified and the Transfer Parameters of the entrance function;
According to the entrance function and the Transfer Parameters, the serial target program is parsed, the serial target is obtained
The corresponding lower pushing system of program.
Preferably, described according to preset CTL formula and the lower pushing system, generation can replace pushing system under cloth surprise, packet
It includes:
Standard assignment and canonical assignment are carried out to the lower pushing system according to preset CTL formula;
Multiplication cross is carried out to the lower pushing system after the CTL formula and assignment, it is corresponding to obtain the serial target program
Replace pushing system under cloth surprise.
Preferably, described to use graphics processor GPU concurrent technique, it can be handed over described in automatic machine Parallel implementation by that can replace
For the lower pushing system patterns being received all in pushing system under cloth surprise, comprising:
Automatic machine can be replaced and be divided into multiple independent subautomatons;
By GPU thread and multiple subautomatons, all quilts in pushing system can be replaced under cloth surprise described in Parallel implementation
The received lower pushing system pattern of automatic machine.
Preferably, the lower pushing system includes process control point, stack element, program atomic property and migration rules, described
Method further include:
Determine the corresponding pattern coding of each migration rules;
It is encoded according to the pattern, the migration rules that the lower pushing system includes is stored in concordance list.
Preferably, described to be encoded according to the pattern, the migration rules that the lower pushing system includes are stored in concordance list
In, comprising:
Pattern is encoded in the same list item that identical migration rules are stored in concordance list;
The number of the migration rules stored in the list item is determined as the corresponding boundary value of the list item;
In the concordance list, the corresponding boundary value of the list item is recorded.
Preferably, described by GPU thread and multiple subautomatons, can replace described in Parallel implementation cloth it is odd under push away and be
It is all by the received lower pushing system pattern of automatic machine in system, comprising:
Multiple subautomatons are dynamically assigned to multiple GPU computing units;
Migration rules are obtained from the concordance list, by the subautomaton that runs in GPU computing unit to the institute of acquisition
It states migration rules to be indicated, obtain by the received lower pushing system pattern of the subautomaton.
Further, the method also includes:
Quantity by father's thread according to the migration rules obtained opens sub thread, carries out load balancing.
Further, the method also includes:
Show the verification result that the verifying of CTL formula is carried out to the serial target program, and display is described all is connect
The lower pushing system pattern received.
Further, the method also includes:
Output it is final replace polyautomata, and will can replace polyautomata described in output and be stored in text formatting text
In part.
Compared with existing pattern checking technology, the GPU parallel C TL pattern checking of the present invention based on lower pushing system
Method has the following beneficial effects:
Serial JAVA program or C programmer are built into lower pushing system automatically by the present invention, to CTL formula and under push away and be
System carries out multiplication cross, and generation can replace pushing system under cloth surprise, dynamically distributes calculating task using GPU concurrent technique to adapt to single instrction
Multiple data stream framework, solution is all can be by the received pattern of automatic machine.The present invention efficiently can carry out empty set to lower pushing system
Analysis and CTL pattern checking are checked for calling process analysis and the timing property analysis of variable-definition of function.
Detailed description of the invention
By reading the following detailed description of the preferred embodiment, various other advantages and benefits are common for this field
Technical staff will become clear.The drawings are only for the purpose of illustrating a preferred embodiment, and is not considered as to the present invention
Limitation.And throughout the drawings, the same reference numbers will be used to refer to the same parts.In the accompanying drawings:
Attached drawing 1 shows a kind of GPU parallel C TL model checking approach based on lower pushing system provided in an embodiment of the present invention
Flow diagram.
Attached drawing 2 shows a kind of GPU parallel C TL model checking tool based on lower pushing system provided in an embodiment of the present invention
Module diagram.
Specific embodiment
The illustrative embodiments of the disclosure are more fully described below with reference to accompanying drawings.Although showing this public affairs in attached drawing
The illustrative embodiments opened, it being understood, however, that may be realized in various forms the disclosure without the reality that should be illustrated here
The mode of applying is limited.It is to be able to thoroughly understand the disclosure on the contrary, providing these embodiments, and can be by this public affairs
The range opened is fully disclosed to those skilled in the art.
Referring to Fig. 1, the embodiment of the invention provides a kind of GPU (the Graphics Processing based on lower pushing system
Unit, graphics processor) parallel C TL model checking approach, this method specifically includes the following steps:
Step 101: serial target program to be verified is resolved into lower pushing system.
Above-mentioned serial target program need to be the serial program that C language or JAVA language are write.
Specifically, the entrance function of serial target program to be verified and the Transfer Parameters of entrance function are obtained;According to entering
Mouth function and Transfer Parameters, parse serial target program, obtain the corresponding lower pushing system of serial target program.The embodiment of the present invention
The sets attribute of the default of lower pushing system is provided also according to serial target program, lower pushing system can be with the calling of analog function
Journey, default value attribute include line number, variable name, function name etc..
Wherein, the executing subject of the embodiment of the present invention can be the terminal for carrying out CTL pattern checking.Above-mentioned serial mesh
The entrance function of beacon course sequence and the Transfer Parameters of entrance function can be inputted in the input frame of terminal by user, this external application
Family need to also in the input frame of terminal incoming serial target program program address.After terminal gets the program address, energy
It is enough that the serial target program is got according to the program address.Then according to the entrance function of user's input and the biography of entrance function
It passs parameter to parse the serial target program, so that the serial target program is parsed into a lower pushing system.
In embodiments of the present invention, lower pushing system includes process control point, stack element, program atomic property and migration rule
Then.For each of lower pushing system process control point and stack element all assignment initial value, the name including process control point
Word, all uses for local variable, the definition of all variables, that is, defines variable and uses again the name of stack.It is above-mentioned initial
Value is made of character use, def, usedef, variable name, method name.
Wherein, program atomic property can embody the call relation between the function in serial target program, migration rules
It is changed into the rule of another pattern for a pattern in lower pushing system.Pattern can indicate with a binary group, the binary
Group includes that process control clicks stack top element.Above-mentioned entrance function is mainly used for determining the initial configuration of lower pushing system.
In embodiments of the present invention, after serial target program being resolved to lower pushing system, also need include by lower pushing system
Migration rules be stored in concordance list.Determine the corresponding pattern coding of each migration rules;It is encoded according to pattern, is pushed away by under
The migration rules that system includes are stored in concordance list.Specifically, pattern is encoded into identical migration rules and is stored in concordance list
In the same list item in;The number of the migration rules stored in list item is determined as the corresponding boundary value of list item;In concordance list
In, the corresponding boundary value of record list item.
Step 102: according to preset CTL formula and lower pushing system, generation can replace pushing system under cloth surprise.
In embodiments of the present invention, preset CTL formula is to be defined by the user, and input in the input frame of terminal.
For example, CTL formula can be AG (def (x) -> EF use (x)), indicate that variable x centainly will use after definition.
Specifically, standard assignment and canonical assignment are carried out to lower pushing system according to preset CTL formula;To CTL formula and
Lower pushing system after assignment carries out multiplication cross, obtains that serial target program is corresponding to replace pushing system under cloth surprise.
When carrying out standard assignment to lower pushing system, if a pattern, which meets a program atomic property, is solely dependent upon pattern
In control point and be not dependent on stack element, it is determined that the pattern be standard assignment pattern.Canonical is being carried out to lower pushing system
In assignment, the pattern set for meeting a program atomic property is a canonical pattern set.
Step 103: using graphics processor GPU concurrent technique, cloth surprise can be replaced by the way that automatic machine Parallel implementation can be replaced
All lower pushing system patterns being received in lower pushing system.
In embodiments of the present invention, can replace pushing system under cloth surprise is indicated with that can replace polyautomata, parallel using GPU
Technology, Parallel implementation is all can be by the received lower pushing system pattern of automatic machine.
Specifically, automatic machine can be replaced and be divided into multiple independent subautomatons;It is automatic by GPU thread and multiple sons
Machine, Parallel implementation can replace all by the received lower pushing system pattern of automatic machine in pushing system under cloth surprise.
Specifically, multiple subautomatons are dynamically assigned to multiple GPU computing units;Migration rule are obtained from concordance list
Then, the migration rules of acquisition are indicated by the subautomaton run in GPU computing unit, obtain being received by subautomaton
Lower pushing system pattern.
When obtaining migration rules from concordance list, disposably read according to the boundary value of list item stored in list item it is all
Migration rules.And sub thread is opened according to the quantity of migration rules by father's thread, carry out load balancing.Per thread can be located
There are upper limit values for the quantity of the migration rules of reason.If the quantity of the migration rules obtained is greater than the upper limit value, pass through father's thread
It opens sub thread and carries out load balancing.Specifically, father's thread calculates between the quantity and above-mentioned upper limit value of the migration rules obtained
Ratio, and round up to the ratio, open the integer sub thread to round up, it is multiple by this of unlatching
Sub thread parallel processing obtain all migration rules, obtain it is all can be by the received lower pushing system pattern of automatic machine.This hair
Bright embodiment can dynamically start according to the workload of thread and close sub thread, to achieve the effect that load balancing.
Step 104: according to all lower pushing system patterns, verifying whether serial target program meets CTL formula.
Traverse it is all whether can be met by serial target program known to the received lower pushing system pattern of automatic machine it is preset
CTL formula.
After obtaining to the CTL verification result of serial target program, also serial target program progress CTL formula is tested in display
The verification result of card, and display are all by the received lower pushing system pattern of automatic machine, and user is facilitated intuitively to understand pattern checking
As a result.Further, also output it is final replace polyautomata, and be stored in text for polyautomata can be replaced described in output
In this formatted file.
Method provided in an embodiment of the present invention also supports base in addition to it can carry out CTL pattern checking to serial target program
It is analyzed in the parallel empty set that can replace pushing system under cloth surprise.Specifically, what automatic acquisition user inputted, which replaces to push away under cloth surprise, is
System, this can be replaced under cloth surprise pushing system is indicated with that can replace polyautomata, and using GPU concurrent technique, Parallel implementation is all can
By the received lower pushing system pattern of automatic machine, empty set analysis can be carried out by the received lower pushing system pattern of automatic machine according to all.
For the ease of being further understood from method provided in an embodiment of the present invention, it is briefly described with reference to the accompanying drawing.
As shown in Fig. 2, the present invention discloses a kind of GPU parallel C TL model checking tool based on lower pushing system, which includes: program
Analytic modeling module, for serial target program (JAVA program or C programmer) to be parsed into a lower pushing system, and according to
Program provides the sets attribute of default;Lower pushing system assignment module, according to CTL formula to lower pushing system progress standard assignment and just
Then assignment to lower pushing system and CTL formula multiplication cross obtains that pushing system under cloth surprise can be replaced;Parallel C TL pattern checking module, can
Alternately pushing system is transferred to the alternately automatic machine that just begins under cloth surprise, and to just beginning, alternately automatic machine is divided, and obtains multiple sons
Automatic machine, by multiple subautomatons, using GPU concurrent technique, Parallel implementation is all can be by the received lower pushing system of automatic machine
Pattern, whether traversal is all can meets CTL formula by program known to the received lower pushing system pattern of automatic machine;Verification result output
Module exports the pattern checking of lower pushing system as the result is shown, and exports and final replace polyautomata.
The GPU parallel C TL model inspection provided by the present invention based on lower pushing system is specifically told about below with reference to specific example
Checking method.Specifically examined with model of the application GPU parallel C TL model checking approach of the invention based on lower pushing system to Antlr
For looking into.
Antlr refers to the open source syntactic analysis that can be automatically generated syntax tree according to input and visually show
Device.It is the grammar parser generator realized based on LL (*) algorithm, is write with Java language, uses top-down recurrence
Decline LL parser method.It is include Java, the language including C++, C# provides one by syntactic description come automatic structure
Make the identifier of customized language, the frame of compiler and interpreter.
The definition calling sequence of some variable is verified in this example.Specific steps are as follows:
Step A, it is first determined CTL formula, as CTL formula AG (def (x) -> EF use (x)) indicates variable x after definition
Be bound to using.
Step B is inputted in terminal input frame and is verified the program address of target program, is verified the principal function of target program
Entrance, above-mentioned CTL formula.
Step C, program Analytic modeling module will be verified target program and be modeled as lower pushing system.According to target source code,
Program is modeled as a lower pushing system comprising process control point, stack element, program atomic property and migration rules.
New stack element is pressed into program stack as the calling of a function can be regarded as, pop-up program at the end of function call
The stack top element of stack.And it provides the property of lower pushing system and provides default value.
Lower pushing system is inputted lower pushing system assignment module, carries out standard tax to lower pushing system according to CTL formula by step D
Value carries out multiplication cross to lower pushing system and CTL formula and obtains that pushing system under cloth surprise can be replaced;
Step E, can replace pushing system under cloth surprise and can replace polyautomata with one indicates, initial automatic machine receives all
Pattern.Automatic machine is divided into several incoherent subautomatons, is concurrently calculated in GPU thread.Thread is according to simultaneously
The boundary value of list item judges threads load in line index table, and starting sub thread shares task when load excessive, realizes load balancing.
Step F, after the forerunner's search for completing automatic machine, GPU task returns to CPU.Judge whether automatic machine reaches fixed point.
If arrived fixed point, calculating terminates.If not reaching fixed point, task returns to GPU and carries out loop iteration next time.
Step G exports the pattern checking of lower pushing system in terminal display window as the result is shown, and export it is final can
Alternately polyautomata, the destination file of output are stored in the form of text.
In embodiments of the present invention, automatically serial JAVA program or C programmer can be built under one and is pushed away
System provides essential attribute assignment for code line number, variable name and function name.According to the design requirement of programming system, manually
The property for needing safety verification is extracted, CTL formula is denoted as.Tool automatically pitches CTL formula and lower pushing system
Multiply operation, generate pushing system under alternately cloth surprise, it is more to adapt to single instrction to dynamically distribute calculating task using GPU concurrent technique
Data stream architecture, solution is all can be by the received pattern of pushing system under alternately cloth surprise.It can be efficiently using the present invention
Empty set analysis and CTL pattern checking are carried out to lower pushing system, are checked for the calling process analysis and variable-definition of function
Timing property analysis.
It should be understood that
Algorithm and display be not inherently related to any certain computer, virtual bench or other equipment provided herein.
Various fexible units can also be used together with teachings based herein.As described above, it constructs required by this kind of device
Structure be obvious.In addition, the present invention is also not directed to any particular programming language.It should be understood that can use various
Programming language realizes summary of the invention described herein, and the description done above to language-specific is to disclose this hair
Bright preferred forms.
In the instructions provided here, numerous specific details are set forth.It is to be appreciated, however, that implementation of the invention
Example can be practiced without these specific details.In some instances, well known system, structure is not been shown in detail
And technology, so as not to obscure the understanding of this specification.
Similarly, it should be understood that in order to simplify the disclosure and help to understand one or more in each inventive aspect,
Above in the description of exemplary embodiment of the present invention, each feature of the invention is grouped together into single implementation sometimes
In example, figure or descriptions thereof.However, the system of the disclosure should not be construed to reflect an intention that i.e. required guarantor
Shield the present invention claims features more more than feature expressly recited in each claim.More precisely, as following
Claims reflect as, inventive aspect is all features less than single embodiment disclosed above.Therefore,
Thus the claims for following specific embodiment are expressly incorporated in the specific embodiment, wherein each claim itself
All as a separate embodiment of the present invention.
Those skilled in the art will understand that can be carried out adaptively to the step in the equipment in embodiment
Change and they are arranged in one or more equipment unlike this embodiment.It can be the step or step in embodiment
Rapid or component is combined into a step or step or component, and furthermore they can be divided into multiple steps or sub-step or sons
Component.Other than such feature and/or at least some of process or step exclude each other, any group can be used
It closes to all features disclosed in this specification (including adjoint claim, abstract and attached drawing) and so disclosed any
All processes or step of system or equipment are combined.Unless expressly stated otherwise, this specification is (including adjoint right
It is required that, abstract and attached drawing) disclosed in each feature can carry out generation with an alternative feature that provides the same, equivalent, or similar purpose
It replaces.
In addition, it will be appreciated by those of skill in the art that although some embodiments described herein include other embodiments
In included certain features rather than other feature, but the combination of the feature of different embodiments mean it is of the invention
Within the scope of and form different embodiments.For example, in the following claims, embodiment claimed is appointed
Meaning one of can in any combination mode come using.
Various component embodiments of the invention can be implemented in hardware, or to run on one or more processors
Software steps realize, or be implemented in a combination thereof.It will be understood by those of skill in the art that can be used in practice
One in the creating device of microprocessor or digital signal processor (DSP) to realize virtual machine according to an embodiment of the present invention
The some or all functions of a little or whole components.The present invention is also implemented as executing system as described herein
Some or all device or device programs (for example, computer program and computer program product).Such realization
Program of the invention can store on a computer-readable medium, or may be in the form of one or more signals.This
The signal of sample can be downloaded from an internet website to obtain, and is perhaps provided on the carrier signal or mentions in any other forms
For.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and ability
Field technique personnel can be designed alternative embodiment without departing from the scope of the appended claims.In the claims,
Any reference symbol between parentheses should not be configured to limitations on claims.Word "comprising" does not exclude the presence of not
Element or step listed in the claims.Word "a" or "an" located in front of the element does not exclude the presence of multiple such
Element.The present invention can be by means of including the hardware of several different elements and being come by means of properly programmed computer real
It is existing.If several in these devices can be through the same hardware branch in the step claim for listing equipment for drying
To embody.The use of word first, second, and third does not indicate any sequence.These words can be explained and be run after fame
Claim.
The foregoing is only a preferred embodiment of the present invention, but scope of protection of the present invention is not limited thereto,
In the technical scope disclosed by the present invention, any changes or substitutions that can be easily thought of by anyone skilled in the art,
It should be covered by the protection scope of the present invention.Therefore, protection scope of the present invention should be with the protection model of the claim
Subject to enclosing.
Claims (10)
1. a kind of GPU parallel C TL model checking approach based on lower pushing system characterized by comprising
Serial target program to be verified is resolved into lower pushing system;
Pushing system under cloth surprise can be replaced according to preset CTL formula and the lower pushing system, generation;
Using graphics processor GPU concurrent technique, pushing system under cloth surprise can be replaced described in automatic machine Parallel implementation by that can replace
In all lower pushing system patterns being received;
According to all lower pushing system patterns, verify whether the serial target program meets the CTL formula.
2. the method according to claim 1, wherein described resolve to down serial target program to be verified pushes away
System, comprising:
Obtain the entrance function of serial target program to be verified and the Transfer Parameters of the entrance function;
According to the entrance function and the Transfer Parameters, the serial target program is parsed, the serial target program is obtained
Corresponding lower pushing system.
3. the method according to claim 1, wherein described according to preset CTL formula and the lower pushing system,
Generation can replace pushing system under cloth surprise, comprising:
Standard assignment and canonical assignment are carried out to the lower pushing system according to preset CTL formula;
Multiplication cross is carried out to the lower pushing system after the CTL formula and assignment, obtaining that the serial target program is corresponding can
Alternately pushing system under cloth surprise.
4. the method according to claim 1, wherein described use graphics processor GPU concurrent technique, by can
All lower pushing system patterns being received in pushing system can alternately be replaced under cloth surprise described in automatic machine Parallel implementation, comprising:
Automatic machine can be replaced and be divided into multiple independent subautomatons;
By GPU thread and multiple subautomatons, can replace described in Parallel implementation all automatic in pushing system under cloth surprise
The received lower pushing system pattern of machine.
5. according to the method described in claim 4, it is characterized in that, the lower pushing system includes process control point, stack element, journey
Sequence atomic property and migration rules, the method also includes:
Determine the corresponding pattern coding of each migration rules;
It is encoded according to the pattern, the migration rules that the lower pushing system includes is stored in concordance list.
6. according to the method described in claim 5, it is characterized in that, described encode according to the pattern, by the lower pushing system
Including migration rules be stored in concordance list, comprising:
Pattern is encoded in the same list item that identical migration rules are stored in concordance list;
The number of the migration rules stored in the list item is determined as the corresponding boundary value of the list item;
In the concordance list, the corresponding boundary value of the list item is recorded.
7. according to the method described in claim 5, it is characterized in that, described by GPU thread and multiple subautomatons, and
It can replace described in row solution all by the received lower pushing system pattern of automatic machine in pushing system under cloth surprise, comprising:
Multiple subautomatons are dynamically assigned to multiple GPU computing units;
Migration rules are obtained from the concordance list, are moved by the subautomaton run in GPU computing unit to described in acquisition
It moves rule to be indicated, obtain by the received lower pushing system pattern of the subautomaton.
8. the method according to the description of claim 7 is characterized in that the method also includes:
Quantity by father's thread according to the migration rules obtained opens sub thread, carries out load balancing.
9. method according to claim 1-8, which is characterized in that the method also includes:
Show the verification result that the verifying of CTL formula is carried out to the serial target program, and display is described all is received
Lower pushing system pattern.
10. according to the method described in claim 9, it is characterized in that, the method also includes:
Output it is final replace polyautomata, and be stored in text formatting file for polyautomata can be replaced described in output
In.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910054917.2A CN109739773B (en) | 2019-01-21 | 2019-01-21 | Push-down system-based GPU parallel CTL model checking method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910054917.2A CN109739773B (en) | 2019-01-21 | 2019-01-21 | Push-down system-based GPU parallel CTL model checking method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109739773A true CN109739773A (en) | 2019-05-10 |
CN109739773B CN109739773B (en) | 2021-01-29 |
Family
ID=66365481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910054917.2A Active CN109739773B (en) | 2019-01-21 | 2019-01-21 | Push-down system-based GPU parallel CTL model checking method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109739773B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109814928A (en) * | 2019-01-21 | 2019-05-28 | 华东师范大学 | GPU parallel C TL pattern checking system based on lower pushing system |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060218534A1 (en) * | 2005-03-28 | 2006-09-28 | Nec Laboratories America, Inc. | Model Checking of Multi Threaded Software |
CN101695079A (en) * | 2009-09-30 | 2010-04-14 | 北京航空航天大学 | Automatic service combination method capable of guaranteeing correction and system thereof |
US20110209126A1 (en) * | 2010-02-19 | 2011-08-25 | Ansgar Fehnker | Inter-procedural analysis of computer programs |
US8136098B2 (en) * | 2006-07-12 | 2012-03-13 | Nec Laboratories America, Inc. | Using pushdown systems for the static analysis of multi-threaded programs |
CN102929781A (en) * | 2012-11-12 | 2013-02-13 | 桂林电子科技大学 | Queue communication concurrency recursive program verification method based on context delimiting |
CN104267936A (en) * | 2014-09-16 | 2015-01-07 | 桂林电子科技大学 | Semantic tree based asynchronous dynamic push-down network reachability analysis method |
CN106446341A (en) * | 2016-08-29 | 2017-02-22 | 华东师范大学 | Process algebra-based real-time protocol analysis and verification system |
CN106940659A (en) * | 2017-03-09 | 2017-07-11 | 华东师范大学 | Interruption verification method based on the lower pushing system of weighting |
CN107015794A (en) * | 2015-12-18 | 2017-08-04 | Sap欧洲公司 | Software is service reference flow extensible authentication framework |
CN109814928A (en) * | 2019-01-21 | 2019-05-28 | 华东师范大学 | GPU parallel C TL pattern checking system based on lower pushing system |
-
2019
- 2019-01-21 CN CN201910054917.2A patent/CN109739773B/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060218534A1 (en) * | 2005-03-28 | 2006-09-28 | Nec Laboratories America, Inc. | Model Checking of Multi Threaded Software |
US8136098B2 (en) * | 2006-07-12 | 2012-03-13 | Nec Laboratories America, Inc. | Using pushdown systems for the static analysis of multi-threaded programs |
CN101695079A (en) * | 2009-09-30 | 2010-04-14 | 北京航空航天大学 | Automatic service combination method capable of guaranteeing correction and system thereof |
US20110209126A1 (en) * | 2010-02-19 | 2011-08-25 | Ansgar Fehnker | Inter-procedural analysis of computer programs |
CN102929781A (en) * | 2012-11-12 | 2013-02-13 | 桂林电子科技大学 | Queue communication concurrency recursive program verification method based on context delimiting |
CN104267936A (en) * | 2014-09-16 | 2015-01-07 | 桂林电子科技大学 | Semantic tree based asynchronous dynamic push-down network reachability analysis method |
CN107015794A (en) * | 2015-12-18 | 2017-08-04 | Sap欧洲公司 | Software is service reference flow extensible authentication framework |
CN106446341A (en) * | 2016-08-29 | 2017-02-22 | 华东师范大学 | Process algebra-based real-time protocol analysis and verification system |
CN106940659A (en) * | 2017-03-09 | 2017-07-11 | 华东师范大学 | Interruption verification method based on the lower pushing system of weighting |
CN109814928A (en) * | 2019-01-21 | 2019-05-28 | 华东师范大学 | GPU parallel C TL pattern checking system based on lower pushing system |
Non-Patent Citations (2)
Title |
---|
IGOR WALUKIEWICZ: "Model checking CTL Properties of Pushdown", 《CONFERENCE ON FOUNDATIONS OF SOFTWARE TECHNOLOGY & THEORETICAL COMPUTER SCIENCE》 * |
束灵杰: "基于下推系统的并行模型检测技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109814928A (en) * | 2019-01-21 | 2019-05-28 | 华东师范大学 | GPU parallel C TL pattern checking system based on lower pushing system |
Also Published As
Publication number | Publication date |
---|---|
CN109739773B (en) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xu et al. | Regression test selection for AspectJ software | |
CN101788907B (en) | Automatic generation method for combination service simplified test case and device therefor | |
CN108459860A (en) | Block chain intelligence forms of contract chemical examination card code converter and conversion method | |
CN106326107B (en) | Non-intrusion type embedded software abnormal based on simulated environment handles verification method | |
CN105302719B (en) | A kind of mutation testing method and device | |
CN105022958B (en) | Vulnerability of application program determination method based on code library secure protocol in a kind of Android application | |
CN109582352A (en) | A kind of code completion method and system based on double AST sequences | |
CN109857641A (en) | The method and device of defects detection is carried out to program source file | |
CN109918296A (en) | Automatic software test method and device | |
CN109143953A (en) | A kind of PLC program verification method based on intermediate language | |
CN110309660A (en) | A kind of the automation auditing system and method for intelligence contract code | |
CN113688037A (en) | Nuclear power plant instrument control system software configuration debugging and packaging integrated method | |
CN106775913A (en) | A kind of object code controlling stream graph generation method | |
JP2014021982A (en) | Iterative generation of symbolic test drivers for object-oriented languages | |
Lam | Formal analysis of BPMN models: a NuSMV-based approach | |
CN109739773A (en) | GPU parallel C TL model checking approach based on lower pushing system | |
CN109814928A (en) | GPU parallel C TL pattern checking system based on lower pushing system | |
CN105354035A (en) | Method for compiling test case of web engineering | |
Segura et al. | Automated variability analysis and testing of an E-commerce site. an experience report | |
Jensen et al. | Test generation from business rules | |
Romero et al. | Using the base semantics given by fUML for verification | |
US9983983B2 (en) | Auto-generation of testable units for COBOL code | |
Utkin et al. | Evaluating the impact of source code parsers on ML4SE models | |
US20230029250A1 (en) | Type inference in dynamic languages | |
CN109976992A (en) | A kind of automatic software test method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210806 Address after: Room 801, no.6, Lane 600, Yunling West Road, Putuo District, Shanghai 200062 Patentee after: SHANGHAI FORMAL TECH INFORMATION TECHNOLOGY Co.,Ltd. Address before: 200062 No. 3663, Putuo District, Shanghai, Zhongshan North Road Patentee before: EAST CHINA NORMAL University Patentee before: SHANGHAI FORMAL TECH INFORMATION TECHNOLOGY Co.,Ltd. |