×

声音并发跟踪用于在线监测。 (英语) Zbl 07750356号

Caltais,Georgiana(编辑)等人,模型检查软件。第29届国际研讨会,2023年4月26日至27日,法国巴黎,SPIN 2023。诉讼程序。查姆:斯普林格。莱克特。注释计算。科学。13872, 59-80 (2023).
概要:监视并发程序通常依赖于收集抽象程序执行的跟踪。然而,现有的针对一般行为属性的方法要么没有针对在线监控进行定制,要么不再维护,要么实现了通常会导致不合理结果的天真工具。我们首先定义跟踪何时代表并发执行的概念。然后,我们提出了一种非阻塞矢量时钟算法来动态收集反映事件之间部分顺序的声音并发跟踪。此外,代表性跟踪中的并发事件对从总顺序形式主义合成的监控器造成了可靠性问题。为此,我们从监控器中提取因果依赖关系,以检查跟踪是否具有所需的顺序,并定义条件以决定在运行时何时可以监视收集的跟踪。我们在一个工具FACTS中实现了我们的贡献,该工具将程序编译为Java字节码,构造声音代表性跟踪,并向监视器发出非可监控跟踪的警告。我们评估我们的工作,并将其与现有方法进行比较。
关于整个系列,请参见[Zbl 1522.68021号]。

理学硕士:

68问题85 并发和分布式计算的模型和方法(进程代数、互模拟、转换网等)
68甲19 其他编程范式(面向对象、顺序、并发、自动等)
60年第68季度 规范和验证(程序逻辑、模型检查等)
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] 有限状态验证主页的属性规范中的模式。https://matthewbdwyer.github.io/psp/patterns.html
[2] Akka文件。http://akka.io/docs/ (2022)
[3] JSR-133:Java内存模型和线程规范修订版(2004)。http://jcp.org/jsr/detail/133.jsp
[4] Adve、SV;Gharachorloo,K.,《共享内存一致性模型:教程》,《计算机》,第29、12、66-76页(1996年)·doi:10.1109/2.546611
[5] Agarwal,A.,Garg,V.K.:共享内存系统中相关事件的高效依赖性跟踪。摘自:第二十四届ACM分布式计算原理研讨会论文集,第19-28页。PODC 2005,美国纽约州纽约市计算机协会(2005)。数字对象标识代码:10.1145/1073814.1073818·Zbl 1314.68363号
[6] Agha,G.:参与者:分布式系统中的并发计算模型。麻省理工学院出版社,马萨诸塞州剑桥,美国(1986年)
[7] 阿哈迈德,M。;Neiger,G。;伯恩斯,JE;科利,P。;胡托,普华永道,因果记忆:定义,实现和编程,分布式计算。,9, 1, 37-49 (1995) ·Zbl 1448.68057号 ·doi:10.1007/BF01784241
[8] Allan,C.等人:向AspectJ添加带有自由变量的跟踪匹配。摘自:第20届ACM SIGPLAN面向对象编程、系统、语言和应用年会论文集,第345-364页。OOPSLA 2005,ACM(2005)。doi:10.1145/1094811.1094839
[9] Attard,D.P.,Cassar,I.,Francalanza,A.,Aceto,L.,Ingólfsdóttir,A.:基于行动者的系统的运行时监控工具(2022)。https://www.um.edu.mt/library/oar/handle/123456789/23062
[10] Barringer,H.、Falcone,Y.、Havelund,K.、Reger,G.、Rydeheard,D.E.:量化事件自动机:面向表达性和高效的运行时监控器。2012年8月27日至31日,法国巴黎,第18届国际研讨会,FM 2012:正式方法。《议事录》,第68-84页(2012年)。doi:10.1007/978-3-642-32759-99·Zbl 1372.68154号
[11] Bartocci,E.,《第一届运行时验证国际竞赛:CRV 2014的规则、基准、工具和最终结果》,国际期刊Softw。技术工具。转让,21,1,31-70(2017)·doi:10.1007/s10009-017-0454-5
[12] Bartocci,E。;Falcone,Y。;Francalanza,A。;雷格尔,G。;Bartocci,E。;Falcone,Y.,《运行时验证简介》,运行时验证讲座,1-33(2018),Cham:Springer,Cham·doi:10.1007/978-3-319-75632-5_1
[13] Bauer,A.、Leucker,M.、Schallhart,C.:ITL和TLTL的运行时验证。ACM事务处理。柔和。工程方法。20(4), 1-64 (2011). doi:10.1145/2000799.2000800
[14] Bensalem,S。;Havelund,K。;乌尔,S。;Bin,E。;Wolfsthal,Y.,多线程程序的动态死锁分析,硬件和软件,验证和测试,208-223(2006),海德堡:施普林格·doi:10.1007/11678779_15
[15] 比安奇,FA;Margara,A。;Pezzè,M.,《测试并发软件系统的最新趋势调查》,IEEE Trans。软件工程,44,8,747-783(2018)·doi:10.10109/TTS.2017.2707089
[16] Blackburn,S.M.等人:DaCapo基准测试:java基准测试开发和分析。摘自:第21届ACM SIGPLAN面向对象编程系统、语言和应用年会论文集,第169-190页。OOPSLA 2006,ACM(2006)。doi:10.1145/1167473.1167488
[17] 博登,E。;亨德伦。;林,P。;欧·霍塔克。;Naeem,NA,协同运行时验证与跟踪匹配,J.Log。计算。,20, 3, 707-723 (2010) ·Zbl 1213.68365号 ·doi:10.1093/log.com/exn077
[18] Cain,H.W.,Lipasti,M.H.:使用矢量时钟验证序列一致性。摘自:《第十四届ACM并行算法和架构研讨会论文集》,第153-154页。SPAA 2002,美国纽约州纽约市计算机协会(2002)。数字对象标识代码:10.1145/564870.564897
[19] Cassar,I.,Francalanza,A.:关于为参与者系统实现面向监控器的编程框架。摘自:《综合形式方法——第十二届国际会议》,2016年6月1日至5日,冰岛雷克雅未克IFM 2016,会议记录,第176-192页(2016)。数字对象标识代码:10.1007/978-3-319-33693-012
[20] 陈,F。;罗什·G。;Damm,W。;Hermanns,H.,《参数和切片因果关系》,计算机辅助验证,240-253(2007),海德堡:施普林格·Zbl 1135.68468号 ·doi:10.1007/978-3-540-73368-3_27
[21] 陈,F。;罗什·G。;Halbwachs,N。;Zuck,LD,Java-MOP:面向监控的Java编程环境,《系统构建和分析的工具和算法》,546-550(2005),海德堡:斯普林格·Zbl 1087.68550号 ·doi:10.1007/978-3-540-31980-1_36
[22] Chen,F.,Serbanuta,T.F.,Rosu,G.:jPredictor:java的预测运行时分析工具。摘自:《第30届软件工程国际会议论文集》,第221-230页。ICSE 2008,计算机械协会,美国纽约州纽约市(2008)。数字对象标识代码:10.1145/1368088.1368119
[23] Colombo,C.,Pace,G.J.,Schneider,G.:LARVA-更安全地监控实时java程序(工具文件)。摘自:Hung,D.V.,Krishnan,P.(eds.)第七届IEEE软件工程和形式方法国际会议,SEFM 2009,越南河内,2009年11月23日至27日,第33-37页。IEEE计算机学会(2009)。doi:10.1109/SEFM.2009.13
[24] Dwyer,M.B.,Avrunin,G.S.,Corbett,J.C.:有限状态验证属性规范中的模式。摘自:《第21届国际软件工程会议论文集》,第411-420页。ICSE 1999,美国纽约州纽约市计算机机械协会(1999)。数字对象标识代码:10.1145/302405.302672
[25] El-Hokayem,A。;Falcone,Y。;哥伦比亚特区科伦坡。;Leucker,M.,我们可以监视所有多线程程序吗?,运行时验证,64-89(2018),查姆:施普林格,查姆·doi:10.1007/978-3-030-03769-7_6
[26] Falcone,Y.,Fernandez,J.,Mounier,L.:运行时可以验证和执行什么?国际期刊软件。技术工具。Transf公司。14(3), 349-382 (2012). doi:10.1007/s10009-011-0196-8
[27] Falcone,Y.、Havelund,K.、Reger,G.:《运行时验证教程》。在:工程可靠软件系统,第141-175页。IOS出版社(2013)
[28] Falcone,Y。;尼科维奇,D。;雷格尔,G。;托马,D。;Bartocci,E。;Majumdar,R.,第二届运行时验证国际竞赛,运行时验证,405-422(2015),Cham:Springer,Cham·doi:10.1007/978-3-319-23820-3_27
[29] Farzan,A.,Madhusudan,P.,Razavi,N.,Sorrentino,F.:预测并发程序中的空点解引用。摘自:《ACM SIGSOFT第20届软件工程基础国际研讨会论文集》,FSE 2012,美国纽约州纽约市计算机械协会(2012)。doi:10.1145/2393596.2393651
[30] Flanagan,C.,Freund,S.N.:原子化器:多线程程序的动态原子性检查器。SIGPLAN不是。39(1), 256-267 (2004). 数字对象标识代码:10.1145/982962.964023·Zbl 1325.68064号
[31] Flanagan,C.,Freund,S.N.:快速跟踪:高效精确的动态比赛检测。摘自:第30届ACM SIGPLAN编程语言设计与实现会议记录,第121-133页。PLDI 2009,美国纽约州纽约市计算机协会(2009)。doi:10.1145/1542476.1542490
[32] Gao,Q.,Zhang,W.,Chen,Z.,Zheng,M.,Qin,F.:第二次罢工:试图显示隐藏的并发类型状态错误。SIGPLAN不是。46(3), 239-250 (2011). 数字对象标识代码:10.1145/1961296.1950394
[33] 加斯丁,P。;Kuske,D.,Mazurkiewicz迹上局部时间逻辑的一致可满足性问题,信息计算。,208, 7, 797-816 (2010) ·Zbl 1195.68069号 ·doi:10.1016/j.ic.2009.12.003
[34] Harris,T.、Marlow,S.、Peyton-Jones,S.和Herlihy,M.:可组合内存事务。摘自:第十届ACM SIGPLAN并行编程原理与实践研讨会论文集,第48-60页。PPoPP 2005,美国纽约州纽约市计算机协会(2005)。doi:10.1145/1065944.1065952
[35] Herlihy,M.,Shavit,N.:《多处理器编程的艺术》,第1版。修订再版。摩根考夫曼出版社,美国加利福尼亚州旧金山(2012)
[36] Huang,J.,Luo,Q.,Rosu,G.:Gpredict:通用预测并发分析。参见:第37届IEEE/ACM国际软件工程会议,ICSE 2015,第1卷,第847-857页(2015)。doi:10.1109/ICSE.2015.96
[37] Huang,J.,Meredith,P.O.,Rosu,G.:具有控制流抽象的最大声音预测种族检测。摘自:第35届ACM SIGPLAN编程语言设计与实现会议记录。第337-348页。PLDI 2014,美国纽约州纽约市计算机协会(2014)。doi:10.1145/2594291.2594315
[38] Joshi,P.,Sen,K.:多线程java程序的预测类型状态检查。摘自:2008年第23届IEEE/ACM国际自动化软件工程会议记录,第288-296页。ASE 2008,IEEE计算机学会,美国(2008)。doi:10.1109/ASE.2008.39
[39] Joshi,Y.,Tchamgoue,G.M.,Fischmeister,S.:有损记录道上ITL的运行时验证。摘自:应用计算研讨会论文集(2017年)
[40] Kiczales,G。;Hilsdale,E。;胡古宁,J。;克尔斯滕,M。;Palm,J。;Griswold,WG,开始使用AspectJ,Commun。ACM,44,10,59-65(2001)·Zbl 0982.68552号 ·doi:10.1145/383845.383858
[41] Kupferman,O.,Y.Vardi,M.:安全特性的模型检查。形式方法系统。设计。19(3), 291-314 (2001). doi:10.1023/A:1011254632723·Zbl 0995.68061号
[42] Lamport:如何制作一台能正确执行多进程程序的多处理器计算机。IEEE传输。计算。C-28(9),690-691(1979)。doi:10.1109/TC.1979.1675439·Zbl 0419.68045号
[43] Lamport,L.:Dijkstra并发编程问题的新解决方案。Commun公司。ACM 17(8),453-455(1974)。doi:10.1145/361082.361093·Zbl 0281.68004号
[44] Lamport,L.:分布式系统中的时间、时钟和事件顺序。Commun公司。ACM 21(7),558-565(1978)。doi:10.1145/359545.359563·Zbl 0378.68027号
[45] Lea,D.:一个java fork/join框架。摘自:《ACM 2000 java Grande会议论文集》,2000年6月3日至5日,美国加利福尼亚州旧金山,第36-43页(2000)。doi:10.1145/337449.337465
[46] Lea,D.,Bloch,J.,Midkiff,S.,Holmes,D.、Bowbeer,J.、Peierls,T.:JSR-166:并发实用程序。https://www.jcp.org/en/jsr/detail?id=166
[47] Leucker,M。;Schallhart,C.,运行时验证简介,逻辑代数程序。,78, 5, 293-303 (2009) ·兹比尔1192.68433 ·doi:10.1016/j.jlap.2008.08.004
[48] Lodaya,K。;Weil,P.,代数中带级数运算的有理性,Inf.Compute。,171, 2, 269-293 (2001) ·Zbl 1005.68100号 ·doi:10.1006/inco.2001.3077
[49] Luo,Q.,Rosu,G.:EnforceMOP:多线程程序的运行时属性强制系统。摘自:《软件测试与分析国际研讨会论文集》(ISSTA2013),第156-166页。ACM(2013)。http://dl.acm.org/citation.cfm?doid=2483760.2483766
[50] Manna,Z.,Pnueli,A.:时间属性的层次结构(特邀论文,1989年)。摘自:第九届ACM分布式计算原理研讨会论文集,第377-410页。PODC 1990,美国纽约州纽约市计算机协会(1990)。doi:10.1145/93385.93442
[51] Manna,Z.,Pnueli,A.:无功系统的临时验证:安全。Springer-Verlag,纽约公司(1995年)。doi:10.1007/978-1-4612-4222-2·Zbl 1288.68169号
[52] Manson,J.、Pugh,W.、Adve,S.V.:java内存模型。摘自:第32届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集,第378-391页。POPL 2005,ACM(2005)。doi:10.1145/1040305.1040336·Zbl 1369.68079号
[53] Mathur,U.,Viswanathan,M.:《使用矢量时钟检查线性时间中的原子性》,第183-199页。美国纽约州纽约市计算机协会(2020年)。doi:10.1145/337336.3378475
[54] Mattern,F.:分布式系统的虚拟时间和全局状态。《并行和分布式算法》,第215-226页。北荷兰人(1988)
[55] Mazurkiewicz,A。;布劳尔,W。;Reisig,W。;Rozenberg,G.,跟踪理论,Petri网:与其他并发模型的应用和关系,278-324(1987),海德堡:Springer,Heidelberg·Zbl 0633.68051号 ·文件编号:10.1007/3-540-17906-2_30
[56] Meenakshi,B。;Ramanujam,R.,《关于分层消息传递系统的推理》,计算。语言系统。结构。,171-206年3月30日(2004年)·Zbl 1072.68067号 ·doi:10.1016/j.cl.2004.02.003
[57] 尼尔森,M。;普洛金,GD;Winskel,G.,Petri网,事件结构和域,第一部分,Theor。计算。科学。,13, 85-108 (1981) ·Zbl 0452.68067号 ·doi:10.1016/0304-3975(81)90112-2
[58] 贝利德,D。;Havelund,K。;Margaria,T。;格拉芙,S。;Larsen,KG,根据可监控性、模型、思维模式、元分析:什么、如何和为什么不?完善时间属性的安全性分类?,218-234(2019),查姆:斯普林格,查姆·Zbl 1519.68138号 ·doi:10.1007/978-3-030-22348-914
[59] Prokopec,A.等人:文艺复兴:JVM上并行应用程序的现代基准套件。摘自:2019年ACM SIGPLAN系统、编程、语言和应用国际会议论文集指南:人性化软件,第11-12页。2019年SPLASH Companion,美国纽约州纽约市计算机协会(2019年)。数字对象标识代码:10.1145/3359061.3362778
[60] 雷格尔,G。;克鲁兹,HC;Rydeheard,D。;拜尔,C。;Tinelli,C.,MarQ:使用QEA进行运行时监控,《系统构建和分析的工具和算法》,596-610(2015),海德堡:斯普林格,海德伯格·doi:10.1007/978-3-662-46681-0_55
[61] 雷格尔,G。;Hallé,S。;Falcone,Y。;Falcone,Y。;Sánchez,C.,第三届运行时验证国际竞赛,运行时验证,21-37(2016),Cham:Springer,Cham·doi:10.1007/978-3-319-46982-93
[62] Roemer,J.、Genç,K.、Bond,M.D.:SmartTrack:高效预测种族检测。摘自:第41届ACM SIGPLAN编程语言设计与实现会议记录,第747-762页。PLDI 2020,计算机械协会,美国纽约州纽约市(2020)。数字对象标识代码:10.1145/3385412.3385993
[63] Rosu,G.,Sen,K.:一种在线分析多线程程序的工具技术。2004年第18届国际并行和分布式处理研讨会。会议记录,第268-(2004)页。doi:10.1109/IPDPS.2004.1303344
[64] Sen,K.,Rosu,G.,Agha,G.:多线程程序的运行时安全分析。SIGSOFT软件。工程注释28(5),337-346(2003)。数字对象标识代码:10.1145/949952.940116
[65] Serbanuta,T.,Chen,F.,Rosu,G.:序列一致系统的最大因果模型。摘自:《运行时验证》,第三届国际会议,2012年9月25日至28日,土耳其伊斯坦布尔,RV 2012,修订论文集,第136-150页(2012)。doi:10.1007/978-3642-35632-2_16
[66] Shin,K。;Ramanathan,P.,实时计算:计算机科学与工程的一个新学科,Proc。IEEE,82,1,6-24(1994)·数字对象标识代码:10.1109/5.259423
[67] Soueidi,C.,El-Hokayem,A.,Falcone,Y.:多线程程序的机会主义监控。收录:Lambers,L.,Uchitel,S.(编辑)FASE 2023。LNCS,第13991卷,第173-194页。查姆施普林格(2023)。数字对象标识代码:10.1007/978-3-031-30826-0_10
[68] Soueidi,C.,Falcone,Y.:在线监测技术报告的声音并发跟踪(2023年)。doi:10.6084/m9图21940205
[69] 苏伊迪,C。;卡西姆,A。;Falcone,Y。;德什穆赫,J。;Nićković,D.,BISM:软件监控的字节码级仪器,运行时验证,323-335(2020),Cham:Springer,Cham·doi:10.1007/978-3-030-60508-718
[70] Strom,R.E.,Yemini,S.:类型状态:用于增强软件可靠性的编程语言概念。IEEE传输。柔软。工程12(1),157-171(1986)。doi:10.1109/TSE.1986.6312929·Zbl 0575.68036号
[71] 维罗洛,P。;Broquedis,F。;戈蒂埃,T。;拉斯特罗,F。;杜托特,P-F;Trystram,D.,在NUMA架构上使用数据依赖性来改进基于任务的调度策略,Euro Par 2016:并行处理,531-544(2016),Cham:Spriger,Cham·doi:10.1007/978-3-319-43659-3_39
[72] Wang,L。;Stoller,S.,多线程程序原子性的运行时分析,IEEE Trans。软件工程,32,2,93-110(2006)·doi:10.1109/TSE.2006.1599419
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。