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 PDF

Info

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
Application number
CN201910054917.2A
Other languages
Chinese (zh)
Other versions
CN109739773B (en
Inventor
黄滟鸿
史建琦
叶昕
陈心宇
佘庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI FORMAL TECH INFORMATION TECHNOLOGY Co.,Ltd.
Original Assignee
Shanghai Fenglei Information Technology Co Ltd
East China Normal University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Fenglei Information Technology Co Ltd, East China Normal University filed Critical Shanghai Fenglei Information Technology Co Ltd
Priority to CN201910054917.2A priority Critical patent/CN109739773B/en
Publication of CN109739773A publication Critical patent/CN109739773A/en
Application granted granted Critical
Publication of CN109739773B publication Critical patent/CN109739773B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

GPU parallel C TL model checking approach based on lower pushing system
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.
CN201910054917.2A 2019-01-21 2019-01-21 Push-down system-based GPU parallel CTL model checking method Active CN109739773B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (10)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
IGOR WALUKIEWICZ: "Model checking CTL Properties of Pushdown", 《CONFERENCE ON FOUNDATIONS OF SOFTWARE TECHNOLOGY & THEORETICAL COMPUTER SCIENCE》 *
束灵杰: "基于下推系统的并行模型检测技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
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.