×

具有动态优先级的嵌入式实时并发软件的静态分析。 (英语) Zbl 1412.68042号

Mastroeni,Isabella(编辑),第六届数字和符号抽象域国际研讨会论文集,NSAD 2016,英国爱丁堡,2016年9月11日。阿姆斯特丹:爱思唯尔。电子。注释Theor。计算。科学。331, 3-39 (2017).
摘要:在之前的工作中,我们通过抽象解释开发了一个可靠的静态分析,以检查并发程序中是否存在运行时错误,重点是由共享内存中的一组固定线程组成的嵌入式C程序。该方法是线程模块化的:它独立地考虑每个线程,根据其他线程的影响抽象分析它们,即所谓的干扰,这些干扰也是在分析线程时自动推断出来的。因此,分析将在一系列轮中进行,重新分析所有线程,收集越来越多的干扰,直到稳定为止。我们证明了这种方法是合理的,并且涵盖了所有可能的线程穿插。该分析被集成到阿斯特雷工业级静态分析仪中,该分析仪部署在航空电子和汽车行业。
在本文中,我们考虑了程序在基于优先级的实时调度程序下运行的更具体的情况,这在嵌入式系统中经常发生。在这样的程序中,优先级较高的线程不能被优先级较低的线程抢占(除非明确等待某些资源)。程序员利用此属性来减少在保护关键部分时对锁的依赖。我们展示了如何通过划分来细化分析,以考虑实时假设,消除虚假交错,并在依赖优先级的程序上获得精度。我们的分析特别支持动态优先级:我们处理程序对优先级的显式修改,以及通过优先级上限协议的隐式修改。
我们用一种理想化的语言来正式说明我们的结构。在前面的工作之后,我们首先提供了一个完整的线程模块表示形式的具体语义,用于安全属性,然后展示了如何应用经典抽象来获得一个有效的静态分析器,能够检测所有运行时错误、数据面以及死锁。最后,我们简要讨论了我们在Asterée分析器中的实现和正在进行的实验,结果目前仅限于小程序。
关于整个系列,请参见[Zbl 1375.68021号].

理学硕士:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
68问题55 计算理论中的语义学
60年第68季度 规范和验证(程序逻辑、模型检查等)
68问题85 并发和分布式计算的模型和方法(进程代数、互模拟、转换网等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] AUTOSAR(自动开放系统体系结构)
[2] DO-178C:机载系统和设备认证中的软件考虑因素,2011年。
[3] Adve,S.V.公司。;Hill,M.D.,《弱排序——一个新定义》,Proc。第17届ACM SIGARCH交响乐团。公司。架构(architecture)。(ISCA’90),第18卷,2-14,(1990年6月),ACM
[4] 航空无线电公司ARINC 653
[5] 阿提格,M.F。;Bouajjani,A。;伯克哈特,S。;Musuvathi,M.,关于弱内存模型的验证问题,(POPL'10,(2010年1月),ACM),7-18·Zbl 1312.68050号
[6] 伯特兰,J。;库索,P。;库索特,R。;Feret,J。;Mauborgne,L。;米内,A。;竞争对手X,通过抽象解释对航空航天软件进行静态分析和验证,(AIAAInfotech@航空航天,AIAA,第2010-3385卷,(2010年4月),AIAA(美国航空航天学会),1-38
[7] Boehm,H.-J.,《如何用“良性”数据竞赛错误编译程序》(《第三届USENIX并行性热点会议论文集》,HotPar’11,(2011),USENIX协会),3
[8] Bourdoncle,F.,《带加宽的有效混沌迭代策略》,(《编程形式方法及其应用国际会议论文集》(FMPA’93),LNCS,第735卷,(1993年6月),Springer),128-141
[9] 蔡,Y。;Chan,W.K.,《Magiclock:大规模多线程程序中潜在死锁的可扩展检测》,IEEE Trans。柔和。工程师,40,266-281,(2014)
[10] Carré,J.-L。;Hymans,C.,《从单线程到多线程:一种有效的静态分析算法》(2009年10月),EADS,技术报告
[11] 库索特,P.,通过抽象解释对过渡系统语义层次的构造性设计,理论计算机科学,277,1-2,47-103,(2002)·Zbl 0996.68119号
[12] 库索特,P。;库索特,R.,《抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型》,(POPL’77,(1977年1月),ACM),238-252
[13] 库索特,P。;Cousot,R.,并行程序的不变性证明方法和分析技术,(自动程序构造技术,(1984),美国纽约麦克米伦出版社),243-271,第12章
[14] 德尔马斯,D。;Souyris,J.,Asterée:从研究到工业,(SAS'07,LNCS,第4634卷,(2007年8月),Springer),437-451
[15] 弗拉纳根,C。;Qadeer,S.,《线程模块模型检查》(SPIN’03,LNCS,第2648卷,(2003),Springer),213-224·Zbl 1023.68529号
[16] Godefroid,P.,并行系统验证的部分序方法——状态爆炸问题的一种方法,(1994),列日大学计算机科学系,博士论文
[17] IEEE计算机协会和开放团体。便携式操作系统接口(POSIX).应用程序接口(API)修改件2:线程扩展(C语言),(1995),技术报告,ANSI/IEEE Std.1003.1c-1995
[18] Jeannet,B.,并发程序的关系过程间验证,软件与系统建模,12,2,285-306,(2013)
[19] Jones,C.B.,《包括干扰概念的计算机程序开发方法》(1981年6月),牛津大学博士论文
[20] Kästner,D。;威廉·S。;Nenova,S。;库索特,P。;库索,R。;Feret,J。;Mauborgne,L.公司。;米尼,A。;Rival,X.,Asterée:证明没有运行时错误,(嵌入式实时软件和系统程序(ERTS2 2010),(2010年5月)),9
[21] 利维斯,P。;马登,S。;Polastre,J。;Szewczyk,R。;怀特豪斯,K。;Woo,A。;盖伊,D。;希尔,J。;M.威尔士。;布鲁尔,E。;Culler,D.,《Tinyos:传感器网络操作系统》,115-148,(2005),施普林格-柏林-海德堡出版社
[22] Malkis,A。;Podelski,A。;Rybalchenko,A.,《线程模块验证是笛卡尔抽象解释》(ICTAC’06,LNCS,第4281卷,(2006)),183-197·Zbl 1168.68423号
[23] Mauborgne,L。;Rival,X.,《基于抽象解释的静态分析器中的迹线划分》,(ESOP’05,LNCS,第3444卷,(2005),Springer),5-20·Zbl 1108.68427号
[24] Miné,A.,嵌入式关键并行C程序中运行时错误的静态分析,(第20届欧洲编程交响乐会(ESOP’11),LNCS,第6602卷,(2011年3月),Springer),398-418·Zbl 1239.68021号
[25] Miné,A.,通过对顺序和多线程程序的抽象解释进行静态分析,(MOVEP’12,(2012年12月),35-48
[26] Miné,A.,通过抽象解释进行关系线程-模块静态值分析,(第15届国际验证、模型检查和抽象解释会议(VMCAI'14),LNCS,第8318卷,(2014),Springer),39-58·Zbl 1428.68119号
[27] 米内,A。;Delmas,D.,《面向并行嵌入式航空电子软件验证的静态声音分析的工业应用》,(第十五届嵌入式软件国际会议(EMSOFT’15),(2015年10月),IEEE CS出版社),65-74
[28] 米内,A。;Mauborgne,L。;对手X。;Feret,J。;库索特,P。;Kästner,D。;威廉·S。;Ferdinand,C.,《将静态分析提升到下一个水平:用astrée证明不存在运行时错误和数据竞争》,(嵌入式实时软件和系统程序(ERTS2 2016),(2016年1月),570-579
[29] Monniaux,D.,《设备驱动程序和智能控制器的验证:案例研究》(第七届ACM&IEEE嵌入式软件国际会议(EMSOFT'07),(2007年10月),ACM),30-36
[30] 奈克,M。;帕克,C.-S。;Sen,K。;Gay,D.,有效静态死锁检测,(第31届国际软件工程会议论文集,ICSE'09,(2009),IEEE计算机学会),386-396
[31] Ouadjaout,A。;米内,A。;拉萨拉,N。;Badache,N.,通过对tinyos中设备驱动程序功能属性的抽象解释进行静态分析,系统与软件杂志(JSS),120114-132,(2016)
[32] 卡迪尔,S。;Rehof,J.,并发软件的上下文模型检查,(第11届系统构建和分析工具和算法国际会议(TACAS'05),LNCS,第3440卷,(2005),Springer),93-107·Zbl 1087.68598号
[33] 卡迪尔,S。;Wu,D.,KISS:保持简单有序,(ACM SIGPLAN编程语言设计与实现会议(PLDI’04),(2004年6月),ACM),14-24
[34] Reynolds,J.C.,《走向共享变量并发的无颗粒语义》,(软件技术和理论计算机科学基础年度会议(FSTTCS’04),LNCS,第3328卷,(2004年12月),Springer),35-48·Zbl 1117.68449号
[35] 医学博士施瓦兹。;塞德尔,H。;沃达尼,V。;Lammich,P。;Müller-Olm,M.,通过优先级上限协议同步的中断驱动程序的静态分析,SIGPLAN Not。,46,193-104(2011年1月)·Zbl 1284.68199号
[36] 苏珊娜,T。;Miné,A.,《从数组域到基于存储缓冲区的内存模型下的抽象解释》,(第23届国际静态分析研讨会(SAS’16),LNCS,第9837卷,(2016年9月),Springer),469-488
[37] 沃达尼,V。;Goblint,V.Vene,《路径敏感数据种族分析》,Annales Univ.Sci。布达佩斯教派。公司。,30, (2009) ·Zbl 1199.68107号
[38] 沃特金斯,C.B。;Walter,R.,《从联邦航空电子体系结构过渡到集成模块化航空电子系统》,DASC’07,第2.A.1卷,1-10,(2007年10月),IEEE
[39] Wu,W。;Chen,L。;米内,A。;Dong,D。;Wang,J.,通过序列化对中断驱动程序进行数值静态分析,ACM嵌入式计算系统事务(TECS),15,70,26,(2016年8月)
[40] 张,H。;青木,T。;Chiba,Y.,《基于自旋的OSEK/VDX应用程序检查方法》,(安全关键系统的正式技术:第三次国际研讨会,FTSCS 2014,(2015),Springer),239-255
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。