×

嵌入式关键并行C程序中运行时错误的静态分析。 (英语) Zbl 1239.68021号

Barthe,Gilles(编辑),《编程语言和系统》。2011年3月26日至4月3日,在德国萨尔布吕肯举行的第20届欧洲编程研讨会(ESOP 2011),是欧洲软件理论与实践联合会议(ETAPS 2011)的一部分。诉讼程序。柏林:施普林格出版社(ISBN 978-3-642-19717-8/pbk)。计算机科学讲座笔记6602398-418(2011)。
摘要:我们通过抽象解释进行静态分析,以检查并行C程序中的运行时错误。继我们对Asterée的研究之后,我们将重点放在没有递归或动态内存分配的嵌入式关键程序上,但将分析扩展到一组静态线程。我们的方法依次在每个线程上迭代略微修改的非并行分析,直到线程干扰稳定。我们证明了该方法在顺序一致语义和合理的弱一致记忆语义方面的可靠性。然后,我们展示了如何通过对调度程序状态进行分区来考虑互斥和线程优先级。我们用我们的原型Thésée给出了一个实际程序的初步实验结果,并证明了我们方法的可扩展性。
关于整个系列,请参见[Zbl 1213.68027号].

MSC公司:

68甲19 其他编程范式(面向对象、顺序、并发、自动等)
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] Adve,S.V.,Gharachorloo,K.:共享内存一致性模型:教程。IEEE组件。 29(12), 66–76 (1996) ·doi:10.1009/2.546611
[2] 航空无线电公司(ARINC)。ARINC 653,网址:http://www.arinc.com/
[3] Atig,M.F.,Bouajjani,A.,Burckhardt,S.,Musuvathi,M.:关于弱记忆模型的验证问题。地址:第37届ACM SIGACT/SIGPLAN Symp。关于进步原则。兰格,第7-18页。ACM,纽约(2010年)·Zbl 1312.68050号
[4] Bertrane,J.、Cousot,P.、Cousot,R.、Feret,J.,Mauborgne,L.、Miné,A.、Rival,X.:通过抽象解释对航空航天软件进行静态分析和验证。收件人:AIAAInfotech@航空航天,第AIAA-2010-3385卷,第1-38页。美国航空航天学会(AIAA)(2010年4月)·doi:10.2514/6.2010-3385
[5] Blanchet,B.,Cousot,P.,Cousot,R.,Feret,J.,Mauborgne,L.,Miné,A.,Monniaux,D.,Rival,X.:大型安全关键软件的静态分析器。In:ACM SIGPLAN程序配置。语言设计与实施,第196-207页。ACM,纽约(2003)·Zbl 1026.68514号
[6] Carré,J.-L.,Hymans,C.:从单线程到多线程:一种高效的静态分析算法。技术报告arXiv:0910.5833v1,EADS(2009年10月)
[7] 库索,P.,库索,R.:抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型。收录:第四交响乐团。程序原则。兰格,第238-252页。ACM,纽约(1977年)
[8] 库索,P.,库索,R.:并行程序的不变性证明方法和分析技术。In:自动程序。《施工技术》,第12章,第243-271页。麦克米伦,纽约(1984)
[9] de Roever,W.-P.,de Boer,F.,Hanneman,U.,Hooman,J.,Lakhnech,Y.,Poel,M.,Zwiers,J.:并发验证:合成和非合成方法简介。剑桥大学出版社,剑桥(2001)·Zbl 1009.68020号
[10] Delmas,D.,Souyris,J.:阿斯特雷:从研究到工业。收录:Riis Nielson,H.,Filé,G.(编辑)SAS 2007。LNCS,第4634卷,第437-451页。斯普林格,海德堡(2007)·doi:10.1007/978-3-540-74061-2_27
[11] Ferrara,P.:通过对记忆模型之前的事件的抽象解释进行静态分析。摘自:Beckert,B.,Hähnle,R.(编辑)TAP 2008。LNCS,第4966卷,第116-133页。斯普林格,海德堡(2008)·Zbl 1138.68448号 ·doi:10.1007/978-3-540-79124-9_9
[12] Godefroid,P.:并发系统验证的部分顺序方法——状态爆炸问题的方法。列日大学计算机科学系博士论文(1994年)·Zbl 1293.68005号
[13] Lamport,L.:证明多进程程序的正确性。IEEE传输。软件工程3(2),125–143(1977)·Zbl 0349.68006号 ·doi:10.1109/TSE.1977.229904
[14] Lamport,L.:分布式系统中的时间、时钟和事件顺序。ACM Comm.21(7),558–565(1978)·Zbl 0378.68027号 ·doi:10.1145/359545.359563
[15] Lamport,L.:如何制作一台正确执行多进程程序的多处理器计算机。IEEE传输。计算机28、690–691(1979)·兹伯利0419.68045 ·doi:10.1109/TC.1979.1675439
[16] Manson,J.、Pugh,B.、Adve,S.V.:Java内存模型。输入:第32届ACM SIGPLAN/SIGACT Symp。程序原则。兰格,第378-391页。ACM,纽约(2005)·Zbl 1369.68079号
[17] Miné,A.:八角形抽象域。高阶和符号计算19(1),31–100(2006)·Zbl 1105.68069号 ·doi:10.1007/s10990-006-8609-1
[18] 尼尔森,F.,尼尔森,H.R.,汉金,C.:程序分析原理。斯普林格,海德堡(1999)·Zbl 0932.68013号 ·doi:10.1007/978-3-662-03811-6
[19] Owicki,S.,Gries,D.:并行程序的公理证明技术I.信息学报6(4),319-340(1976)·Zbl 0312.68011号 ·doi:10.1007/BF00268134
[20] Qadeer,S.,Rehof,J.:并发软件的上下文模型检查。收录:Halbwachs,N.,Zuck,L.D.(编辑)TACAS 2005。LNCS,第3440卷,第93-107页。斯普林格,海德堡(2005)·Zbl 1087.68598号 ·doi:10.1007/978-3-540-31980-17
[21] Reynolds,J.C.:共享变量并发的无颗粒语义。在:Lodaya,K.,Mahajan,M.(编辑)FSTTCS 2004。LNCS,第3328卷,第35-48页。斯普林格,海德堡(2004)·Zbl 1117.68449号 ·doi:10.1007/978-3-540-30538-54
[22] 萨拉斯瓦特,V.A.,贾加迪桑,R.,迈克尔,M.M.,冯·普劳恩,C.:记忆模型理论。收录:第12届ACM SIGPLAN Symp。并行程序的原理与实践。,第161-172页。ACM,纽约(2007)
[23] Steensgaard,B.:指向几乎线性时间内的分析。收录:第23届ACM SIGPLAN/SIGACT Symp。程序原则。兰格,第32-41页。ACM,纽约(1996)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。