Numerical static analysis of interrupt-driven programs via sequentialization

Xueguang Wu, Liqian Chen, A. Miné, Wei Dong, Ji Wang
{"title":"Numerical static analysis of interrupt-driven programs via sequentialization","authors":"Xueguang Wu, Liqian Chen, A. Miné, Wei Dong, Ji Wang","doi":"10.1109/EMSOFT.2015.7318260","DOIUrl":null,"url":null,"abstract":"Embedded software often involves intensive numerical computations and thus can contain a number of numerical runtime errors. The technique of numerical static analysis is of practical importance for checking the correctness of embedded software. However, most of the existing approaches of numerical static analysis consider sequential programs, while interrupts are a commonly used technique that introduces concurrency in embedded systems. To this end, a numerical static analysis approach is desired for embedded software with interrupts. In this paper, we propose a sound numerical static analysis approach specifically for interrupt-driven programs based on sequentialization techniques. A key benefit of using sequentialization is the ability to leverage the power of the state-of-the-art analysis and verification techniques for sequential programs to analyze interrupt-driven programs. To be more clear, we first propose a sequentialization algorithm to sequentialize interrupt-driven programs into non-deterministic sequential programs according to the semantics of interrupts. On this basis, we leverage the power of numerical abstract interpretation to analyze numerical properties of the sequentialized programs. Moreover, to improve the analysis precision, we design specific abstract domains to analyze sequentialized interrupt-driven programs by considering their specific features. Finally, we present encouraging experimental results obtained by our prototype implementation.","PeriodicalId":297297,"journal":{"name":"2015 International Conference on Embedded Software (EMSOFT)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-10-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"11","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 International Conference on Embedded Software (EMSOFT)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/EMSOFT.2015.7318260","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 11

Abstract

Embedded software often involves intensive numerical computations and thus can contain a number of numerical runtime errors. The technique of numerical static analysis is of practical importance for checking the correctness of embedded software. However, most of the existing approaches of numerical static analysis consider sequential programs, while interrupts are a commonly used technique that introduces concurrency in embedded systems. To this end, a numerical static analysis approach is desired for embedded software with interrupts. In this paper, we propose a sound numerical static analysis approach specifically for interrupt-driven programs based on sequentialization techniques. A key benefit of using sequentialization is the ability to leverage the power of the state-of-the-art analysis and verification techniques for sequential programs to analyze interrupt-driven programs. To be more clear, we first propose a sequentialization algorithm to sequentialize interrupt-driven programs into non-deterministic sequential programs according to the semantics of interrupts. On this basis, we leverage the power of numerical abstract interpretation to analyze numerical properties of the sequentialized programs. Moreover, to improve the analysis precision, we design specific abstract domains to analyze sequentialized interrupt-driven programs by considering their specific features. Finally, we present encouraging experimental results obtained by our prototype implementation.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
串行中断驱动程序的静态数值分析
嵌入式软件通常涉及大量的数值计算,因此可能包含许多数值运行时错误。数值静态分析技术对于检验嵌入式软件的正确性具有重要的实际意义。然而,大多数现有的数值静态分析方法都考虑顺序程序,而中断是嵌入式系统中引入并发性的常用技术。为此,需要对具有中断的嵌入式软件进行数值静态分析。在本文中,我们提出了一种完善的数值静态分析方法,专门针对基于顺序化技术的中断驱动程序。使用串行化的一个关键好处是能够利用串行程序的最先进的分析和验证技术来分析中断驱动的程序。为了更清楚,我们首先提出了一种排序算法,根据中断的语义将中断驱动程序排序为非确定性顺序程序。在此基础上,我们利用数值抽象解释的力量来分析序列化程序的数值性质。此外,为了提高分析精度,我们设计了特定的抽象域来分析串行中断驱动程序的具体特征。最后,我们给出了我们的原型实现所获得的令人鼓舞的实验结果。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Scalable scheduling of energy control systems Towards an industrial use of sound static analysis for the verification of concurrent embedded avionics software Exp-HE: a family of fast exponentiation algorithms resistant to SPA, fault, and combined attacks Verifying network performance of cyber-physical systems with multiple runtime configurations Bounded error flowpipe computation of parameterized linear systems
×
引用
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