CN102087629A - 一种基于Agent嵌入式软件的不变量测试方法与工具 - Google Patents

一种基于Agent嵌入式软件的不变量测试方法与工具 Download PDF

Info

Publication number
CN102087629A
CN102087629A CN2011100267574A CN201110026757A CN102087629A CN 102087629 A CN102087629 A CN 102087629A CN 2011100267574 A CN2011100267574 A CN 2011100267574A CN 201110026757 A CN201110026757 A CN 201110026757A CN 102087629 A CN102087629 A CN 102087629A
Authority
CN
China
Prior art keywords
program
invariant
agent
variable
file
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.)
Pending
Application number
CN2011100267574A
Other languages
English (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.)
Nanjing University of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
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 Nanjing University of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN2011100267574A priority Critical patent/CN102087629A/zh
Publication of CN102087629A publication Critical patent/CN102087629A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种基于Agent嵌入式软件的不变量测试方法与工具,是一种利用集成思想并动态与静态相结合的以Linux系统作为嵌入式操作系统内核的软件测试方法。本发明所述方法包括如下步骤:第一阶段动态提取程序不变量,包括程序编配Agent、程序轨迹收集、程序不变量提取,通过执行程序动态地将其中的程序不变量提取出来;第二阶段静态提取程序不变量,包括词法分析Agent、语法分析Agent、语法树分析Agent,通过词法语法分析静态地将其中的程序不变量提取出来;第三阶段分析错误,将第一阶段动态提取的程序不变量与第二阶段静态提取的程序不变量相比较,找出不同的程序不变量对其分析,确定是否错误,最终将错误集中起来形成错误报告。本发明能够应用到不同的程序,通用性强。

Description

一种基于Agent嵌入式软件的不变量测试方法与工具
技术领域
发明涉及一种软件测试方法与工具,特别地涉及一种基于Agent嵌入式软件的不变量测试方法与工具。
背景技术
随着嵌入式技术的发展,嵌入式软件作为计算机软件的重要分支,已经在消费电子产品、交通系统、工业控制、医疗设备和军事领域等应用越来越广泛,因而对嵌入式软件系统的质量要求很高。
软件测试是保证软件系统正确性的一个重要手段,也是计算机软件工程方法和技术的一个主要组成部分。虽然测试并不能证明软件系统的正确性,但是它通过运行选定的测试用例来发现软件中的错误,并通过纠正错误使软件的质量达到令人以满意的程度。所以,在今后相当长的时间内测试仍是保证软件质量的主要手段。
在测试理论发展的同时,各种软件测试方法被相继提出。如一种基于程序变异的测试方法,该方法通过对源程序和变异后的程序执行结果的比较来进行软件故障的检测。还有基于程序插装的软件测试方法,这种方法的核心思想是在保持程序原有逻辑完整的基础上,在程序中插入“探测仪”,以便获取程序中的控制流和数据流信息,通过对获取的数据进行分析来判断程序中包含的错误。这些测试方法的提出,为软件测试工作提供了帮助。
但是,这些已有的软件测试理论及测试方法中,一般仍然或多或少存在以下不足:
(1)对隐含的代码错误测试效果不好,如果再次测试将花费大量的人力物力;
(2)人为参与的步骤太多,使用起来很不方便;
(3)大部分测试软件价格昂贵,很难大规模普及。
发明内容
本发明要解决的技术问题是针对目前流行的以Linux系统作为嵌入式操作系统内核的嵌入式软件,如何能减少人为参与且能快速有效地对软件中隐含的代码错误进行测试。
为了解决上述问题,本发明提供了一种基于Agent嵌入式软件的不变量测试方法与工具,包括以下步骤:
1.)第一阶段动态提取程序不变量,包括如下步骤:
(1)对待测的嵌入式软件程序进行程序编配Agent,即在程序中每个函数入口和出口处利用前端工具插入代码,采用时间戳机制标记每一个变量,输出编配文件和轨迹文件的格式的声明文件;(2)对步骤(1)输出的编配文件里的编配程序根据路径、分支、等价类和边界条件确定测试用例,输入所形成的测试用例,通过循环控制方式多次运行编配程序来记录程序运行轨迹,最终形成轨迹文件;(3)利用集成思想根据程序不变量不同的分类标准将程序不变量分成3种不同类别的形式从而预设不变量的形式,不变量检测器将步骤(2)形成的轨迹文件中变量值与预设不变量形式比较,得到相应的不变量集,利用多数投票法整理分析,得出程序不变量报告。
2.)第二阶段静态提取程序不变量,包括如下步骤:
(1)对待测的嵌入式软件程序进行词法分析Agent,即采用Linux下的lex将待测的嵌入式软件程序分解成单独的词的表示,形成初步的符号表,并将结果传递给语法分析Agent;(2)通过步骤(1)接收到的词法分析Agent的结果,采用yacc将输入字符串识别为单词符号流,找出变量声明语句,并相应分离出指针变量和数组变量,最终生成语法树,每一个语法规则对应一个相应的处理函数,并作为树的一个节点挂在语法树上,提供对外的接口;(3)对步骤(2)生成的语法树分析找出程序不变量。
3.)第三阶段分析错误:将动态提取的程序不变量与静态提取的程序不变量相比较,找出不同的程序不变量对其分析,确定是否错误,最终将错误集中起来形成错误报告。
附图说明
图1为本发明的体系结构图。
具体实施方式
本发明的核心思想是:利用程序不变量的不同的分类标准,形成3种不同的轨迹文件,对不变量进行3种不同地检测。利用集成思想和多数投票法将检测出的不变量进行最终的确定。利用Agent的自治特性,在没有其它Agent或测试者的直接命令和干预下进行独立的判断。利用对比的方法找出程序中的错误。下面结合附图1对本发明的工作流程及各模块功能进行详细说明。
1.工作流程
本发明的工作流程包括动态提取程序不变量、静态提取程序不变量以及错误分析。
1.1动态提取程序不变量
其步骤为:(1)对待测的嵌入式软件程序进行程序编配Agent,即在程序中每个函数入口和出口处利用前端工具插入代码,采用时间戳机制标记每一个变量,输出编配文件和轨迹文件的格式的声明文件;(2)对步骤(1)输出的编配文件里的编配程序根据路径、分支、等价类和边界条件确定测试用例,输入所形成的测试用例,通过循环控制方式多次运行编配程序来记录程序运行轨迹,最终形成轨迹文件;(3)利用集成思想根据程序不变量不同的分类标准将程序不变量分成3种不同类别的形式从而预设不变量的形式,不变量检测器将步骤(2)形成的轨迹文件中变量值与预设不变量形式比较,得到相应的不变量集,利用多数投票法整理分析,得出程序不变量报告。
1.2静态提取程序不变量
其步骤为:(1)对待测的嵌入式软件程序进行词法分析Agent,即采用Linux下的lex将待测的嵌入式软件程序分解成单独的词的表示,形成初步的符号表,并将结果传递给语法分析Agent;(2)通过步骤(1)接收到的词法分析Agent的结果,采用yacc将输入字符串识别为单词符号流,找出变量声明语句,并相应分离出指针变量和数组变量,最终生成语法树,每一个语法规则对应一个相应的处理函数,并作为树的一个节点挂在语法树上,提供对外的接口;(3)对步骤(2)生成的语法树分析找出程序不变量。
1.3分析错误
将动态提取的程序不变量与静态提取的程序不变量相比较,找出不同的程序不变量对其分析,确定是否错误,最终将错误集中起来形成错误报告。
2.模块功能描述
本发明的模块包括动态提取程序不变量中的程序编配Agent模块、程序轨迹收集模块和程序不变量提取模块,静态提取程序不变量中的词法语法分析Agent模块以及错误分析中的错误分析模块。
2.1程序编配Agent模块
程序编配Agent模块就是在待检测的程序代码中插入大量的描述轨迹的代码,为程序运行轨迹收集奠定基础。其主要的工作是确定观测点和观测变量。
程序编配的方法基本上可以分为内嵌和外包两种方法。本发明采用内嵌法。内嵌法就是在程序的适当位置插入跟踪代码,如打印语句,以暴露程序运行的轨迹。
本发明针对程序编配Agent设计的步骤为:首先确定将程序中每个函数的入口和出口作为观测点,利用前端工具Defj对源程序进行代码的插入,然后采用时间戳机制对每一个变量做时间标记,随着时间的变化记录变量的变化过程,同时设置标记信息,如果变量的状态有所改变则标记为1,否则标记为0。最终输出两个文件:其一是与源程序文件同名的编配文件,其二是轨迹文件格式的声明文件。
2.2程序轨迹收集模块
程序轨迹收集模块就是用适当的测试用例集运行程序,收集并保存位于观测点上的观测变量的运行值。它主要包括测试用例的生成和轨迹的形成。
(1)测试用例的生成
目前测试用例的选择有两类典型的方法:白盒法和黑盒法。本发明采用白盒法和黑盒法相结合的选择方法。白盒法根据路径、分支等覆盖准则选择测试用例。黑盒法使用等价类、边界条件等技术确定测试用例。
本发明针对测试用例的生成设计的步骤为:首先对编配后的程序的路径和分支选择测试用例。然后再使用等价类、边界条件确定编配后的程序的测试用例。最终将所有的测试用例集中起来形成测试用例集。
(2)轨迹的形成
轨迹的形成就是利用生成的测试用例集运行程序,收集并保存位于观测点上的观测变量的运行值。在每一次测试中,当程序运行经过预定的观测点时就将产生一条测试记录,一次运行产生的全部检测记录序列组成程序的一个轨迹。
轨迹的形成方法有单次运行程序形成和多次运行程序形成。本发明采用多次运行程序形成。多次运行程序就是利用动态数组将程序运行多次。
本发明针对轨迹的形成设计的步骤为:首先在每个测试函数的入口点插入动态数组,然后通过循环控制方式多次运行程序来记录程序运行轨迹,最终将运行轨迹集中起来形成轨迹文件。
轨迹信息主要反映在文件.cdecls和.ctrace里面。.cdecls文件为.ctrace文件声明了文件格式。
下面介绍一下轨迹文件的声明文件.cdecls格式
DEC1ARE表示一个新的函数或方法的开始。
program-point-name表示此时的函数或方法名称。
varname1函数或方法中的变量名称。
Declared-type1表示第一个变量在源程序中的类型。
[#auxiliary-information1]表示此变量的辅助说明信息,此项是可选项。
representation-type1表示在轨迹文件中的此变量的数据类型,一般情况下和源程序中的类型是相同的。它一般是boolean,java.lang.String,int,hashcode,double中的一个,或者是它们的一个序列。
comparable variables表示其它哪些变量可以和该变量进行比较运算,这个过程需要数据类型的推理分析比较。
下面介绍一下轨迹文件的声明文件.ctrace格式
program-point-name(程序点名字)
varname1(该程序点可见的第一个域的域名)
var-value-1(该程序点的第一个域的域值)
var-modified-1(该程序点的第一个域的修改标志位)
varname2(该程序点的第二个域的域名)
var-value-2(该程序点的第二个域的域值)
var-modified-2(该程序点的第二个域的修改标志位)
其中域修改标志位,表明该域自上次被观察以后是否重新被赋值,为1表示该域在该程序点重新被赋值,为0表示该域没有重新被赋值。
2.3程序不变量提取模块
程序不变量提取模块就是对轨迹形成阶段得到的程序轨迹集合中的数据进行检测,从中发现有意义的程序行为特征。
目前的不变量提取方法主要是基于模式提取的。即首先定义好比较常见的程序不变量类型,然后根据收集的程序轨迹文件中的各个变量在不同时刻的不同状态值,依此把各个变量进行比较。如果发现与模板匹配则报告出此不变量,否则继续比较,直到把所有的变量值比较完为止。本发明采用的提取方法是基于模式的集中提取。基于模式的集中提取就是将集中的思想运用到基于模式提取中,即采用多次不同的基于模式提取。
本发明针对程序不变量提取设计的步骤为:首先输入.ctrace文件作为不变量检测的分析资源,然后根据程序不变量3种不同的分类标准预设不变量的形式,接着不变量检测器通过在观测变量值的集合上对预设的不变量形式检测得到相应的不变量集,最终利用多数投票法整理分析数据文件,得出程序不变量报告。
2.4词法语法分析Agent模块
词法语法分析Agent模块就是对待测的嵌入式软件进行词法语法分析静态地提取出程序不变量,其包括词法分析Agent、语法分析Agent和语法树分析Agent。
词法分析Agent和语法分析Agent主要采用Linux环境下的lex和yacc来完成。Lex与yacc是Linux系统所提供的词法分析工具和语法分析工具,使用这两个工具可以生成词法和语法分析器,缩短开发系统软件的周期,节约时间,提高工作效率。
①词法分析Agent。Lex是一个词法分析程序的生成程序,它是为了对字符输入流进行词法分析处理而专门设计的,这个程序的核心是正规表达式,用来描述输入串的词法结构。
本发明针对词法分析Agent设计的步骤为:首先写出一个词法规则文件lex.1,给出特定的词法规则,即表达式和相关动作。之后,由lex将其转变成一个通用宿主语言,生成一个C程序lex.yy.c,其主函数为yylex()。其功能是识别输入字符流中的单词,并返回指定的单词或其他语法单位的代号。当yyparse()(语法分析主函数)调用yylex()时,将按照yylex()返回的代号值进行语法分析。
②语法分析Agent。Yacc是Linux上一个用来生成编译器的编译器。Yacc生成的编译器主要是用C语言写成的语法解析器,需要与词法解析器Lex一起使用,再把两部分产生出来的C程序一并编译。
本发明针对语法分析Agent设计的步骤为:首先根据任务需求制定一个输入处理的功能说明,即一个语法规则文件yacc.y,其内容就是指定的语法规则集及其各规则对应的动作。然后,由yacc将这样的说明转换成一个处理相应输入流的C语言程序yy.tab.c,其主函数是yyparse()。它通过调用词法分析Agent的分析程序yylex(),进而从输入流中找到“单词”,再根据输入结构对这些单词加以组织。当某条规则被匹配,并完整地识别出来后,就调用用户指定的对应于这条规则的一个动作,该动作具有返回值和利用其他动作的值的能力。
③语法树分析Agent。语法树分析Agent主要用来对词法Agent和语法Agent生成的语法树进行分析,找出程序不变量。
本发明针对语法树分析Agent设计的步骤为:首先在程序的入口处和出口处以及函数的入口处和出口处设置探测点,然后开始探测程序不变量,最终将探测出的程序不变量集中形成不变量集。
2.5错误分析模块
错误分析模块就是将动态提取的程序不变量与静态提取的程序不变量相比较,找出不同的程序不变量对其分析,确定是否错误,最终将错误集中起来形成错误报告。
本发明中针对错误分析设计的步骤为:首先确定静态提取的程序不变量阶段得到的程序不变量的数目,然后编写程序将动态提取的程序不变量与静态提取的程序不变量进行比较,找出不相同的程序不变量,最终分析找出的不相同的程序不变量得出程序中的错误。
3.优势
与现有技术相比,本发明提出的一种基于Agent嵌入式软件的不变量测试方法与工具有如下显著优点:
(1)将不变量、集成思想和Agent的观念运用到测试技术中,是一种利用不变量、集成思想和Agent帮助测试者进行软件测试的测试工具。
(2)在测试过程中,本发明利用程序不变量的3种不同的分类标准,形成3种不同的轨迹文件,对不变量进行不同地检测。利用集成思想和多数投票法将检测出的不变量进行最终的确定。
(3)利用Agent的自治特性,在没有其它Agent或测试者的直接命令和干预下进行独立的判断。利用对比的方法找出程序中的错误。
(4)该软件测试系统能够减少测试者的直接干预,并提供一个良好的集成测试环境,可以大大提高自动化测试的效率,同时能够很好地发现程序中的潜在错误。

Claims (2)

1.一种基于Agent嵌入式软件的不变量测试方法与工具,其特征在于包括如下步骤:
1.)第一阶段动态提取程序不变量,包括如下步骤:
(1)对待测的嵌入式软件程序进行程序编配Agent,即在程序中每个函数入口和出口处利用前端工具插入代码,采用时间戳机制标记每一个变量,输出编配文件和轨迹文件的格式的声明文件;(2)对步骤(1)输出的编配文件里的编配程序根据路径、分支、等价类和边界条件确定测试用例,输入所形成的测试用例,通过循环控制方式多次运行编配程序来记录程序运行轨迹,最终形成轨迹文件;(3)利用集成思想根据程序不变量不同的分类标准将程序不变量分成不同类别的形式从而预设不变量的形式,不变量检测器将步骤(2)形成的轨迹文件中变量值与预设不变量形式比较,得到相应的不变量集,利用多数投票法整理分析,得出程序不变量报告。
2.)第二阶段静态提取程序不变量,包括如下步骤:
(1)对待测的嵌入式软件程序进行词法分析Agent,即采用Linux下的lex将待测的嵌入式软件程序分解成单独的词的表示,形成初步的符号表,并将结果传递给语法分析Agent;(2)通过步骤(1)接收到的词法分析Agent的结果,采用yacc将输入字符串识别为单词符号流,找出变量声明语句,并相应分离出指针变量和数组变量。其结果是生成语法树,每一个语法规则对应一个相应的处理函数,并作为树的一个节点挂在语法树上,提供对外的接口;(3)对步骤(2)生成的语法树分析找出程序不变量。
3.)第三阶段分析错误:将动态提取的程序不变量与静态提取的程序不变量相比较,找出不同的程序不变量对其分析,确定是否错误,最终将错误集中起来形成错误报告。
2.如权利要求1中所述方法,其特征在于根据程序不变量不同的分类标准将程序不变量分成3种不同类别的形式,分别为单一的数字变量的不变量和非单一的数字变量的不变量、单一的序列变量的不变量和非单一的序列变量的不变量以及函数依赖的不变量和非函数依赖的不变量。
CN2011100267574A 2011-01-25 2011-01-25 一种基于Agent嵌入式软件的不变量测试方法与工具 Pending CN102087629A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011100267574A CN102087629A (zh) 2011-01-25 2011-01-25 一种基于Agent嵌入式软件的不变量测试方法与工具

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100267574A CN102087629A (zh) 2011-01-25 2011-01-25 一种基于Agent嵌入式软件的不变量测试方法与工具

Publications (1)

Publication Number Publication Date
CN102087629A true CN102087629A (zh) 2011-06-08

Family

ID=44099444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100267574A Pending CN102087629A (zh) 2011-01-25 2011-01-25 一种基于Agent嵌入式软件的不变量测试方法与工具

Country Status (1)

Country Link
CN (1) CN102087629A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567207A (zh) * 2012-01-14 2012-07-11 惠州市德赛西威汽车电子有限公司 一种嵌入式系统的调试方法及其调试装置
CN105354035A (zh) * 2015-11-17 2016-02-24 天津橙子科技有限公司 用于编写web工程测试用例的方法
CN109815140A (zh) * 2019-01-05 2019-05-28 咪付(广西)网络技术有限公司 一种嵌入式c语言实现的自动化测试系统及方法
CN112328226A (zh) * 2020-09-17 2021-02-05 北京中数科技术有限公司 一种嵌入式系统自动化测试代码生成方法及装置
CN112805984A (zh) * 2018-10-03 2021-05-14 华为技术有限公司 用于部署增量网络更新的系统
CN117112398A (zh) * 2023-07-11 2023-11-24 贝壳找房(北京)科技有限公司 增量代码覆盖率检测方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101576850A (zh) * 2009-06-10 2009-11-11 南京航空航天大学 一种改进的面向宿主的嵌入式软件白盒测试方法
CN101833500A (zh) * 2010-04-07 2010-09-15 南京航空航天大学 一种基于Agent的嵌入式软件智能测试方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101576850A (zh) * 2009-06-10 2009-11-11 南京航空航天大学 一种改进的面向宿主的嵌入式软件白盒测试方法
CN101833500A (zh) * 2010-04-07 2010-09-15 南京航空航天大学 一种基于Agent的嵌入式软件智能测试方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘久富等: "嵌入式软件的动态测试", 《微计算机信息》 *
杨振兴等: "不变量的程序潜在错误预测", 《智能系统学报》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567207A (zh) * 2012-01-14 2012-07-11 惠州市德赛西威汽车电子有限公司 一种嵌入式系统的调试方法及其调试装置
CN102567207B (zh) * 2012-01-14 2016-05-11 惠州市德赛西威汽车电子股份有限公司 一种嵌入式系统的调试方法及其调试装置
CN105354035A (zh) * 2015-11-17 2016-02-24 天津橙子科技有限公司 用于编写web工程测试用例的方法
CN112805984A (zh) * 2018-10-03 2021-05-14 华为技术有限公司 用于部署增量网络更新的系统
CN109815140A (zh) * 2019-01-05 2019-05-28 咪付(广西)网络技术有限公司 一种嵌入式c语言实现的自动化测试系统及方法
CN112328226A (zh) * 2020-09-17 2021-02-05 北京中数科技术有限公司 一种嵌入式系统自动化测试代码生成方法及装置
CN117112398A (zh) * 2023-07-11 2023-11-24 贝壳找房(北京)科技有限公司 增量代码覆盖率检测方法、装置、电子设备及存储介质
CN117112398B (zh) * 2023-07-11 2024-04-16 贝壳找房(北京)科技有限公司 增量代码覆盖率检测方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN101739339B (zh) 一种基于程序动态依赖关系的软件故障定位方法
Xiao et al. Precise identification of problems for structural test generation
Zhong et al. Mining API mapping for language migration
CN101833500A (zh) 一种基于Agent的嵌入式软件智能测试方法
CN103902456B (zh) 测试脚本处理装置、系统及方法
CN102567200A (zh) 基于函数调用图的并行化安全漏洞检测方法
US20070006128A1 (en) Method for evaluating dynamic expressions
CN106354630B (zh) 一种基于动态符号执行的软件缺陷检测方法
CN102087629A (zh) 一种基于Agent嵌入式软件的不变量测试方法与工具
CN102243609A (zh) 一种基于嵌入式软件的测试分析方法及系统
CN103294596A (zh) 一种基于程序不变量的合约式软件故障预警方法
CN109033843A (zh) 用于分布式静态检测系统的Java文件依赖性分析方法及模块
CN105302719A (zh) 一种变异测试方法及装置
CN103914379B (zh) 故障自动注入与故障检测的方法及其系统
CN101576850B (zh) 一种改进的面向宿主的嵌入式软件白盒测试方法
CN101344855A (zh) 一种基于编译的跟踪代码中特定对象的控制方法及装置
Guo et al. Automated software test data generation with generative adversarial networks
Tsimpourlas et al. Supervised learning over test executions as a test oracle
Kim et al. Adding examples into java documents
CN105630678B (zh) 一种智能电能表软件的可靠性检测仪及其检测方法
CN104536880A (zh) 基于符号执行的gui程序测试用例扩增方法
CN102662829B (zh) 一种复杂数据结构在代码静态测试中的处理方法和装置
Goli et al. Through the looking glass: Automated design understanding of SystemC-based VPs at the ESL
CN105677557A (zh) 核电软件测试系统和方法
Romanov et al. Representing programs with dependency and function call graphs for learning hierarchical embeddings

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110608