Automatic Formal Verification of Digital Components of IoTs Using CBMC

Qurat-ul-Ain, O. Hasan, K. Saghar
{"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}
引用次数: 0

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.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
使用CBMC的物联网数字组件的自动形式化验证
如今,物联网(IoT)被广泛应用于许多安全关键领域,如医疗保健和交通运输。因此,它们的功能正确性非常重要。然而,基于模拟的分析是基于抽样方法,因此它们的结果是不完整的,不能称为准确的。最近提出了形式验证来验证物联网设备的数字组件,从而克服模拟的不完整性问题。然而,正式验证过程需要手工开发给定电路及其所需属性的正式模型。此外,验证正式指定的模型与其属性之间的关系有时也需要人工干预。在验证大型系统时,这些手动工作可能相当麻烦,因此对物联网设备进行正式验证在工业用途上有些不可行的。为了克服这些限制,我们提出了一个工具链来自动正式验证物联网设备的数字组件,这些组件通常用Verilog语言表示。所建议的方法主要利用对C语言的强大验证支持。其思想是将给定的Verilog代码及其属性转换为C语言,并使用有界模型检查来验证获得的C代码。然后将经过正式验证的C代码转换回Verilog,以方便电路设计步骤,即合成,时序分析等,从而继续进行常规数字系统设计流程。为了说明,我们提出了对物联网设备的几个广泛使用的组件的验证,包括ALU和64位处理器,这些组件相当复杂,据我们所知,以前从未正式自动验证过。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
DronAID : A Smart Human Detection Drone for Rescue HONET-ICT 2018 Index Neuron Simulation; Simulating Neuron through Agent Based Modeling A Very Low Cost, Open, Wireless, Internet of Things (IoT) Air Quality Monitoring Platform Two Dimensional Materials based Heterostructures for Photosensing Applications
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1