CERT大赛评选规则说明
2010-4-26
总则
正则表达式匹配算法软件大赛,是通过软件实现的方法,完成正则表达式的匹配工作,测评出在下列各个方面最优秀的软件:实现语法完整、匹配内容正确、预处理与匹配运算速度快、占用内存少。
大赛评选分为初赛评选与复赛评选。初赛只要求参赛人员提交如图二所示TXT文档格式的自测结果,复赛则遵循图三所示的现场测试流程。
正则表达式语法要求
语法要求分为2部分,详见附录1:
基本部分:这部分正则表达式的语法要求必须满足,否则不能达到参赛要求;
选择部分:这部分正则表达式的语法要求,不是必须满足,但是如果支持这些语法,将在功能测试中,加上这部分测试项的得分(详见后面的评比方法)。
正则表达式匹配软件要求
基本要求:参加大赛的软件,能够根据输入的正则表达式规则文件,对数据文件进行模式搜索,并输出满足规则的数据模式。图示如下:
正则表达式匹配软件
数据匹配阶段
规则文件
或者:预处理输出文件
输出测试结果
测试数据文件
根据各家的测试结果,
统一评比
共享内存
测试数据
正则表达式匹配软件
预处理阶段
规则文件
输出测试结果
图一
环境要求:测试环境为单台设备,如下所示:
硬件:AMD 64位 CPU、内存:16G
软件:Linux ,
为了减少I/O操作引起的时间消耗,系统将开辟8G的共享内存,在测评前把数据导入到共享内存中,测评软件可以直接读取该内存数据。
注意:共享内存的ID号为:0x1234。
语法要求:见前面的基本语法、选择语法。
软件命令行参数:命令行参数如下所示:
-r:后续参数为正则表达式规则定义文件名称(格式定义下面);
-d:后续参数为测试用的数据文件名称(格式定义下面);
-s:测试数据大小,是系统提供的测试数据大小,也是共享内存的大小。数字单位为G,例如:-s 4,表示数据长度是:4×1024×1024×1024。
-p:预处理运行。当前的软件运行目的是根据规则文件,生成匹配用的状态树等内部数据,而不是进行任何匹配。如果没有该参数,则是根据预处理输出的数据,进行匹配工作。
-v:用于显示软件的版本信息;
注1:参数-d和-s不能调试出现,是为了调试中的选择方便,可以使用输入文件、也可以使用共享内存。
注2:系统测试分为2步:预处理测试和匹配测试。
软件数据输出格式:软件匹配成功的数据,使用printf语句直接打印在屏幕上,使测试人员直接观察,或者转存到指定文件中。数据格式如下:
偏移量长度规则序号
0123456701234567 232 453
0123456701238867 8 32
其中,各个数据项的分割符号,必须是空格(0x20),或者tab符号(0x09)。
偏移量:匹配成功的位置,距离文件开始的偏移量。为了支持大的数据文件(2-8G字节),偏移量应该是一个long int整数;偏移量的数值,从0开始(起始字节的偏移量为0)。
长度:匹配数据的开始位置、到结束位置的字节距离;该数据是一个2字节无符号整数(最大64K);
规则序号:匹配的模式,在规则文件文件中的有效行号。该规则文件中,因包含注释行(可视为无效行),所以,单以包含一个有效规则的数据行排序,得出的规则序号。该数据是一个2字节无符号整数(
CET大赛评选规则说明 来自淘豆网m.daumloan.com转载请标明出处.