×

金发姑娘

swMATH编号: 12806
软件作者: Elmas,T.、Qadeer,S.、Tasiran,S。
描述: Goldilocks:一个竞赛和事务处理软件Java运行时。数据竞争通常会导致意外和错误的行为。除了导致数据损坏和导致程序崩溃之外,数据争用的存在还使可能不再是顺序一致的执行的语义变得复杂。基于这些观察结果,我们设计并实现了一个Java运行时系统,该系统可以监视程序执行,并在即将发生数据竞争时抛出DataRaceException。与其他运行时异常类似,DataRaceException提供了两个关键优势。首先,在导致稍后可能难以诊断的错误之前,会中断并处理导致竞争条件的访问。其次,如果在执行过程中没有抛出DataRaceException,则可以保证其顺序一致。这种强有力的保证有助于排除许多与并发相关的可能性是错误行为的原因。当捕捉到DataRaceException时,导致它的操作、线程或程序可以正常终止。或者,DataRaceException可以作为冲突检测机制,对并发进行不合理的使用。我们从Java内存模型中无数据通道执行的定义开始。我们将此定义推广到使用事务以及锁和易失性变量进行同步的执行。我们提出了一种精确高效的算法,用于动态验证执行是否没有数据竞争。该算法通过处理事务并提供区分读写访问的能力,推广了用于数据空间检测的Goldilocks算法。我们已经在Kaffe Java虚拟机中实现了我们的算法和DataRaceException。我们已经在各种公开可用的Java基准测试和一些结合了基于锁和基于事务的同步的微基准测试上评估了我们的系统。我们的实验表明,我们的实现具有合理的开销。因此,我们认为,除了作为调试工具之外,DataRaceException还可能是一种可行的机制,可以加强多线程Java程序执行的安全性。
主页: http://dl.acm.org/citation.cfm?id=1250762
相关软件: 橡皮擦;雾化器;快速通道;Coq公司;卫星抗体;BIDE公司;航空工业组织;国际象棋;CloSpan公司;C触发器;猎鹰;b拉链2mp;前缀跨度;赛车X;螺纹消毒剂;多种族;CDS检查器;ktsan公司;坦桑尼亚;继电器
引用于: 9文件

按年份列出的引文