Refining assembly code static analysis for the Intel MCS-51 microcontroller

T. Reinbacher, Jörg Brauer, M. Horauer, Bastian Schlich
{"title":"Refining assembly code static analysis for the Intel MCS-51 microcontroller","authors":"T. Reinbacher, Jörg Brauer, M. Horauer, Bastian Schlich","doi":"10.1109/SIES.2009.5196212","DOIUrl":null,"url":null,"abstract":"Embedded systems are ubiquitous and their software is in most cases the elaborate part of the system. The use of formal verification methods such as model checking was proposed to verify these software systems. One disadvantage of model checking is that it suffers from the state-explosion problem. [mc]square combines model checking and static source code analysis at assembly code level to alleviate this downside. This approach allows considering particular features of the targeted microcontroller. In this paper, a novel data-flow analysis termed register bank analysis is presented. This analysis is an extension of a reaching definitions analysis to cope with register bank switching as performed by the Intel MCS-51 target. An informal and a formal description of the register bank analysis is given and an example to highlight the effectiveness of our approach is presented. Moreover, four remaining challenges in assembly code static analysis are pointed out.","PeriodicalId":133325,"journal":{"name":"2009 IEEE International Symposium on Industrial Embedded Systems","volume":"28 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2009-07-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"7","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2009 IEEE International Symposium on Industrial Embedded Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SIES.2009.5196212","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 7

Abstract

Embedded systems are ubiquitous and their software is in most cases the elaborate part of the system. The use of formal verification methods such as model checking was proposed to verify these software systems. One disadvantage of model checking is that it suffers from the state-explosion problem. [mc]square combines model checking and static source code analysis at assembly code level to alleviate this downside. This approach allows considering particular features of the targeted microcontroller. In this paper, a novel data-flow analysis termed register bank analysis is presented. This analysis is an extension of a reaching definitions analysis to cope with register bank switching as performed by the Intel MCS-51 target. An informal and a formal description of the register bank analysis is given and an example to highlight the effectiveness of our approach is presented. Moreover, four remaining challenges in assembly code static analysis are pointed out.
精制汇编代码静态分析的英特尔MCS-51微控制器
嵌入式系统无处不在,其软件在大多数情况下是系统的复杂部分。提出了使用模型检验等形式化验证方法对这些软件系统进行验证。模型检验的一个缺点是存在状态爆炸问题。[mc]square在汇编代码级别结合了模型检查和静态源代码分析来减轻这个缺点。这种方法允许考虑目标微控制器的特定功能。本文提出了一种新的数据流分析方法——寄存器库分析。此分析是对达到定义分析的扩展,以处理由Intel MCS-51目标执行的寄存器银行切换。给出了寄存器库分析的非正式描述和正式描述,并给出了一个例子来突出我们的方法的有效性。并指出了汇编代码静态分析中存在的四个问题。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
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学术文献互助群
群 号:604180095
Book学术官方微信