使用CBMC的物联网数字组件的自动形式化验证

Qurat-ul-Ain, O. Hasan, K. Saghar
{"title":"使用CBMC的物联网数字组件的自动形式化验证","authors":"Qurat-ul-Ain, O. Hasan, K. Saghar","doi":"10.1109/HONET.2018.8551480","DOIUrl":null,"url":null,"abstract":"These days, internet of things (IoT) are being widely used in many safety-critical domains, like healthcare and transportation. Thus, their functional correctness is very important. However, simulation based analysis is based on sampling methods and thus their results are not complete and cannot be termed as accurate. Formal verification has been recently proposed to verify the digital components of IoT devices and thus overcome the incompleteness issues of simulation. However, formal verification process requires manual development of a formal model of the given circuit and its desired properties. Moreover, the verification of the relationship between the formally specified model and its properties sometimes also requires manual interventions. These manual efforts can be quite cumbersome while verifying large systems and thus make formal verification of IoT devices somewhat infeasible for industrial usage. To overcome these limitations, we present a tool chain to automatically formally verify digital components of IoT devices, which are usually expressed in the Verilog language. The proposed methodology primarily leverages upon the strong verification support for the C language. The idea is to convert the given Verilog code and its properties to C language and use bounded model checking to verify the obtained C code. The formally verified C code is then converted back to Verilog to facilitate circuit design steps i.e., synthesis, timing analysis etc., and thus continue with the regular digital system design flow. For illustration, we present the verification of several widely used components of IoT devices, including an ALU and a 64-bit processor, which are fairly complex and to the best of our knowledge have never been formally verified automatically before.","PeriodicalId":161800,"journal":{"name":"2018 15th International Conference on Smart Cities: Improving Quality of Life Using ICT & IoT (HONET-ICT)","volume":"3 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Automatic Formal Verification of Digital Components of IoTs Using CBMC\",\"authors\":\"Qurat-ul-Ain, O. Hasan, K. Saghar\",\"doi\":\"10.1109/HONET.2018.8551480\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"These days, internet of things (IoT) are being widely used in many safety-critical domains, like healthcare and transportation. Thus, their functional correctness is very important. However, simulation based analysis is based on sampling methods and thus their results are not complete and cannot be termed as accurate. Formal verification has been recently proposed to verify the digital components of IoT devices and thus overcome the incompleteness issues of simulation. However, formal verification process requires manual development of a formal model of the given circuit and its desired properties. Moreover, the verification of the relationship between the formally specified model and its properties sometimes also requires manual interventions. These manual efforts can be quite cumbersome while verifying large systems and thus make formal verification of IoT devices somewhat infeasible for industrial usage. To overcome these limitations, we present a tool chain to automatically formally verify digital components of IoT devices, which are usually expressed in the Verilog language. The proposed methodology primarily leverages upon the strong verification support for the C language. The idea is to convert the given Verilog code and its properties to C language and use bounded model checking to verify the obtained C code. The formally verified C code is then converted back to Verilog to facilitate circuit design steps i.e., synthesis, timing analysis etc., and thus continue with the regular digital system design flow. For illustration, we present the verification of several widely used components of IoT devices, including an ALU and a 64-bit processor, which are fairly complex and to the best of our knowledge have never been formally verified automatically before.\",\"PeriodicalId\":161800,\"journal\":{\"name\":\"2018 15th International Conference on Smart Cities: Improving Quality of Life Using ICT & IoT (HONET-ICT)\",\"volume\":\"3 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2018-10-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2018 15th International Conference on Smart Cities: Improving Quality of Life Using ICT & IoT (HONET-ICT)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/HONET.2018.8551480\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 15th International Conference on Smart Cities: Improving Quality of Life Using ICT & IoT (HONET-ICT)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HONET.2018.8551480","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

如今,物联网(IoT)被广泛应用于许多安全关键领域,如医疗保健和交通运输。因此,它们的功能正确性非常重要。然而,基于模拟的分析是基于抽样方法,因此它们的结果是不完整的,不能称为准确的。最近提出了形式验证来验证物联网设备的数字组件,从而克服模拟的不完整性问题。然而,正式验证过程需要手工开发给定电路及其所需属性的正式模型。此外,验证正式指定的模型与其属性之间的关系有时也需要人工干预。在验证大型系统时,这些手动工作可能相当麻烦,因此对物联网设备进行正式验证在工业用途上有些不可行的。为了克服这些限制,我们提出了一个工具链来自动正式验证物联网设备的数字组件,这些组件通常用Verilog语言表示。所建议的方法主要利用对C语言的强大验证支持。其思想是将给定的Verilog代码及其属性转换为C语言,并使用有界模型检查来验证获得的C代码。然后将经过正式验证的C代码转换回Verilog,以方便电路设计步骤,即合成,时序分析等,从而继续进行常规数字系统设计流程。为了说明,我们提出了对物联网设备的几个广泛使用的组件的验证,包括ALU和64位处理器,这些组件相当复杂,据我们所知,以前从未正式自动验证过。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Automatic Formal Verification of Digital Components of IoTs Using CBMC
These days, internet of things (IoT) are being widely used in many safety-critical domains, like healthcare and transportation. Thus, their functional correctness is very important. However, simulation based analysis is based on sampling methods and thus their results are not complete and cannot be termed as accurate. Formal verification has been recently proposed to verify the digital components of IoT devices and thus overcome the incompleteness issues of simulation. However, formal verification process requires manual development of a formal model of the given circuit and its desired properties. Moreover, the verification of the relationship between the formally specified model and its properties sometimes also requires manual interventions. These manual efforts can be quite cumbersome while verifying large systems and thus make formal verification of IoT devices somewhat infeasible for industrial usage. To overcome these limitations, we present a tool chain to automatically formally verify digital components of IoT devices, which are usually expressed in the Verilog language. The proposed methodology primarily leverages upon the strong verification support for the C language. The idea is to convert the given Verilog code and its properties to C language and use bounded model checking to verify the obtained C code. The formally verified C code is then converted back to Verilog to facilitate circuit design steps i.e., synthesis, timing analysis etc., and thus continue with the regular digital system design flow. For illustration, we present the verification of several widely used components of IoT devices, including an ALU and a 64-bit processor, which are fairly complex and to the best of our knowledge have never been formally verified automatically before.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信