<?xml version="1.0" encoding="UTF-8"?><xml><records><record><source-app name="Biblio" version="6.x">Drupal-Biblio</source-app><ref-type>47</ref-type><contributors><authors><author><style face="normal" font="default" size="100%">Louren{\c c}o, João</style></author><author><style face="normal" font="default" size="100%">Cunha, Gon{\c c}alo</style></author></authors></contributors><titles><title><style face="normal" font="default" size="100%">Testing patterns for software transactional memory engines</style></title><secondary-title><style face="normal" font="default" size="100%">Proceedings of the 2007 ACM workshop on Parallel and distributed systems: testing and debugging</style></secondary-title><tertiary-title><style face="normal" font="default" size="100%">PADTAD ’07</style></tertiary-title></titles><keywords><keyword><style  face="normal" font="default" size="100%">concurrency</style></keyword><keyword><style  face="normal" font="default" size="100%">debugging</style></keyword><keyword><style  face="normal" font="default" size="100%">software transactional memory</style></keyword><keyword><style  face="normal" font="default" size="100%">testing</style></keyword><keyword><style  face="normal" font="default" size="100%">testing patterns</style></keyword></keywords><dates><year><style  face="normal" font="default" size="100%">2007</style></year></dates><urls><web-urls><url><style face="normal" font="default" size="100%">http://doi.acm.org/10.1145/1273647.1273655</style></url></web-urls></urls><publisher><style face="normal" font="default" size="100%">ACM</style></publisher><pub-location><style face="normal" font="default" size="100%">New York, NY, USA</style></pub-location><pages><style face="normal" font="default" size="100%">36–42</style></pages><isbn><style face="normal" font="default" size="100%">978-1-59593-748-3</style></isbn><language><style face="normal" font="default" size="100%">eng</style></language><abstract><style face="normal" font="default" size="100%">The emergence of multi-core processors is promoting the use of concurrency and multithreading. To raise the abstraction level of synchronization constructs is fundamental to ease the development of concurrent software, and Software Transactional Memory (STM) is a good approach towards such goal. However, execution environment issues such as the processor instruction set, caching policy, and memory model, may have strong influence upon the reliability of STM engines. This paper addresses the testing of STM engines aiming at improving their reliability and independence from execution environment. From our experience with porting and extending a specific STM engine, we report on some of the bugs found and synthesize some testing patterns that proved to be useful at testing STM engines.</style></abstract></record></records></xml>