{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,5,29]],"date-time":"2023-05-29T09:11:27Z","timestamp":1685351487316},"reference-count":0,"publisher":"National Library of Serbia","issue":"2","license":[{"start":{"date-parts":[[2011,1,1]],"date-time":"2011-01-01T00:00:00Z","timestamp":1293840000000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["ComSIS","COMPUT SCI INF SYST","COMPUT SCI INFORM SY","COMPUTER SCI INFORM","COMSIS J"],"published-print":{"date-parts":[[2011]]},"abstract":"<jats:p>Concurrent programs may suffer from concurrency anomalies that may lead to\n   erroneous and unpredictable program behaviors. To ensure program correctness,\n   these anomalies must be diagnosed and corrected. This paper addresses the\n   detection of both low- and high-level anomalies in the Transactional Memory\n   setting. We propose a static analysis procedure and a framework to address\n   Transactional Memory anomalies. We start by dealing with the classic case of\n   low-level dataraces, identifying concurrent accesses to shared memory cells\n   that are not protected within the scope of a memory transaction. Then, we\n   address the case of high-level dataraces, bringing the programmer?s attention\n   to pairs of memory transactions that were misspecified and should have been\n   combined into a single transaction. Our framework was applied to a set of\n   programs, collected form different sources, containing well known low- and\n   high-level anomalies. The framework demonstrated to be accurate, confirming\n   the effectiveness of using static analysis techniques to precisely identify\n   concurrency anomalies in Transactional Memory programs.<\/jats:p>","DOI":"10.2298\/csis110110007l","type":"journal-article","created":{"date-parts":[[2011,4,21]],"date-time":"2011-04-21T14:05:20Z","timestamp":1303394720000},"page":"534-548","source":"Crossref","is-referenced-by-count":3,"title":["Detecting concurrency anomalies in transactional memory programs"],"prefix":"10.2298","volume":"8","author":[{"given":"Jo\u00e3o","family":"Louren\u00e7o","sequence":"first","affiliation":[{"name":"CITI \/ Departamento de Inform\u00e1tica Faculdade de Ci\u00eancias e Tecnologia Universidade Nova de Lisboa - Caparica, Portugal"}]},{"given":"Diogo","family":"Sousa","sequence":"additional","affiliation":[{"name":"CITI \/ Departamento de Inform\u00e1tica Faculdade de Ci\u00eancias e Tecnologia Universidade Nova de Lisboa - Caparica, Portugal"}]},{"given":"Bruno","family":"Teixeira","sequence":"additional","affiliation":[{"name":"CITI \/ Departamento de Inform\u00e1tica Faculdade de Ci\u00eancias e Tecnologia Universidade Nova de Lisboa - Caparica, Portugal"}]},{"given":"Ricardo","family":"Dias","sequence":"additional","affiliation":[{"name":"CITI \/ Departamento de Inform\u00e1tica Faculdade de Ci\u00eancias e Tecnologia Universidade Nova de Lisboa - Caparica, Portugal"}]}],"member":"1078","container-title":["Computer Science and Information Systems"],"original-title":[],"language":"en","deposited":{"date-parts":[[2023,5,29]],"date-time":"2023-05-29T08:30:10Z","timestamp":1685349010000},"score":1,"resource":{"primary":{"URL":"https:\/\/doiserbia.nb.rs\/Article.aspx?ID=1820-02141100007L"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2011]]},"references-count":0,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2011]]}},"URL":"https:\/\/doi.org\/10.2298\/csis110110007l","relation":{},"ISSN":["1820-0214","2406-1018"],"issn-type":[{"value":"1820-0214","type":"print"},{"value":"2406-1018","type":"electronic"}],"subject":[],"published":{"date-parts":[[2011]]}}}