Sound formal verification of linux's USB BP keyboard driver

NASA Formal Methods(2012)

引用 22|浏览0
暂无评分
摘要
Case studies on formal software verification can be divided into two categories: while (i) unsound approaches may miss errors or report false-positive alarms due to coarse abstractions, (ii) sound approaches typically do not handle certain programming constructs like concurrency and/or suffer from scalability issues. This paper presents a case study on successfully verifying the Linux USB BP keyboard driver. Our verification approach is (a) sound, (b) takes into account dynamic memory allocation, complex API rules and concurrency, and (c) is applied on a real kernel driver which was not written with verification in mind. We employ VeriFast, a software verifier based on separation logic. Besides showing that it is possible to verify this device driver, we identify the parts where the verification went smoothly and the parts where the verification approach requires further research to be carried out.
更多
查看译文
关键词
sound formal verification,real kernel driver,formal software verification,usb bp keyboard driver,linux usb bp keyboard,sound approach,device driver,account dynamic memory allocation,unsound approach,case study,verification approach,software verifier
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要