CN102789419B - Software fault analysis method based on multi-sample difference comparison - Google Patents
Software fault analysis method based on multi-sample difference comparison Download PDFInfo
- Publication number
- CN102789419B CN102789419B CN201210251704.7A CN201210251704A CN102789419B CN 102789419 B CN102789419 B CN 102789419B CN 201210251704 A CN201210251704 A CN 201210251704A CN 102789419 B CN102789419 B CN 102789419B
- Authority
- CN
- China
- Prior art keywords
- instruction
- fundamental block
- point
- multisample
- software
- 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.)
- Expired - Fee Related
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
The invention relates to a software analysis method belonging to the technical field of computers, and particularly relates to a software fault analysis method based on multi-sample difference comparison. The method comprises the steps as follows: (1) executing disassemble and dynamic instrumentation of an analyzed program; (2) tracking and recording an execution instruction flow of a program to be analyzed and constructing control flow graphs of the program, which take a basic block as the minimum unit; and (3) selecting a data processing access point as a comparison basic point, constructing a multi-sample difference tree model, executing comparison of control flow graphs of multiple samples which are divided into several groups, wherein each group consists of two samples, finding out a key instruction flow branch point, and acquiring a key path from a false data input point to each difference point. The software fault analysis method, provided by the invention, effectively solves the problem that a dual-sample difference comparison method cannot achieve positioning of complex faults, thereby remarkably improving analysis efficiency of software faults.
Description
Technical field
The present invention relates to a kind of software analysis method of field of computer technology, particularly relate to a kind of software fault analytical approach using multisample diversity ratio right.
Background technology
Software fault analysis refers to after the logic detected and exist in discovery software and capability error, analyzes the reason producing mistake.Fuzz testing is one of method of discovery software error conventional at present, and principle is by constructing different inputs, attempts the various different path of trigger execution to expose the potential safety problem of program.
The basis of software fault analysis is software analysis technology.According to the difference of evaluating objects, existing software analysis technology is generally divided into the software analysis towards source code and the software analysis towards executable program.The former is for the program of source code, and comparatively speaking, precision of analysis is higher.But existing software majority not providing source code, meanwhile, even if partial software provides source code, can not ensure the corresponding relation between the executable program of use and source code.For the latter, first by the binary object code dis-assembling of Water demand, obtain assembly code; Then assembly code is cut into slices, namely close, the significant code of some context relation is converged, reduce its complicacy; Finally logic and functional analysis are carried out to section, realize software analysis function.
On the basis of software analysis technology, software fault analysis based on manual analysis, and is aided with some automatic modes.Under different applied environments, there is different automatic modes, in automatic fault location reason, for the software fault found out by fuzz testing, have the method adopting two differences between samples comparisons at present, such as BitBlaze system.The method, by the execution process instruction of contrast two similar samples, can orient instruction stream take-off point, further causes from the context environmental analysis of take-off point the reason producing branch again.This method is effective for analysis by the software fault caused that makes a variation of individual data in sample, if but there is multiple fault trigger point in sample, then can only navigate to first crucial trigger point, and more complicated software fault often has multiple crucial trigger point, only location a single point cannot determine core difference wherein.
Summary of the invention
The present invention is directed to the deficiency of two differences between samples comparison method at present, propose a kind of software fault analytical approach using multisample diversity ratio right.Efficiently solve the problem that two differences between samples comparison method cannot be located complex fault, software fault analytical work efficiency is significantly improved.
The technical solution adopted in the present invention:
1, analyzed program is carried out dis-assembling and dynamic pitching pile;
2, follow the trail of and record the execution instruction stream of program to be analyzed, construction procedures take fundamental block as the controlling stream graph of least unit, fundamental block is defined as the instruction set performed in instruction stream between a upper jump instruction to next jump instruction;
3, data processing entrance basic point is as a comparison chosen, build multisample difference tree model, multiple sample is divided into groups between two do controlling stream graph contrast, find key instruction flow point fulcrum wherein, obtain the critical path between misdata input point to each discrepancy, concrete steps are as follows:
3.1) for network service class method, receives data packets api function is set to basic point; If file processing class method, file content is read api function and is set to basic point, choose data processing entrance basic point as a comparison;
3.2) read the instruction stream log file of two different samples respectively successively, build multisample difference tree model;
3.3) vertical two CODEBLOCK chained list c1 and c2 are set up to each, compare the content in first fundamental block of c1 and c2, comprise (1) fundamental block start address, (2) instruction operation code, (3) value of instruction operands, if register manipulation, checks that whether register value is identical, if internal memory operation, check that whether memory address is identical with the Current Content that address is pointed to; If identical, enter step 3.4; Otherwise enter step 3.5;
3.4) locate next fundamental block according to current basic block, repeat step 3.3;
3.5) find critical branch point, carry out next group and compare;
3.6) critical path between data entry point to each discrepancy is obtained.
Beneficial effect of the present invention:
1, the present invention's software fault analytical approach of using multisample diversity ratio right, by building multisample difference tree model, adopt program slice analytical approach, can critical path between quick position misdata decanting point and exception-triggered point, improve the accuracy that software fault is analyzed.
2, the present invention's software fault analytical approach of using multisample diversity ratio right, efficiently solves the problem that two differences between samples comparison method cannot be located complex fault, software fault analytical work efficiency is significantly improved.
Accompanying drawing explanation
Fig. 1 is the discrepancy schematic diagram of 3 different samples;
Fig. 2 is the process flow diagram analyzed program being carried out fundamental block division;
Fig. 3 is the process flow diagram analyzed program being carried out dynamic pitching pile and instruction stream tracking;
Fig. 4 is based on fundamental block discrepancy comparison process flow diagram.
Embodiment
Embodiment one: see Fig. 1, the software fault analytical approach that the present invention uses multisample diversity ratio right, its step comprises:
1) analyzed program is carried out dis-assembling and dynamic pitching pile;
2) follow the trail of and record the execution instruction stream of program to be analyzed, construction procedures take fundamental block as the controlling stream graph of least unit, fundamental block is defined as the instruction set performed in instruction stream between a upper jump instruction to next jump instruction;
3) data processing entrance basic point is as a comparison chosen, build multisample difference tree model, multiple sample is divided into groups between two do controlling stream graph contrast, the control flow check that causes wherein is found to move towards the key difference point of different branch, obtain the critical path between misdata input point to each discrepancy, concrete steps are as follows:
3.1) for network service class method, receives data packets api function is set to basic point; If file processing class method, file content is read api function and is set to basic point, choose data processing entrance basic point as a comparison;
3.2) read the instruction stream log file of two different samples respectively successively, build multisample difference tree model;
3.3) vertical two CODEBLOCK chained list c1 and c2 are set up to each, compare the content in first fundamental block of c1 and c2, comprise (1) fundamental block start address, (2) instruction operation code, (3) value of instruction operands, if register manipulation, checks that whether register value is identical, if internal memory operation, check that whether memory address is identical with the Current Content that address is pointed to; If identical, enter step 3.4; Otherwise enter step 3.5;
3.4) locate next fundamental block according to current basic block, repeat step 3.3;
3.5) find critical branch point, carry out next group and compare;
3.6) critical path between data entry point to each discrepancy is obtained.
Embodiment two: see Fig. 2, the software fault analytical approach that the use multisample diversity ratio of the present embodiment is right, with embodiment one unlike: further, in step 1), to binary data stream according to x86 instruction set specification, reversely be reduced to assembly code, according to jump instruction, assembly code is divided into multiple fundamental block, its flow process is as follows:
(1.1) the PE structure of executable file is resolved, comprise the information such as module title, block table (Section Table), file size, alignment thereof, alignment granularity, input table (Import Table) output table (Export Table) of the loading plot of executable file, needs loading.
(1.2) identify import and export function, the information that PE file structure and dis-assembling export is combined, identifies importing function and the derivative function of executable file, comprise their function name and address thereof, and for instruction stream tracking data are provided.
(1.3) the PE structure sum functions call relation of recognizer, is that feature divides binary code fundamental block with jump instruction, sets up dynamic debugging framework.
Fundamental block has multiple division principle, as divided, according to jump instruction division etc. according to cross reference relation.Cross reference relation between the methods analyst dis-assembling code wherein dividing fundamental block according to cross reference relation, need to carry out after analysis complete PE file, and speed is slower.Here the method dividing fundamental block according to jump instruction is adopted, with each jump instruction if JMP, CALL, RET etc. are for dividing border, speed, and the actual demand meeting this method are also that instruction stream tracking and the record of step 2 provides conveniently method.
(1.4) recognition function call relation
Function call generally starts with CALL instruction, with RET order fulfillment, therefore with these two instructions for basis of characterization.
Embodiment three: see Fig. 3, the present embodiment uses the software fault analytical approach that multisample diversity ratio is right, with embodiment two unlike: by as follows for the flow process that analyzed program carries out dynamic pitching pile:
1.1a) set up dynamic debugging framework: the debugging framework of the specification Criterion of the Windows system software debugging framework provided according to Microsoft, lower portion arranges internal memory breakpoint, environmental context sampling, instruction stream undertakies following the trail of and record debugging characteristic by fundamental block;
1.2a) instruction stream single step tracking, condition are followed the trail of and data stream read-write is followed the trail of.
Specifically comprise the steps:
(1.1b) dynamic debugging framework is set up: the debugging framework of the specification Criterion of the Windows system software debugging framework provided according to Microsoft, lower portion sets up various debugging characteristic according to the actual requirements, as internal memory breakpoint, environmental context sampling, instruction stream are undertaken following the trail of by fundamental block and the characteristic such as record.
(1.2b) instruction stream single step tracking, condition are followed the trail of and data stream read-write is followed the trail of.
Step 101: start debugged process according to configuration, add the information such as tuning parameter;
Step 102: the supervision breakpoint that user specifies is set, is completed by SetInt3BreakPoint function, this function to specified memory address write 0xcc byte, and preserves former byte data;
Step 103: enter debugging circulation, wait for debug events.WaitForDebugEvent function is used to wait for and process debug events.DwDebugEventCode specifies the debug events type of generation, mainly processes wherein: abnormal debug events, process creation and End Event, thread creation and End Event, DLL compression and decompression event, debugging character string outgoing event, system debug event etc.
Step 104: enter according to different debug events and process routine accordingly.Following event can be processed respectively:
INT 3 interrupt event
The director data at reduction breakpoint place, these data are preserved arranging in breakpoint SetInt3BreakPoint function; The context information of record breakpoint, comprises register value, dependent stacks data etc., if interrupt instruction comprises internal memory operation number, preserves associated internal memory data; Arranging DR6 register is single step run.
Single step interrupt event (SINGLE_STEP)
This interruption is used for realizing internal memory breakpoint and instruction stream writing function specially, and wherein internal memory breakpoint is preserved by DR1, DR2 register, and instruction stream record breakpoint is preserved by DR0 register.
If internal memory breakpoint, record internal storage data;
If monitor the single step interrupt of breakpoint setup, illustrate and monitor that breakpoint is complete, recovering breakpoint is 0xcc byte;
If instruction stream record breakpoint, the end reaching a fundamental block is at present described, needs the border searching for next fundamental block.
After achievement searches border, Hardware Breakpoint register DR0 is re-set as boundary address.
Anomalous event:
Illustrate that debugged process there occurs exception, need the type of recording exceptional, as read and write exception, illegal instruction exceptions etc., and the context environmental of exception, comprise SEH chained list, Heap Allocation situation etc.Interrupt debugged program simultaneously, exit debugging circulation.
Step 105: recovering process continues to perform.After program uses WaitForDebugEvent function to obtain an event and processes, debugged process is also in suspended state, needs to call ContinueDebugEvent function recovering process and performs.If debugged process terminates, then exit circulation.
Embodiment four: the present embodiment uses the software fault analytical approach that multisample diversity ratio is right, with previous embodiment unlike step 2) in, the step following the trail of and record the execution instruction stream of program to be analyzed is as follows:
Step 201: reduction monitors breakpoint, if do not reduce the judgement that can have influence on fundamental block.
Step 202: the internal storage data reading 1024 bytes, a general fundamental block size is only more than 1024 bytes, if be greater than this size by special circumstances, repeatable read is got.
Step 203: instructions parse is carried out to the internal storage data hop-by-hop read, if there is jump instruction, then finds fundamental block border.Jump instruction comprises CALL/RET/JMP/INT/SYSENTER etc.
Step 204: the instruction in next fundamental block be recorded in CODEBLOCK chained list, this chained list is a single-track link table, has gathered all instruction streams of record, and has determined the level of father and son's function by call relation.
Step 205: recover INT 3 instruction monitoring breakpoint.
Embodiment five: see Fig. 4, the present embodiment uses the software fault analytical approach that multisample diversity ratio is right, with foregoing embodiments unlike: in step 3),
3.1) for network service class method, be basic point by recv, recvfrom function setup; If file processing class method, be basic point by function setup such as createfile, readfile, choose data processing entrance basic point as a comparison;
3.2) read the instruction stream log file of two different samples respectively successively, build multisample difference tree model; Read the instruction stream log file of two different samples respectively successively, as having 4 samples, then by sample 1,2, sample 1,3, and sample 1,4, sample 2,3, sample 2,4, sample 3,4 is respectively divided into one group between two;
3.3) vertical two CODEBLOCK chained list c1 and c2 are set up to each, compare the content in first fundamental block of c1 and c2, comprise (1) fundamental block start address, (2) instruction operation code, (3) value of instruction operands, if register manipulation, checks that whether register value is identical, if internal memory operation, check that whether memory address is identical with the Current Content that address is pointed to; If identical, enter step 3.4); Otherwise enter step 3.5);
3.4) locate next fundamental block according to current basic block, repeat step 3.3);
3.5) find critical branch point, carry out next group and compare;
3.6) critical path between data entry point to each discrepancy is obtained.
Claims (4)
1. use the software fault analytical approach that multisample diversity ratio is right, its step comprises:
1) analyzed program is carried out dis-assembling and dynamic pitching pile;
2) follow the trail of and record the execution instruction stream of program to be analyzed, construction procedures take fundamental block as the controlling stream graph of least unit, fundamental block is defined as the instruction set performed in instruction stream between a upper jump instruction to next jump instruction;
3) data processing entrance basic point is as a comparison chosen, build multisample difference tree model, multiple sample is divided into groups between two do controlling stream graph contrast, the control flow check that causes wherein is found to move towards the key difference point of different branch, obtain the critical path between misdata input point to each discrepancy, concrete steps are as follows:
3.1) for network service class method, receives data packets api function is set to basic point; If file processing class method, file content is read api function and is set to basic point, choose data processing entrance basic point as a comparison;
3.2) read the instruction stream log file of two different samples respectively successively, build multisample difference tree model;
3.3) vertical two CODEBLOCK chained list c1 and c2 are set up to each, compare the content in first fundamental block of c1 and c2, comprise (1) fundamental block start address, (2) instruction operation code, (3) value of instruction operands, if register manipulation, checks that whether register value is identical, if internal memory operation, check that whether memory address is identical with the Current Content that address is pointed to; If identical, enter step 3.4; Otherwise enter step 3.5;
3.4) locate next fundamental block according to current basic block, repeat step 3.3;
3.5) find critical branch point, carry out next group and compare;
3.6) critical path between data entry point to each discrepancy is obtained.
2. the software fault analytical approach that use multisample diversity ratio according to claim 1 is right, it is characterized in that: in step 1), to binary data stream according to x86 instruction set specification, be reversely reduced to assembly code, the flow process according to jump instruction assembly code being divided into multiple fundamental block is as follows:
1) the PE structure of executable file is resolved,
2) information that PE file structure and dis-assembling export is combined, identifies importing function and the derivative function of executable file;
3) the PE structure sum functions call relation of recognizer, is that feature divides binary code fundamental block with jump instruction, sets up dynamic debugging framework.
3. the software fault analytical approach that use multisample diversity ratio according to claim 2 is right, is characterized in that: by as follows for the flow process that analyzed program carries out dynamic pitching pile:
1) set up dynamic debugging framework: the debugging framework of the specification Criterion of the Windows system software debugging framework provided according to Microsoft, lower portion arranges internal memory breakpoint, environmental context sampling, instruction stream undertakies following the trail of and record debugging characteristic by fundamental block;
2) instruction stream single step tracking, condition are followed the trail of and data stream read-write is followed the trail of.
4. the software fault analytical approach that the use multisample diversity ratio according to claim 1,2 or 3 is right, is characterized in that: step 2) in, the step following the trail of and record the execution instruction stream of program to be analyzed is as follows:
2.1) reduction monitors breakpoint,
2.2) internal storage data of a fundamental block is read,
2.3) one by one instructions parse is carried out to the internal storage data read, if there is jump instruction, then finds fundamental block border,
2.4) instruction in next fundamental block is recorded in CODEBLOCK chained list, and determines the level of father and son's function by call relation,
2.5) recover to monitor breakpoint.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210251704.7A CN102789419B (en) | 2012-07-20 | 2012-07-20 | Software fault analysis method based on multi-sample difference comparison |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210251704.7A CN102789419B (en) | 2012-07-20 | 2012-07-20 | Software fault analysis method based on multi-sample difference comparison |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102789419A CN102789419A (en) | 2012-11-21 |
CN102789419B true CN102789419B (en) | 2015-04-15 |
Family
ID=47154824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210251704.7A Expired - Fee Related CN102789419B (en) | 2012-07-20 | 2012-07-20 | Software fault analysis method based on multi-sample difference comparison |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102789419B (en) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968372B (en) * | 2012-11-29 | 2016-05-11 | 中国矿业大学 | There is the program debugging system of process analysis function |
CN103268280B (en) * | 2013-04-16 | 2016-01-06 | 西安电子科技大学 | The software fault positioning system combined based on distance metric and statistical study and method |
CN104252355B (en) * | 2013-06-29 | 2017-08-04 | 北京新媒传信科技有限公司 | The method and apparatus of different information between a kind of acquisition Net procedure sets |
CN103577327A (en) * | 2013-11-13 | 2014-02-12 | 北京像素软件科技股份有限公司 | Method and device for processing disassembling results |
CN104834837B (en) * | 2015-04-03 | 2017-10-31 | 西北大学 | A kind of antialiasing method of binary code based on semanteme |
CN104866765B (en) * | 2015-06-03 | 2017-11-10 | 康绯 | The malicious code homology analysis method of Behavior-based control characteristic similarity |
CN104866766B (en) * | 2015-06-05 | 2017-10-13 | 中国电子科技集团公司第五十八研究所 | A kind of detection method for hiding command type hardware Trojan horse inside CPU |
CN105740149B (en) * | 2016-01-29 | 2018-02-16 | 中国人民解放军信息工程大学 | The software security detection method combined based on Vulnerability Model and semiology analysis |
CN105550120B (en) * | 2016-01-29 | 2018-02-16 | 中国人民解放军信息工程大学 | The multi-source multi-target performed based on parallel symbol approaches method of testing |
CN106339288B (en) * | 2016-06-06 | 2019-02-01 | 西北工业大学 | A kind of method and device of software fault context positioning |
CN106708732A (en) * | 2016-12-12 | 2017-05-24 | 中国航空工业集团公司西安航空计算技术研究所 | Software running detection method based on feature codes |
CN106776348B (en) * | 2017-02-06 | 2022-09-09 | 腾讯科技(深圳)有限公司 | Test case management method and device |
CN107193732B (en) * | 2017-05-12 | 2020-12-08 | 北京理工大学 | Verification function positioning method based on path comparison |
CN108446224B (en) * | 2018-03-06 | 2021-12-28 | 福建天泉教育科技有限公司 | Performance analysis method of application program on mobile terminal and storage medium |
CN110276609B (en) * | 2018-03-14 | 2022-02-22 | 北京三快在线科技有限公司 | Business data processing method and device, electronic equipment and computer readable medium |
CN109241737B (en) * | 2018-07-03 | 2021-07-13 | 中国科学院信息工程研究所 | Method and system for identifying difference branches for multiple patch modes |
CN109669866B (en) * | 2018-12-10 | 2021-04-30 | 北京航空航天大学 | Method for acquiring fault propagation path during software operation |
CN112559322B (en) * | 2020-11-20 | 2023-09-26 | 国家电网有限公司 | Dynamic pile inserting-based software analysis method and system |
CN112631661B (en) * | 2020-12-16 | 2024-04-02 | 中国电子信息产业集团有限公司 | Program security control method, device, equipment and storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1870829A1 (en) * | 2006-06-23 | 2007-12-26 | Microsoft Corporation | Securing software by enforcing data flow integrity |
CN101944064A (en) * | 2010-10-12 | 2011-01-12 | 中国人民解放军国防科学技术大学 | Control flow error detection optimizing method based on reconstructed control flow graph |
-
2012
- 2012-07-20 CN CN201210251704.7A patent/CN102789419B/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1870829A1 (en) * | 2006-06-23 | 2007-12-26 | Microsoft Corporation | Securing software by enforcing data flow integrity |
CN101944064A (en) * | 2010-10-12 | 2011-01-12 | 中国人民解放军国防科学技术大学 | Control flow error detection optimizing method based on reconstructed control flow graph |
Non-Patent Citations (2)
Title |
---|
Darwin: an approach for debugging evolving programs;Abhik Roychoudhury, Kapil Vaswani;《ESEC-FSE"09》;20091231;第2009卷;2-6页 * |
欧阳永基.《基于关键路径覆盖的二进制程序测试技术研究》.《中国优秀硕士学位论文全文数据库(电子期刊)》.2012,(第7期),第3页-第13页,第40页-48页. * |
Also Published As
Publication number | Publication date |
---|---|
CN102789419A (en) | 2012-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102789419B (en) | Software fault analysis method based on multi-sample difference comparison | |
CN109583200B (en) | Program abnormity analysis method based on dynamic taint propagation | |
US8839203B2 (en) | Code coverage-based taint perimeter detection | |
CN108469984B (en) | Virtual machine introspection function level-based dynamic detection system and method for inner core of virtual machine | |
CN109388538B (en) | Kernel-based file operation behavior monitoring method and device | |
US8776029B2 (en) | System and method of software execution path identification | |
US20080289042A1 (en) | Method for Identifying Unknown Virus and Deleting It | |
CN102622558A (en) | Excavating device and excavating method of binary system program loopholes | |
CN106096338A (en) | A kind of have the virtualization software guard method that data stream is obscured | |
CN1885275A (en) | Embedded system and real-time monitoring and processing method thereof | |
CN102819492A (en) | Keyword driven automatic testing frame on basis of Android | |
Xu et al. | Experience mining Google's production console logs | |
CN107193732B (en) | Verification function positioning method based on path comparison | |
US20180300229A1 (en) | Root cause analysis of non-deterministic tests | |
CN109635568B (en) | Concurrent vulnerability detection method based on combination of static analysis and fuzzy test | |
CN107526970B (en) | Method for detecting runtime program bugs based on dynamic binary platform | |
US20200143061A1 (en) | Method and apparatus for tracking location of input data that causes binary vulnerability | |
Zheng et al. | An efficient greybox fuzzing scheme for linux-based iot programs through binary static analysis | |
WO2011151931A1 (en) | Application analysis method, analysis system and recording medium | |
CN101458630B (en) | Self-modifying code identification method based on hardware emulator | |
US8381185B2 (en) | Apparatus, system, and method for dynamic module flow analysis | |
CN116305162A (en) | Concurrent program vulnerability detection method based on fuzzy test and static analysis | |
CN109871307A (en) | A kind of automated testing method being accurately positioned starting matter of time | |
CN109726115B (en) | Anti-debugging automatic bypass method based on tracking of Intel processor | |
Cui et al. | Flowwalker: a fast and precise off-line taint analysis framework |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150415 Termination date: 20170720 |