CN102799520B - For static check method and the device of source code pairing - Google Patents

For static check method and the device of source code pairing Download PDF

Info

Publication number
CN102799520B
CN102799520B CN201210217915.9A CN201210217915A CN102799520B CN 102799520 B CN102799520 B CN 102799520B CN 201210217915 A CN201210217915 A CN 201210217915A CN 102799520 B CN102799520 B CN 102799520B
Authority
CN
China
Prior art keywords
pairing
source code
need match
paired
need
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.)
Active
Application number
CN201210217915.9A
Other languages
Chinese (zh)
Other versions
CN102799520A (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.)
Tsinghua University
Original Assignee
Tsinghua 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 Tsinghua University filed Critical Tsinghua University
Priority to CN201210217915.9A priority Critical patent/CN102799520B/en
Publication of CN102799520A publication Critical patent/CN102799520A/en
Application granted granted Critical
Publication of CN102799520B publication Critical patent/CN102799520B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

The present invention proposes a kind of static check method for source code pairing and device, wherein method of the present invention comprises the following steps: carry out lexical analysis to described source code, by the annotation filtering in described source code, and described source code is split into several mark stream; Grammatical analysis is carried out to construct syntax tree to described mark stream; Semantic analysis is carried out to described syntax tree, searches and need match element, and mark the described action scope need matching element; Judge whether the described element that need match matches in described action scope; The described element that need match be not paired if find, then judge whether to allow to revise further; Revise if allow, add pairing in described action scope end; And if do not allow revise, give a warning and point out.The method can effectively improve pairing checking efficiency, improves the stability of system, effectively avoids some boundary errors, according to the auto modification be provided with user program of user, can also reduce programmer's workload greatly.

Description

For static check method and the device of source code pairing
Technical field
The present invention relates to field of computer technology, be specifically related to a kind of static check method for source code pairing and device.
Background technology
In software development process, source code pairing is important one of debugging and test job.Source code pairing mistake is difficult to be compiled device and directly finds, but can bring the adverse consequences with disguised and time delay.Such as, internal memory is only applied for not discharging and can be caused RAM leakage, and lock and semaphore do not match and all can cause deadlock, busy waiting.These pairing mistakes all bring additional difficulty to program debug work.
Under normal circumstances, source code pairing work relies on developer to carry out static hand inspection to source code, and depend on and manually to line by line scan inspection to code, efficiency is lower and accuracy rate is lower.
Summary of the invention
The present invention one of is intended to solve the problems of the technologies described above at least to a certain extent or at least provides a kind of useful business to select.For this reason, one object of the present invention is the static detection method proposing the source code pairing that a kind of expense is less, efficiency is higher, accuracy rate is higher.Another object of the present invention is the static detection device proposing the source code pairing that a kind of expense is less, efficiency is higher, accuracy rate is higher.
According to a kind of static check method for source code pairing of the embodiment of the present invention, it is characterized in that, comprise the following steps: S1, lexical analysis is carried out to described source code, by the annotation filtering in described source code, and described source code is split into several mark stream; S2, grammatical analysis is carried out to construct syntax tree to described mark stream; S3, semantic analysis is carried out to described syntax tree, search and need match element, and mark the described action scope need matching element; S4, judge whether the described element that need match matches in described action scope; If S5 finds the described element that need match be not paired, then judge whether further to allow to revise; If S6 allows to revise, add pairing in described action scope end; And if S7 does not allow to revise, and gives a warning and points out.
In one embodiment of the invention, also comprise: if the described element that need match of S8 all matches, then directly terminate to check.
In one embodiment of the invention, the described element that need match comprises: internal memory element, lock element and semaphore element.
In one embodiment of the invention, when be not paired described need match element appear in principal function time, described principal function end add pairing.
In one embodiment of the invention, when be not paired described need match element appear in subfunction time, described subfunction end add pairing.
In one embodiment of the invention, when be not paired described need match element appear in branched structure time, each branch of described branched structure end add pairing.
In one embodiment of the invention, when be not paired described need match element appear in loop structure time, each repetend of described loop structure end add pairing.
According to the static check method that the source code of the embodiment of the present invention matches, can effectively improve pairing checking efficiency, improve the stability of system, effectively avoid some boundary errors, according to the auto modification be provided with user program of user, programmer's workload can also be reduced greatly.
According to a kind of static check device for source code pairing of the embodiment of the present invention, it is characterized in that, comprise with lower part: lexical analyzer, for carrying out lexical analysis to described source code, and by the annotation filtering in described source code, described source code is split into several mark streams; Syntax analyzer, for carrying out grammatical analysis to construct syntax tree to described mark stream; Search and mark module, for carrying out semantic analysis to described syntax tree, searching and need match element, and mark the described action scope need matching element; First judge module, for judging whether the described element that need match matches in described action scope, the described element that need match be not paired if find, then enter the second judge module; Described second judge module, allowing to revise for judging whether, revising, enter correcting module if allow, revise, give a warning and point out if do not allow; And described correcting module, for adding pairing in described action scope end.
In one embodiment of the invention, if described first judge module judges that need match element all matches, then directly terminate to check.
In one embodiment of the invention, the described element that need match comprises: internal memory element, lock element and semaphore element.
In one embodiment of the invention, when be not paired described need match element appear in principal function time, described principal function end add pairing.
In one embodiment of the invention, when be not paired described need match element appear in subfunction time, described subfunction end add pairing.
In one embodiment of the invention, when be not paired described need match element appear in branched structure time, each branch of described branched structure end add pairing.
In one embodiment of the invention, when be not paired described need match element appear in loop structure time, each repetend of described loop structure end add pairing.
According to the static check device that the source code of the embodiment of the present invention matches, there is higher pairing checking efficiency, the stability of higher system, can effectively avoid some boundary errors, according to the auto modification be provided with user program of user, programmer's workload can also be decreased.
Additional aspect of the present invention and advantage will part provide in the following description, and part will become obvious from the following description, or be recognized by practice of the present invention.
Accompanying drawing explanation
Above-mentioned and/or additional aspect of the present invention and advantage will become obvious and easy understand from accompanying drawing below combining to the description of embodiment, wherein:
Fig. 1 is the process flow diagram of the static check method for source code pairing of the embodiment of the present invention; And
Fig. 2 is the structured flowchart of the static check device for source code pairing of the embodiment of the present invention.
Embodiment
Be described below in detail embodiments of the invention, the example of described embodiment is shown in the drawings, and wherein same or similar label represents same or similar element or has element that is identical or similar functions from start to finish.Be exemplary below by the embodiment be described with reference to the drawings, be intended to for explaining the present invention, and can not limitation of the present invention be interpreted as.
In describing the invention, it will be appreciated that, term " " center ", " longitudinal direction ", " transverse direction ", " length ", " width ", " thickness ", " on ", D score, " front ", " afterwards ", " left side ", " right side ", " vertically ", " level ", " top ", " end " " interior ", " outward ", " clockwise ", orientation or the position relationship of the instruction such as " counterclockwise " are based on orientation shown in the drawings or position relationship, only the present invention for convenience of description and simplified characterization, instead of indicate or imply that the device of indication or element must have specific orientation, with specific azimuth configuration and operation, therefore limitation of the present invention can not be interpreted as.
In addition, term " first ", " second " only for describing object, and can not be interpreted as instruction or hint relative importance or imply the quantity indicating indicated technical characteristic.Thus, be limited with " first ", the feature of " second " can express or impliedly comprise one or more these features.In describing the invention, the implication of " multiple " is two or more, unless otherwise expressly limited specifically.
In the present invention, unless otherwise clearly defined and limited, the term such as term " installation ", " being connected ", " connection ", " fixing " should be interpreted broadly, and such as, can be fixedly connected with, also can be removably connect, or connect integratedly; Can be mechanical connection, also can be electrical connection; Can be directly be connected, also indirectly can be connected by intermediary, can be the connection of two element internals.For the ordinary skill in the art, above-mentioned term concrete meaning in the present invention can be understood as the case may be.
In the present invention, unless otherwise clearly defined and limited, fisrt feature second feature it " on " or D score can comprise the first and second features and directly contact, also can comprise the first and second features and not be directly contact but by the other characterisation contact between them.And, fisrt feature second feature " on ", " top " and " above " comprise fisrt feature directly over second feature and oblique upper, or only represent that fisrt feature level height is higher than second feature.Fisrt feature second feature " under ", " below " and " below " comprise fisrt feature immediately below second feature and tiltedly below, or only represent that fisrt feature level height is less than second feature.
For making those skilled in the art understand the present invention better, the existing several frequently seen need pairing element to source code makes an explanation.
(1) application of internal memory element and release.In computer runs programs, need dynamically to apply for that some memory headrooms are for storing dynamic user data, this partial content, when finishing using, should be discharged, otherwise long-play then can cause RAM leakage, require to endanger in long playing software especially serious.
(2) locking and unblock of element is locked.Computer program is in operation, and usually needs to access some critical sections, i.e. shared section key between thread, in order to prevent access conflict, usually lock when accessing, the release lock when accessing complete, thus realize in critical section, only having a thread at execution corresponding operating.Correspondingly, if the lock of application does not discharge in time, then thread busy waiting and the deadlock of this item number certificate to be used such as easily to cause.
(3) application of semaphore element and release.The effect of semaphore and lock very similar, difference is that semaphore can not waste the processor time waiting to bide one's time.
Above three kinds of common need pairing elements, have similar part in source code presents, and all need the appearance of matching in a program.Therefore, in citing hereafter, all do not enumerate the embodiment of three kinds of need pairing elements, to avoid repetition burden.
Below in conjunction with Fig. 1 and Fig. 2, the static check method and apparatus that source code of the present invention matches is described.
Fig. 1 is the process flow diagram of the static check method for source code pairing of the embodiment of the present invention.As shown in Figure 1, the method comprises the following steps:
Step S101, carry out lexical analysis to source code, by the annotation filtering in source code, and source code is split into several mark streams, now matching element and the form that is converted into mark is stored in internal memory.
Step S102, carry out grammatical analysis to construct syntax tree to mark stream, the application of pairing element and releasing operation are recorded in the syntax tree of mark composition, by carrying out the structure of syntax tree identifying the concrete action can found out wherein.
Step S103, semantic analysis is carried out to syntax tree, search and need match element, and mark need match the action scope of element.Particularly, the element that need match comprises internal memory element, lock element and quantity of information element.
Step S104, judge whether need match element matches in action scope.Specifically comprising, in conjunction with the operation in a few step above, identify the territory scope of an element to be paired in an action scope, by checking the operational circumstances of mark to be paired in each syntax tree within the scope of this, realizing pairing inspection.
If step S105 finds the need pairing element be not paired, then judge whether further to allow to revise.
If step S106 allows to revise, add pairing in action scope end.Particularly, when the need pairing element be not paired appears in principal function, pairing is added in the end of principal function; When the need pairing element be not paired appears in subfunction, add pairing in the end of subfunction; When the need pairing element be not paired appears in branched structure, add pairing in the end of each branch of branched structure; When the need pairing element be not paired appears in loop structure, add pairing in the end of each repetend of loop structure.More specific embodiments will be introduced hereinafter.
If step S107 does not allow to revise, give a warning and point out.
In a preferred embodiment of the invention, also comprise step S108 after step s 104: all match if need match element, then directly terminate to check.
According to the static check method that the source code of the embodiment of the present invention matches, can effectively improve pairing checking efficiency, improve the stability of system, effectively avoid some boundary errors, according to the auto modification be provided with user program of user, programmer's workload can also be reduced greatly.
Case below in conjunction with C language illustrates the static check method that source code of the present invention matches.
Embodiment one, when the need pairing element be not paired appears in principal function, adds pairing in the end of principal function.
Embodiment 1.1, when the internal memory element be not paired appears in principal function, adds pairing in the end of principal function.
As above shown in example, the pointer of integer type " a " apply for that a slice size is the memory headroom of 50 words by malloc, and when running complete, have free (a) to be discharged by this sheet memory headroom.If lack an operation wherein, then incorrect, abnormal also attention program developer can be checked out by this method.
Embodiment 1.2, when the lock element be not paired appears in principal function, adds pairing in the end of principal function.
As above, shown in example, spin_lock is locked test_lock and is locked to data by splin_lock, if other thread performs same operation, then and can busy waiting.If lack an operation wherein, then incorrect, abnormal also attention program developer can be checked out by this method.
Embodiment 1.3, when the quantity of information element be not paired appears in principal function, adds pairing in the end of principal function.
As above, shown in example, whether can use, by the semaphore of signal release application when finishing using by calling wait detection when semaphore mutex uses.If lack an operation wherein, then incorrect, abnormal also attention program developer can be checked out by this method.
Embodiment two, when the need pairing element be not paired appears in subfunction, adds pairing in the end of subfunction.
Embodiment 2.1, when the internal memory element be not paired appears in subfunction, adds pairing in the end of subfunction.
When unpaired lock element and quantity of information element appear in subfunction, the situation of adding pairing in the end of subfunction is routine similar therewith.
Embodiment three, when the need pairing element be not paired appears in branched structure, adds pairing in the end of each branch of branched structure.
Embodiment 3.1, when the internal memory element be not paired appears in branched structure, adds pairing in the end of each branch of branched structure.
When unpaired lock element and quantity of information element appear in branched structure, the situation of adding pairing in the end of each branch of branched structure is routine similar therewith.
Embodiment four, when be not paired need pairing element appear in loop structure time, each repetend of loop structure end add pairing.
Embodiment 4.1, when the internal memory element be not paired appears in loop structure, adds pairing in the end of each repetend of loop structure.
When unpaired lock element and quantity of information element appear in loop structure, the situation of adding pairing in the end of each repetend of loop structure is routine similar therewith.
Fig. 2 is the structured flowchart of the static check device for source code pairing of the embodiment of the present invention.As shown in Figure 2, the method comprises with lower part: lexical analyzer 100, syntax analyzer 200, search and mark module 300, first judge module 400, second judge module 500 and correcting module 600.Wherein:
Source code, for carrying out lexical analysis to source code, by the annotation filtering in source code, and is split into several mark streams by lexical analyzer 100.Now, matching element and the form that is converted into mark is stored in internal memory.
Syntax analyzer 200 is for carrying out grammatical analysis to construct syntax tree to mark stream.The application of pairing element and releasing operation are recorded in the syntax tree of mark composition, by carrying out the structure of syntax tree identifying the concrete action can found out wherein.
Search and mark module 300 for carrying out semantic analysis to syntax tree, search and need match element, and mark need match the action scope of element.Particularly, the element that need match comprises internal memory element, lock element and quantity of information element.
Whether the first judge module 400 matches in action scope for judging to match element, and the need pairing element be not paired if find, then enter the second judge module 500.If the element that need match all matches, then directly terminate to check.
Second judge module 500 allows to revise for judging whether, revises, enter correcting module 600 if allow, and revises, give a warning and point out if do not allow.
Correcting module 600 is for adding pairing in action scope end.Particularly, when be not paired described need match element appear in principal function time, described principal function end add pairing.When be not paired described need match element appear in subfunction time, described subfunction end add pairing.When be not paired described need match element appear in branched structure time, each branch of described branched structure end add pairing.When be not paired described need match element appear in loop structure time, each repetend of described loop structure end add pairing.Specific embodiment can with reference to the description in the static check method of above matching about source code of the present invention.
According to the static check device that the source code of the embodiment of the present invention matches, there is higher pairing checking efficiency, the stability of higher system, can effectively avoid some boundary errors, according to the auto modification be provided with user program of user, programmer's workload can also be decreased.
Describe and can be understood in process flow diagram or in this any process otherwise described or method, represent and comprise one or more for realizing the module of the code of the executable instruction of the step of specific logical function or process, fragment or part, and the scope of the preferred embodiment of the present invention comprises other realization, wherein can not according to order that is shown or that discuss, comprise according to involved function by the mode while of basic or by contrary order, carry out n-back test, this should understand by embodiments of the invention person of ordinary skill in the field.
In flow charts represent or in this logic otherwise described and/or step, such as, the sequencing list of the executable instruction for realizing logic function can be considered to, may be embodied in any computer-readable medium, for instruction execution system, device or equipment (as computer based system, comprise the system of processor or other can from instruction execution system, device or equipment instruction fetch and perform the system of instruction) use, or to use in conjunction with these instruction execution systems, device or equipment.With regard to this instructions, " computer-readable medium " can be anyly can to comprise, store, communicate, propagate or transmission procedure for instruction execution system, device or equipment or the device that uses in conjunction with these instruction execution systems, device or equipment.The example more specifically (non-exhaustive list) of computer-readable medium comprises following: the electrical connection section (electronic installation) with one or more wiring, portable computer diskette box (magnetic device), random access memory (RAM), ROM (read-only memory) (ROM), erasablely edit ROM (read-only memory) (EPROM or flash memory), fiber device, and portable optic disk ROM (read-only memory) (CDROM).In addition, computer-readable medium can be even paper or other suitable media that can print described program thereon, because can such as by carrying out optical scanning to paper or other media, then carry out editing, decipher or carry out process with other suitable methods if desired and electronically obtain described program, be then stored in computer memory.
Should be appreciated that each several part of the present invention can realize with hardware, software, firmware or their combination.In the above-described embodiment, multiple step or method can with to store in memory and the software performed by suitable instruction execution system or firmware realize.Such as, if realized with hardware, the same in another embodiment, can realize by any one in following technology well known in the art or their combination: the discrete logic with the logic gates for realizing logic function to data-signal, there is the special IC of suitable combinational logic gate circuit, programmable gate array (PGA), field programmable gate array (FPGA) etc.
Those skilled in the art are appreciated that realizing all or part of step that above-described embodiment method carries is that the hardware that can carry out instruction relevant by program completes, described program can be stored in a kind of computer-readable recording medium, this program perform time, step comprising embodiment of the method one or a combination set of.
In addition, each functional unit in each embodiment of the present invention can be integrated in a processing module, also can be that the independent physics of unit exists, also can be integrated in a module by two or more unit.Above-mentioned integrated module both can adopt the form of hardware to realize, and the form of software function module also can be adopted to realize.If described integrated module using the form of software function module realize and as independently production marketing or use time, also can be stored in a computer read/write memory medium.The above-mentioned storage medium mentioned can be ROM (read-only memory), disk or CD etc.
In the description of this instructions, specific features, structure, material or feature that the description of reference term " embodiment ", " some embodiments ", " example ", " concrete example " or " some examples " etc. means to describe in conjunction with this embodiment or example are contained at least one embodiment of the present invention or example.In this manual, identical embodiment or example are not necessarily referred to the schematic representation of above-mentioned term.And the specific features of description, structure, material or feature can combine in an appropriate manner in any one or more embodiment or example.
Although illustrate and describe embodiments of the invention above, be understandable that, above-described embodiment is exemplary, can not be interpreted as limitation of the present invention, those of ordinary skill in the art can change above-described embodiment within the scope of the invention when not departing from principle of the present invention and aim, revising, replacing and modification.

Claims (12)

1., for a static check method for source code pairing, it is characterized in that, comprise the following steps:
S1, lexical analysis is carried out to described source code, by the annotation filtering in described source code, and described source code is split into several mark stream;
S2, grammatical analysis is carried out to construct syntax tree to described mark stream;
S3, semantic analysis is carried out to described syntax tree, search and need match element, and mark the described action scope need matching element;
S4, judge whether the described element that need match matches in described action scope;
If S5 finds the described element that need match be not paired, then judge whether further to allow to revise;
If S6 allows to revise, add pairing in described action scope end;
If S7 does not allow to revise, give a warning and point out;
If the described element that need match of S8 all matches, then directly terminate to check.
2. the static check method of source code pairing as claimed in claim 1, it is characterized in that, the described element that need match comprises: internal memory element, lock element and semaphore element.
3. as described in any one of claim 1-2 source code pairing static check method, it is characterized in that, when be not paired described need match element appear in principal function time, described principal function end add pairing.
4. as described in any one of claim 1-2 source code pairing static check method, it is characterized in that, when be not paired described need match element appear in subfunction time, described subfunction end add pairing.
5. as described in any one of claim 1-2 source code pairing static check method, it is characterized in that, when be not paired described need match element appear in branched structure time, each branch of described branched structure end add pairing.
6. as described in any one of claim 1-2 source code pairing static check method, it is characterized in that, when be not paired described need match element appear in loop structure time, each repetend of described loop structure end add pairing.
7., for a static check device for source code pairing, it is characterized in that, comprise with lower part:
Lexical analyzer, for carrying out lexical analysis to described source code, by the annotation filtering in described source code, and splits into several mark stream by described source code;
Syntax analyzer, for carrying out grammatical analysis to construct syntax tree to described mark stream;
Search and mark module, for carrying out semantic analysis to described syntax tree, searching and need match element, and mark the described action scope need matching element;
First judge module, for judging whether the described element that need match matches in described action scope, the described element that need match be not paired if find, then enter the second judge module, wherein, if described first judge module judges that need match element all matches, then directly terminate to check;
Described second judge module, allowing to revise for judging whether, revising, enter correcting module if allow, revise, give a warning and point out if do not allow; And
Described correcting module, for adding pairing in described action scope end.
8. the static check device of source code pairing as claimed in claim 7, it is characterized in that, the described element that need match comprises: internal memory element, lock element and semaphore element.
9. as described in any one of claim 7-8 source code pairing static check device, it is characterized in that, when be not paired described need match element appear in principal function time, described principal function end add pairing.
10. as described in any one of claim 7-8 source code pairing static check device, it is characterized in that, when be not paired described need match element appear in subfunction time, described subfunction end add pairing.
11. as described in any one of claim 7-8 source code pairing static check device, it is characterized in that, when be not paired described need match element appear in branched structure time, each branch of described branched structure end add pairing.
12. as described in any one of claim 7-8 source code pairing static check device, it is characterized in that, when be not paired described need match element appear in loop structure time, each repetend of described loop structure end add pairing.
CN201210217915.9A 2012-06-27 2012-06-27 For static check method and the device of source code pairing Active CN102799520B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210217915.9A CN102799520B (en) 2012-06-27 2012-06-27 For static check method and the device of source code pairing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210217915.9A CN102799520B (en) 2012-06-27 2012-06-27 For static check method and the device of source code pairing

Publications (2)

Publication Number Publication Date
CN102799520A CN102799520A (en) 2012-11-28
CN102799520B true CN102799520B (en) 2016-03-23

Family

ID=47198633

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210217915.9A Active CN102799520B (en) 2012-06-27 2012-06-27 For static check method and the device of source code pairing

Country Status (1)

Country Link
CN (1) CN102799520B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942145B (en) * 2014-04-15 2016-08-17 清华大学 A kind of self adaptation based on pairing resource management's function is excavated and the method for analysis

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942137B (en) * 2013-01-23 2017-08-25 腾讯科技(深圳)有限公司 Browser compatibility method of testing and device
CN105278929A (en) * 2014-06-16 2016-01-27 腾讯科技(深圳)有限公司 Application program audit data processing method, device and system
CN106227668B (en) * 2016-07-29 2017-11-17 腾讯科技(深圳)有限公司 Data processing method and device
CN106371887B (en) * 2016-11-08 2019-09-13 西安电子科技大学 A kind of compiling system and method for MSVL language
CN107015813A (en) * 2017-04-19 2017-08-04 网易(杭州)网络有限公司 Method, device and electronic equipment that code is repaired
CN108614707B (en) * 2018-04-27 2023-05-02 深圳市腾讯网络信息技术有限公司 Static code checking method, device, storage medium and computer equipment
CN109471634B (en) * 2018-08-28 2021-11-16 上海思立微电子科技有限公司 Method and device for checking source code format
CN111611153B (en) * 2019-02-26 2023-05-16 阿里巴巴集团控股有限公司 Method and device for detecting overdrawing of user interface
CN110018828B (en) * 2019-03-11 2023-02-28 深圳市元征科技股份有限公司 Source code checking method and device and terminal equipment
CN111563040B (en) * 2020-05-08 2023-08-15 中国工商银行股份有限公司 Block chain intelligent contract code testing method and device
CN114817078B (en) * 2022-06-29 2022-11-29 荣耀终端有限公司 Automatic testing method and device and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436128A (en) * 2007-11-16 2009-05-20 北京邮电大学 Software test case automatic generating method and system
CN101571828A (en) * 2009-06-11 2009-11-04 北京航空航天大学 Method for detecting code security hole based on constraint analysis and model checking

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5545133B2 (en) * 2010-08-30 2014-07-09 日本電気株式会社 Static analysis processing system, method, and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436128A (en) * 2007-11-16 2009-05-20 北京邮电大学 Software test case automatic generating method and system
CN101571828A (en) * 2009-06-11 2009-11-04 北京航空航天大学 Method for detecting code security hole based on constraint analysis and model checking

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
内存泄漏静态检测模型的设计与实现;柯平;《中国优秀硕士学位论文全文数据库 信息科技辑》;20100315(第3期);第11页、第16-22页、第40-45页 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942145B (en) * 2014-04-15 2016-08-17 清华大学 A kind of self adaptation based on pairing resource management's function is excavated and the method for analysis

Also Published As

Publication number Publication date
CN102799520A (en) 2012-11-28

Similar Documents

Publication Publication Date Title
CN102799520B (en) For static check method and the device of source code pairing
Xiong et al. Ad hoc synchronization considered harmful
Ševčík et al. On validity of program transformations in the Java memory model
US20080082974A1 (en) Managing Software Component Version Identifications in a Componentised Software System
US7783470B2 (en) Verification of concurrent programs having parameterized qualities
US20050125776A1 (en) Determining the possibility of adverse effects arising from a code change
US8756584B2 (en) Code instrumentation method and code instrumentation apparatus
CN108170465B (en) Version information management method, electronic equipment and readable storage medium
US20110154121A1 (en) Concurrency test effictiveness via mutation testing and dynamic lock elision
US20150363242A1 (en) Methods and apparatus to manage concurrent predicate expressions
Wang et al. Whodunit? causal analysis for counterexamples
US20090222825A1 (en) Data race detection in a concurrent processing environment
CN103679038A (en) Method and system for detecting parallel program shared data class bug
CN112925524A (en) Method and device for detecting unsafe direct memory access in driver
CN112306841B (en) Automatic testing method, device and equipment for track service
US20140137088A1 (en) Method for Enforcing Language Subsets
Inverso et al. Bounded verification of multi-threaded programs via lazy sequentialization
JP2013218492A (en) Software test automatic evaluation device and method
US20140337819A1 (en) Semantic baselining
CN109032930A (en) System detection method and device
US20200104510A1 (en) Static Software Analysis Tool Approach to Determining Breachable Common Weakness Enumerations Violations
WO2022142595A1 (en) Program detection method and device
CN114816519A (en) Code clone detection method and application based on abstract syntax tree and token
CN108959085B (en) Method and system for detecting sleep error of kernel module in atomic context
Serebryany et al. Gwp-asan: Sampling-based detection of memory-safety bugs in production

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant