CN102169458A - 汽车电控部件的软件正确性验证***及其验证方法 - Google Patents
汽车电控部件的软件正确性验证***及其验证方法 Download PDFInfo
- Publication number
- CN102169458A CN102169458A CN2011100967069A CN201110096706A CN102169458A CN 102169458 A CN102169458 A CN 102169458A CN 2011100967069 A CN2011100967069 A CN 2011100967069A CN 201110096706 A CN201110096706 A CN 201110096706A CN 102169458 A CN102169458 A CN 102169458A
- Authority
- CN
- China
- Prior art keywords
- automobile electrically
- software
- verification
- unit control
- standard
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种汽车电控部件的软件正确性验证***,包括规范定义模块,对汽车电控部件功能进行数学化定义,生成形式化规范;软件功能验证模块,利用数学定理自动证明算法,检测汽车电控部件控制软件是否满足规范定义模块生成的形式化规范。本发明还提供一种汽车电控部件的软件正确性验证***的验证方法,将具有高可信的形式化验证应用于汽车***的验证中,从而使汽车***的安全性能得到更大的保障。
Description
技术领域
本发明涉及操作***验证领域,具体涉及一种汽车电控部件的软件正确性验证***及其验证方法。
背景技术
汽车电控部件的***在加载到芯片上面,投入使用之前都需要进行测试,以确保开发的产品适合需求,能进行正常的使用。软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试***,对测试方案可能出现的问题进行分析和评估。
目前的软件测试工具有AotoRunner、TestCenter、TAR、LoadRunner、TestDirector等等。虽然目前的软件测试的整个流程、方法已经相当的成熟 ,但是还是存在一定的缺陷。测试的内容和方法都是人为设计的。设计出来的测试方案大体都只能针对一个方面,不可能面面俱到。同时,测试方案中没有涉及的内容在测试过程中也不会被检测。因此 ,可以说测试只能检查出存在什么问题,而不能保证不存在什么问题。即,现有技术只能测试出测试方案中涉及的内容是否存在什么问题,而对于测试方案中没有涉及的内容则无法判断是否存在问题。
对于汽车***这一类安全系数特别高的软件来说,单纯的软件测试是不够的。本发明提供一种汽车电控部件的软件正确性验证***及其验证方法,克服现有技术的测试设计的依赖性大,无法检测遗漏路径等缺陷,将具有高可信的形式化验证应用于汽车***的验证中,使该汽车***的安全性能得到更大的保障。
发明内容
本发明提供一种汽车电控部件的软件正确性验证***及其验证方法,将具有高可信的形式化验证应用于汽车***的验证中,从而使汽车***的安全性能得到更大的保障。
本发明提供一种汽车电控部件的软件正确性验证***,包括:
规范定义模块,对汽车电控部件的功能进行数学化定义,生成形式化规范;
软件功能验证模块,利用数学定理自动证明算法,检测汽车电控部件的控制软件是否满足规范定义模块生成的形式化规范。
其中,形式化规范是数学化语言。
本发明还提供一种汽车电控部件控制软件的正确性验证***的验证方法,其特征在于,包括如下步骤:
步骤一:在规范定义模块中,将汽车电控部件的功能进行数学化定义,生成形式化规范;
步骤二:在软件功能验证模块中,验证汽车电控部件控制软件是否满足形式化规范。
其中,步骤二是利用数学定理自动证明算法验证汽车电控部件控制软件是否满足形式化规范。如果汽车电控部件控制软件经验证满足形式化规范,说明汽车电控部件控制软件不存在缺陷;如果汽车电控部件控制软件经验证不满足形式化规范,说明汽车电控部件控制软件存在缺陷。
本发明汽车电控部件的软件正确性验证***及其验证方法,将汽车电控部件的功能进行数学化定义,生成形式化模型,能更好地分析汽车电控部件功能的特性,确保部件能正常工作。另外,利用数学定理自动证明算法对软件进行检测,能发现传统的软件测试方法发现不了的潜在缺陷。
附图说明
图1是本发明汽车电控部件的软件正确性验证***的模块示意图;
图2是本发明汽车电控部件的软件正确性验证***的验证方法的工作流程图。
具体实施方式
以下结合附图和实施例进一步详细阐述本发明,但以下实施例并不是对本发明的限制。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中。
本实施例中将汽车电控部件的软件正确性验证***应用于OSEK OS 2.2.3操作***中。
如图1所示,是本发明汽车电控部件的软件正确性验证***的模块示意图。本实施例中汽车电控部件的软件正确性验证***包括:规范定义模块1,软件功能验证模块2。
其中,规范定义模块1是对汽车电控部件的功能,例如OSEK OS 2.2.3操作***的功能,进行精确的数学化定义,生成形式化规范。软件功能验证模块2是利用数学定理自动证明算法来检测OSEK OS 2.2.3操作***是否满足定义的形式化规范。
如图2所示,本实施例汽车电控部件的软件正确性验证***用于验证OSEK OS 2.2.3操作***,经过以下步骤:
步骤一S1,在规范定义模块1中,将汽车电控部件的功能,即将OSEK OS 2.2.3操作***的功能,进行数学化定义,生成形式化规范;
步骤二S2,在软件功能验证模块2中,利用数学定理自动证明算法验证汽车电控部件控制软件是否满足所述形式化规范。
如果汽车电控部件控制软件经验证满足形式化规范,说明汽车电控部件控制软件不存在缺陷;如果汽车电控部件控制软件经验证不满足形式化规范,说明汽车电控部件控制软件存在缺陷。
本实施例中,汽车电控部件的软件正确性验证***中,在规范定义模块1中,将汽车电控部件的功能进行数学化定义,生成形式化规范。根据源代码编写非功能性规范,根据形式化规范编写功能性规范,将非功能性规范和功能性规范***源代码,用VCC工具检测源代码是否满足所述非功能性规范或功能性规范。
从源代码中抽取描述资源的代码,利用进程代数对抽取出的代码进行代数建模生成进程代数模型。接着利用基于进程代数的工具检测代数模型是否存在死锁/活锁性质。
利用编译器将源代码编译为机器码,根据编译规范提取机器码与源代码的对应关系,对机器码进行代码切片,保留控制结构代码,对控制结构代码进行抽象后,利用模型检测工具对控制结构代码检测是否存在中断缺陷,对源代码进行中断安全性检测。
其中,非功能性规范和功能性规范是指用VCC工具能识别的语言写的断言。
VCC工具包括Boogie工具、Z3自动定理证明器等。Boogie工具可以将带有断言的源代码翻译成BoogiePL描述的逻辑公式,再用Z3自动定理证明器来完成定理证明工程。还可以利用VCC工具将源代码转换为状态机或者是含有公理的代码,利用VCC工具来做其他方面的验证。
基于进程代数的工具包括 FDR2、PAT等。当基于进程代数的工具所用语言的语法与进程代数不完全相同时,在生成进程代数模型之后,还需要将代数模型转换成能够被基于进程代数的工具识别的语言,再进行检测是否存在死锁/活锁性质。
控制结构的代码是指循环结构、分支结构的机器码。抽象是指使用CTL分支树时态逻辑与LTL线性时态逻辑对所述控制结构的代码进行提取。
本实施例中,将已经通过传统方法验证过后的OSEK OS 2.2.3操作***为检验对象,运用本发明汽车电控部件的软件正确性验证***验证,验证出该OSEK OS 2.2.3操作***还存在10余个***缺陷以及30多个中断安全隐患。
本发明提供的汽车电控部件的软件正确性验证***及其验证方法将具有高可信的形式化验证应用于汽车***的验证中,能发现传统的软件测试方法发现不了的潜在缺陷,使该汽车***的安全性能得到更大的保障。
综上所述仅为本发明的较佳实施例,并非用来限定本发明的实施范围。即凡依本发明申请专利范围的内容所作的等效变化与修饰,都应属于本发明的技术范畴。
Claims (5)
1.一种汽车电控部件的软件正确性验证***,其特征在于,包括:
规范定义模块,对汽车电控部件的功能进行数学化定义,生成形式化规范;
软件功能验证模块,利用数学定理自动证明算法,检测汽车电控部件控制软件是否满足所述规范定义模块生成的形式化规范。
2.如权利要求1所述汽车电控部件的软件正确性验证***,其特征在于,所述形式化规范是数学化语言。
3.如权利要求1所述汽车电控部件控制软件的正确性验证***的验证方法,其特征在于,包括如下步骤:
步骤一:在规范定义模块中,将汽车电控部件的功能进行数学化定义,生成形式化规范;
步骤二:在软件功能验证模块中,验证汽车电控部件控制软件是否满足所述形式化规范。
4.如权利要求3所述汽车电控部件控制软件的正确性验证***的验证方法,其特征在于,所述步骤二是利用数学定理自动证明算法验证汽车电控部件控制软件是否满足所述形式化规范。
5.如权利要求3所述汽车电控部件控制软件的正确性验证***的验证方法,其特征在于,所述步骤二中如果汽车电控部件控制软件经验证满足所述形式化规范,所述汽车电控部件控制软件不存在缺陷;如果汽车电控部件控制软件经验证不满足所述形式化规范,所述汽车电控部件控制软件存在缺陷。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100967069A CN102169458A (zh) | 2011-04-18 | 2011-04-18 | 汽车电控部件的软件正确性验证***及其验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100967069A CN102169458A (zh) | 2011-04-18 | 2011-04-18 | 汽车电控部件的软件正确性验证***及其验证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102169458A true CN102169458A (zh) | 2011-08-31 |
Family
ID=44490622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100967069A Pending CN102169458A (zh) | 2011-04-18 | 2011-04-18 | 汽车电控部件的软件正确性验证***及其验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102169458A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109074299A (zh) * | 2016-04-28 | 2018-12-21 | 日立汽车***株式会社 | 车辆控制***验证装置、车辆控制***以及车辆控制***验证方法 |
CN109389407A (zh) * | 2017-08-09 | 2019-02-26 | 华东师范大学 | 一种汽车电子产品功能安全的保证及验证方法 |
CN109933309A (zh) * | 2019-03-06 | 2019-06-25 | 上海工业控制安全创新科技有限公司 | 机器学习算法应用于汽车软件开发功能安全的流程方法 |
CN111245676A (zh) * | 2020-01-06 | 2020-06-05 | 上海丰蕾信息科技有限公司 | 通信协议可信性验证装置 |
CN113049948A (zh) * | 2019-07-01 | 2021-06-29 | 成都奥卡思微电科技有限公司 | 基于外部引入逻辑电路的形式验证断言空泛性的纠正方法、存储介质和终端 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1928816A (zh) * | 2006-09-26 | 2007-03-14 | 武汉大学 | 嵌入式***软件的模型驱动与构件化开发方法 |
US20110041116A1 (en) * | 2009-08-14 | 2011-02-17 | Gm Global Technology Operations, Inc. | Formal analysis driven based evolution of requirements specifications |
-
2011
- 2011-04-18 CN CN2011100967069A patent/CN102169458A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1928816A (zh) * | 2006-09-26 | 2007-03-14 | 武汉大学 | 嵌入式***软件的模型驱动与构件化开发方法 |
US20110041116A1 (en) * | 2009-08-14 | 2011-02-17 | Gm Global Technology Operations, Inc. | Formal analysis driven based evolution of requirements specifications |
Non-Patent Citations (1)
Title |
---|
宋利梅: "Esterel语言在嵌入式***开发中的研究及应用", 《中国优秀硕士学位论文》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109074299A (zh) * | 2016-04-28 | 2018-12-21 | 日立汽车***株式会社 | 车辆控制***验证装置、车辆控制***以及车辆控制***验证方法 |
CN109389407A (zh) * | 2017-08-09 | 2019-02-26 | 华东师范大学 | 一种汽车电子产品功能安全的保证及验证方法 |
CN109389407B (zh) * | 2017-08-09 | 2022-04-05 | 华东师范大学 | 一种汽车电子产品功能安全的保证及验证方法 |
CN109933309A (zh) * | 2019-03-06 | 2019-06-25 | 上海工业控制安全创新科技有限公司 | 机器学习算法应用于汽车软件开发功能安全的流程方法 |
CN113049948A (zh) * | 2019-07-01 | 2021-06-29 | 成都奥卡思微电科技有限公司 | 基于外部引入逻辑电路的形式验证断言空泛性的纠正方法、存储介质和终端 |
CN113049948B (zh) * | 2019-07-01 | 2022-09-02 | 成都奥卡思微电科技有限公司 | 基于外部引入逻辑电路的形式验证断言空泛性的纠正方法、存储介质和终端 |
CN111245676A (zh) * | 2020-01-06 | 2020-06-05 | 上海丰蕾信息科技有限公司 | 通信协议可信性验证装置 |
CN111245676B (zh) * | 2020-01-06 | 2022-03-04 | 上海丰蕾信息科技有限公司 | 通信协议可信性验证装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106528100B (zh) | 用于安全关键软件开发的基于模型的技术和过程的***和方法 | |
US20190179727A1 (en) | Automatic setting of multitasking configurations for a code-checking system | |
Rana et al. | Increasing efficiency of iso 26262 verification and validation by combining fault injection and mutation testing with model based development | |
Güdemann et al. | Probabilistic model-based safety analysis | |
CN104317713A (zh) | 一种基于模板的自动化测试工具及方法 | |
CN102169458A (zh) | 汽车电控部件的软件正确性验证***及其验证方法 | |
CN107045477B (zh) | 一种可进行多维度检测的质量评估平台 | |
KR20210004656A (ko) | 차량 기능 테스트 장치 및 그 제어 방법 | |
US20090089757A1 (en) | Configurable Web Services System and a Method to Detect Defects in Software Applications | |
Abdulkhaleq et al. | A software safety verification method based on system-theoretic process analysis | |
CN111679964B (zh) | 基于边界模型检测技术的微内核操作***接口的形式化验证方法 | |
KR20140088963A (ko) | 애플리케이션 개발을 위한 런타임 에러 테스팅 시스템 및 방법 | |
Khalid | Towards an automated tool for software testing and analysis | |
Kim | SW FMEA for ISO-26262 software development | |
Elmqvist et al. | Safety-oriented design of component assemblies using safety interfaces | |
Oveisi et al. | A new approach to promote safety in the software life cycle | |
CN102193556B (zh) | 汽车电子器件中断安全隐患检测***及其检测方法 | |
Matsubara et al. | Model checking with program slicing based on variable dependence graphs | |
Bahig et al. | Formal verification framework for automotive UML designs | |
Höfig et al. | MetaFMEA-A framework for reusable FMEAs | |
Hwang et al. | Black-box testing tool of railwaysignalling system software with a focus on user convenience | |
Park et al. | Method of fault injection for medical device based on ISO 26262 | |
Miranda et al. | Using simulink design verifier for automatic generation of requirements-based tests | |
Chockler et al. | Validation of evolving software | |
Gabor | Software fault injection and localization in embedded systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110831 |