CN111488314A - 一种基于Python的仿真日志分析方法 - Google Patents

一种基于Python的仿真日志分析方法 Download PDF

Info

Publication number
CN111488314A
CN111488314A CN202010236025.7A CN202010236025A CN111488314A CN 111488314 A CN111488314 A CN 111488314A CN 202010236025 A CN202010236025 A CN 202010236025A CN 111488314 A CN111488314 A CN 111488314A
Authority
CN
China
Prior art keywords
log
simulation
dictionary
information
generated
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
CN202010236025.7A
Other languages
English (en)
Other versions
CN111488314B (zh
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.)
Beijing CEC Huada Electronic Design Co Ltd
Original Assignee
Beijing CEC Huada Electronic Design Co Ltd
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 Beijing CEC Huada Electronic Design Co Ltd filed Critical Beijing CEC Huada Electronic Design Co Ltd
Priority to CN202010236025.7A priority Critical patent/CN111488314B/zh
Publication of CN111488314A publication Critical patent/CN111488314A/zh
Application granted granted Critical
Publication of CN111488314B publication Critical patent/CN111488314B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于Python的仿真日志分析方法,其特征在于只需给出仿真日志的存放路径,即可自动完成对日志文件的分析和有效信息的提取,生成结果统计报告。验证人员通过查看结果统计报告,就可以迅速定位各个激励在不同验证条件下存在的问题,大大缩短了仿真日志的分析时间。与传统的人工逐一确认方法相比,该方法增强了验证人员对不同代码版本仿真结果之间的整体把握和对比,统计性的结果避免了验证人员对相同错误信息的多次确认和处理,既从根本上解决了回归阶段,仿真日志分析耗时长的问题,又在一定程度上提升了验证质量。

Description

一种基于Python的仿真日志分析方法
技术领域
本发明涉及芯片仿真验证技术,具体涉及一种基于Python的仿真日志分析方法。
背景技术
随着应用需求的不断升级,芯片的功能也在不断增加,各种应用场景下的配置,使得所需仿真激励的数量呈指数级增长。
验证人员需要对每一个日志内容进行处理,查找和筛选出错误、报警等信息进行确认,以保证整个回归的仿真正确无误,日趋庞大的仿真日志内容给验证资源和验证进度带来了挑战。
发明内容
本发明解决的技术问题是:提供一种基于Python的仿真日志分析方法,只需要给出仿真日志的存放路径,即可自动完成对日志文件的分析和有效信息的提取,生成结果统计报告,提高验证人员分析仿真日志的效率。
本发明采用的技术方案是:一种基于Python的仿真日志分析方法,其特征在于,包括如下步骤:
S1)配置待分析日志中要关注的关键字列表,以及日志内容中无需分析的屏蔽区间;
S2)文件列表组件根据仿真日志的存放路径,生成该路径下所有仿真激励的日志列表文件;
S3)分析组件一对步骤S2)生成的日志列表文件中的所有日志文件进行分析,生成包含各模块仿真激励数以及仿真结果等信息的嵌套字典[D1],生成包含各模块不同仿真结果下的日志路径信息的嵌套字典[D2];
S4)分析组件二根据步骤S3)生成的字典[D2]和步骤S1)的配置信息进一步分析,生成包含有关键字的各类型日志信息和日志路径详细信息的字典[D3];
S5)概要报告统计组件根据步骤S3)生成的字典[D1],格式化生成概要报告的第一部分,根据步骤S4)生成的字典[D3],格式化生成概要报告的第二部分;
S6)详细报告统计组件根据步骤S3)生成的字典[D2],以及步骤S4)生成的字典[D3],格式化生成各模块仿真日志的详细报告;
所述步骤S3)分析组件一对仿真日志的分析处理具体包括如下步骤:
S301)遍历权利要求1里步骤S2)生成的日志列表中各子项指向的仿真日志,从中提取仿真模块、仿真条件等信息,创建包含仿真模块、仿真条件、仿真结果类别的嵌套字典[D1],创建包含仿真模块、仿真结果类别、日志路径信息的嵌套字典[D2];
S302)检索步骤S301)里子项所指向仿真日志的内容,将仿真结果更新到步骤S301)中创建的字典[D1],根据不同的仿真结果将日志的路径信息更新到步骤S301)中创建的字典[D2],如果出现权利要求1中步骤S1)所配置的关键信息,将该日志的路径更新到步骤S301)中创建的字典[D2];
所述步骤S4)分析组件二对仿真日志的分析处理具体包括如下步骤:
S401)创建用于保存包含有关键字的各类型日志信息和日志路径详细信息的字典[D3],对权利要求1中步骤S3)生成的字典[D2]作进一步分析,对字典[D2]中各模块包含有权利要求1中步骤S1)所配置关键信息的结果类别中的所有日志,进行遍历检索;
S402)检索时,权利要求1中步骤S1)设置的日志内容中无需分析的屏蔽区间不做分析,其余的日志内容进行分析,将包含有权利要求1中步骤S1)所配置的关键信息的行内容进行处理后,查询步骤S401)创建的字典[D3]的键中是否有该类型信息,更新相应信息到字典[D3];
本发明的优点在于:
1)只需要给出仿真日志的存放路径,即可自动完成对仿真日志的分析和有效信息的提取,并生成预期格式的仿真报告,供验证人员分析,提高了验证人员分析仿真日志的效率,有效的缩短了项目开发周期;
2)关键信息列表及日志内容中无需分析的屏蔽区间利用了Python的列表和字典的特性,可扩展性强;
3)对仿真日志的分析采用层次化、过滤式分析,既提高了日志分析的效率,又增加了分析的可扩展性,可以根据技术的发展和项目的不同,增加更多的分析组件;
附图说明
图1是本发明的系统流程示意图。
图2是本发明权利要求1里步骤S3)的流程示意图。
图3是本发明权利要求1里步骤S4)的流程示意图。
具体实施方式
下面结合附图和具体实施对本发明作进一步说明。
随着应用需求的不断升级,芯片的功能也在不断增加,各种应用场景下的配置,使得所需验证激励的数量呈指数级增长,仿真结束后,庞大数据量的仿真日志分析,给验证人员带来了挑战,本发明提出一种基于Python的仿真日志分析方法,解决了这一问题,提高了验证的效率。
如图1所示,该分析方法包括文件列表组件、分析组件一、分析组件二、概要报告统计组件、详细报告统计组件,具体步骤如下:
S1)配置待分析日志中要关注的关键字列表,以及日志内容中无需分析的屏蔽区间;
S2)文件列表组件根据仿真日志的存放路径,生成该路径下所有仿真激励的日志列表文件;
S3)分析组件一对步骤S2)生成的日志列表文件中的所有日志文件进行分析,生成包含各模块仿真激励数以及仿真结果等信息的嵌套字典[D1],生成包含各模块不同仿真结果下的日志路径信息的嵌套字典[D2],如图2,具体步骤如下;
S301)遍历步骤S2)生成的日志列表中各子项指向的仿真日志,从中提取仿真模块、仿真条件等信息,创建包含仿真模块、仿真条件、仿真结果类别的嵌套字典[D1],创建包含仿真模块、仿真结果类别、日志路径信息的嵌套字典[D2];
S302)检索步骤S301)里子项所指向仿真日志的内容,将仿真结果更新到步骤S301)中创建的字典[D1],根据不同的仿真结果将日志的路径信息更新到步骤S301)中创建的字典[D2],如果出现步骤S1)所配置的关键信息,将该日志的路径更新到步骤S301)中创建的字典[D2];
S4)分析组件二根据步骤S3)生成的字典[D2]和步骤S1)的配置信息进一步分析,生成包含有关键字的各类型日志信息和日志路径详细信息的字典[D3],如图3,具体步骤如下:
S401)创建用于保存包含有关键字的各类型日志信息和日志路径详细信息的字典[D3],对步骤S3)生成的字典[D2]作进一步分析,对字典[D2]中各模块包含有步骤S1)所配置关键信息的结果类别中的所有日志,进行遍历检索;
S402)检索时,步骤S1)设置的日志内容中无需分析的屏蔽区间不做分析,其余的日志内容进行分析,将包含有步骤S1)所配置的关键信息的行内容进行处理后,查询步骤S401)创建的字典[D3]的键中是否有该类型信息,如果没有,更新该类型信息及日志路径到字典[D3],如果有,只更新日志路径到字典[D3];
S5)概要报告统计组件根据步骤S3)生成的字典[D1],格式化生成概要报告的第一部分,该部分主要呈现仿真的结果的数据,如仿真总数、仿真通过的占比、仿真失败的占比、仿真超时的占比、不同仿真条件下各仿真结果的占比等。根据步骤S4)生成的字典[D3],格式化生成概要报告的第二部分,该部分主要呈现仿真日志出现步骤S1)所设置关键信息的总数和分类处理后类型的总数,以及全部类型的具体信息。该报告可以让验证人员对待分析的仿真日志快速的有一个整体的判断。
S6)详细报告统计组件根据步骤S3)生成的字典[D2],以及步骤S4)生成的字典[D3],格式化生成各模块仿真日志的详细报告,给部分主要呈现具体模块下,仿真结果的情况,以及在该模块出现步骤S1)所设置关键信息的具体信息所在哪些日志的具体位置的情况。该报告便于验证人员快速的定位待确认仿真日志的问题所在。
以上所述仅是本发明的优选实现方式,应当指出在不脱离本发明构思的前提下,可以做出的若干改进和扩展,这些改进和扩展也应视为本发明保护范围内。

Claims (4)

1.一种基于Python的仿真日志分析方法,其特征在于,包括:
S1)配置待分析日志中要关注的关键字列表,以及日志内容中无需分析的屏蔽区间;
S2)文件列表组件根据仿真日志的存放路径,生成该路径下所有仿真激励的日志列表文件;
S3)分析组件一对步骤S2)生成的日志列表文件中的所有日志文件进行分析,生成包含各模块仿真激励数以及仿真结果等信息的嵌套字典[D1],生成包含各模块不同仿真结果下的日志路径信息的嵌套字典[D2];
S4)分析组件二根据步骤S3)生成的字典[D2]和步骤S1)的配置信息进一步分析,生成包含有关键字的各类型日志信息和日志路径详细信息的字典[D3];
S5)概要报告统计组件根据步骤S3)生成的字典[D1],格式化生成概要报告的第一部分,根据步骤S4)生成的字典[D3],格式化生成概要报告的第二部分;
S6)详细报告统计组件根据步骤S3)生成的字典[D2],以及步骤S4)生成的字典[D3],格式化生成各模块仿真日志的详细报告。
2.根据权利要求1所述的一种基于Python的仿真日志分析方法,其特征在于,所述步骤S1)中待分析日志中的关键字列表和日志内容中的无需分析的屏蔽区间分别利用了Python的列表和字典的特性,具有可扩展性,在扩展时,不影响权利要求1中的步骤S2)到S6)中的结构。
3.根据权利要求1所述的一种基于Python的仿真日志分析方法,其特征在于,所述步骤S3)分析组件一对仿真日志的分析处理具体包括如下步骤:
S301)遍历权步骤S2)生成的日志列表中各子项指向的仿真日志,从中提取仿真模块、仿真条件等信息,创建包含仿真模块、仿真条件、仿真结果类别的嵌套字典[D1],创建包含仿真模块、仿真结果类别、日志路径信息的嵌套字典[D2];
S302)检索步骤S301)里子项所指向仿真日志的内容,将仿真结果更新到步骤S301)中创建的字典[D1],根据不同的仿真结果将日志的路径信息更新到步骤S301)中创建的字典[D2],如果出现权利要求1中步骤S1)所配置的关键信息,将该日志的路径更新到步骤S301)中创建的字典[D2]。
4.根据权利要求1所述的一种基于Python的仿真日志分析方法,其特征在于,所述步骤S4)分析组件二对仿真日志的分析处理具体包括如下步骤:
S401)创建用于保存有关键字的各类型日志信息和日志路径详细信息的字典[D3],对步骤S3)生成的字典[D2]作进一步分析,对字典[D2]中各模块包含有
步骤S1)所配置关键信息的结果类别中的所有日志,进行遍历检索;
S402)检索时,步骤S1)设置的日志内容中无需分析的屏蔽区间不做分析,
其余的日志内容进行分析,将包含有权利要求1中步骤S1)所配置的关键信息的行内容进行处理后,查询步骤S401)创建的字典[D3]的键中是否有该类型信息,更新相应信息到字典[D3]。
CN202010236025.7A 2020-03-30 2020-03-30 一种基于Python的仿真日志分析方法 Active CN111488314B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010236025.7A CN111488314B (zh) 2020-03-30 2020-03-30 一种基于Python的仿真日志分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010236025.7A CN111488314B (zh) 2020-03-30 2020-03-30 一种基于Python的仿真日志分析方法

Publications (2)

Publication Number Publication Date
CN111488314A true CN111488314A (zh) 2020-08-04
CN111488314B CN111488314B (zh) 2023-06-30

Family

ID=71791567

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010236025.7A Active CN111488314B (zh) 2020-03-30 2020-03-30 一种基于Python的仿真日志分析方法

Country Status (1)

Country Link
CN (1) CN111488314B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112329273A (zh) * 2020-12-17 2021-02-05 深圳市芯天下技术有限公司 一种提升芯片验证效率的方法、装置、存储介质和终端
CN112433897A (zh) * 2020-11-06 2021-03-02 北京中电华大电子设计有限责任公司 一种由寄存器规格文档自动生成仿真验证激励的方法
CN112906344A (zh) * 2020-11-24 2021-06-04 芯和半导体科技(上海)有限公司 一种片上仿真信息实时提取方法
CN113343438A (zh) * 2021-05-20 2021-09-03 北京中电华大电子设计有限责任公司 一种基于Python的自动化功耗仿真方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106202511A (zh) * 2016-07-21 2016-12-07 浪潮(北京)电子信息产业有限公司 一种基于日志分析的告警方法和系统
CN106412061A (zh) * 2016-09-28 2017-02-15 上海爱数信息技术股份有限公司 一种基于Linux的日志文件夹远程传输系统
CN107015901A (zh) * 2016-01-28 2017-08-04 苏宁云商集团股份有限公司 一种日志分析方法及装置
CN107894940A (zh) * 2017-11-09 2018-04-10 郑州云海信息技术有限公司 一种日志分析装置及方法
CN109062774A (zh) * 2018-06-21 2018-12-21 平安科技(深圳)有限公司 日志处理方法、装置及存储介质、服务器
CN109597733A (zh) * 2018-12-04 2019-04-09 航天恒星科技有限公司 一种多功能高效动态芯片验证仿真方法和设备
US20190108112A1 (en) * 2017-10-05 2019-04-11 Hcl Technologies Limited System and method for generating a log analysis report from a set of data sources

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107015901A (zh) * 2016-01-28 2017-08-04 苏宁云商集团股份有限公司 一种日志分析方法及装置
CN106202511A (zh) * 2016-07-21 2016-12-07 浪潮(北京)电子信息产业有限公司 一种基于日志分析的告警方法和系统
CN106412061A (zh) * 2016-09-28 2017-02-15 上海爱数信息技术股份有限公司 一种基于Linux的日志文件夹远程传输系统
US20190108112A1 (en) * 2017-10-05 2019-04-11 Hcl Technologies Limited System and method for generating a log analysis report from a set of data sources
CN107894940A (zh) * 2017-11-09 2018-04-10 郑州云海信息技术有限公司 一种日志分析装置及方法
CN109062774A (zh) * 2018-06-21 2018-12-21 平安科技(深圳)有限公司 日志处理方法、装置及存储介质、服务器
CN109597733A (zh) * 2018-12-04 2019-04-09 航天恒星科技有限公司 一种多功能高效动态芯片验证仿真方法和设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112433897A (zh) * 2020-11-06 2021-03-02 北京中电华大电子设计有限责任公司 一种由寄存器规格文档自动生成仿真验证激励的方法
CN112906344A (zh) * 2020-11-24 2021-06-04 芯和半导体科技(上海)有限公司 一种片上仿真信息实时提取方法
WO2022110578A1 (zh) * 2020-11-24 2022-06-02 芯和半导体科技(上海)有限公司 一种片上仿真信息实时提取方法
CN112329273A (zh) * 2020-12-17 2021-02-05 深圳市芯天下技术有限公司 一种提升芯片验证效率的方法、装置、存储介质和终端
CN112329273B (zh) * 2020-12-17 2023-10-24 芯天下技术股份有限公司 一种提升芯片验证效率的方法、装置、存储介质和终端
CN113343438A (zh) * 2021-05-20 2021-09-03 北京中电华大电子设计有限责任公司 一种基于Python的自动化功耗仿真方法

Also Published As

Publication number Publication date
CN111488314B (zh) 2023-06-30

Similar Documents

Publication Publication Date Title
CN111488314A (zh) 一种基于Python的仿真日志分析方法
WO2020233330A1 (zh) 批量测试方法、装置及计算机可读存储介质
US7814111B2 (en) Detection of patterns in data records
CN111459799B (zh) 一种基于Github的软件缺陷检测模型建立、检测方法及系统
US9122540B2 (en) Transformation of computer programs and eliminating errors
CN102012857B (zh) 一种对Web页面进行自动化测试的装置及方法
CN108694108B (zh) 一种iOS崩溃数据分类与统计的方法和装置
US11080171B2 (en) Test cycle optimization using contextual association mapping
CN106649557B (zh) 一种缺陷报告与邮件列表语义关联挖掘方法
CN111736865B (zh) 一种数据库升级方法及系统
CN117112408A (zh) 一种生成自动化测试用例脚本方法、装置及介质
CN116975116A (zh) 一种大数据分析系统的数据条件筛选方法
CN109408378B (zh) 一种在大数据量下快速定位sql解析错误的测试方法及系统
CN114398394A (zh) 数据血缘解析方法、装置、设备及存储介质
Lawrie et al. An empirical study of rules for well‐formed identifiers
CN113849413A (zh) 基于知识库特征匹配的代码规则检查方法及系统
CN113238937A (zh) 一种基于代码精简与误报过滤的编译器模糊测试方法
US10229105B1 (en) Mobile log data parsing
US11947530B2 (en) Methods and systems to automatically generate search queries from software documents to validate software component search engines
CN114969115A (zh) 基于标准化元数据体系的数据管理方法和系统
CN115292347A (zh) 一种基于规则的主动式sql算法性能检查装置及方法
EP3547154B1 (en) Constraint satisfaction software tool for database tables
CN112925726A (zh) 一种自动生成数据库测试用例的方法及存储介质
US11907628B2 (en) Message signoffs
CN118363600A (zh) 一种软件开发方法及程序生成系统

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