Publication:
Detecting semantic violations of lock-free data structures through C++ contracts

dc.affiliation.dptoUC3M. Departamento de Informáticaes
dc.affiliation.grupoinvUC3M. Grupo de Investigación: Arquitectura de Computadores, Comunicaciones y Sistemases
dc.contributor.authorLópez Gómez, Javier
dc.contributor.authorRío Astorga, David del
dc.contributor.authorDolz Zaragoza, Manuel Francisco
dc.contributor.authorFernández Muñoz, Javier
dc.contributor.authorGarcia Sanchez, Jose Daniel
dc.contributor.funderEuropean Commissionen
dc.contributor.funderMinisterio de Economía y Competitividad (España)es
dc.date.accessioned2020-02-12T11:48:49Z
dc.date.available2020-02-12T11:48:49Z
dc.date.issued2019-03-26
dc.descriptionASPIDE: Exascale programIng models for extreme data processingen
dc.description.abstractThe use of synchronization mechanisms in multithreaded applications is essential on shared-memory multi-core architectures. However, debugging parallel applications to avoid potential failures, such as data races or deadlocks, can be challenging. Race detectors are key to spot such concurrency bugs; nevertheless, if lock-free data structures are used, these may emit a significant number of false positives. In this paper, we present a framework for semantic violation detection of lock-free data structures which makes use of contracts, a novel feature of the upcoming C++20, and a customized version of the ThreadSanitizer race detector. We evaluate the detection accuracy of the framework in terms of false positives and false negatives leveraging some synthetic benchmarks which make use of the SPSC and MPMC lock-free queue structures from the Boost C++ library. Thanks to this framework, we are able to check the correct use of lock-free data structures, thus reducing the number of false positives.en
dc.description.sponsorshipThis work has been partially funded by the Spanish Ministry of Economy and Competitiveness through Project Grant TIN2016-79637-P (BigHPC - Towards Unification of HPC and Big Data Paradigms) and the European Commission through Grant No. 801091 (ASPIDE - Exascale programmIng models for extreme data processing).en
dc.format.extent22es
dc.identifier.bibliographicCitationThe journal of supercomputing, 26 March 2019, 22 pp.en
dc.identifier.doihttps://doi.org/10.1007/s11227-019-02827-4
dc.identifier.issn0920-8542
dc.identifier.issn1573-0484 (online)
dc.identifier.publicationfirstpage1es
dc.identifier.publicationlastpage22es
dc.identifier.publicationtitleJOURNAL OF SUPERCOMPUTINGen
dc.identifier.urihttps://hdl.handle.net/10016/29700
dc.identifier.uxxiAR/0000023520
dc.language.isoenges
dc.publisherSpringer Natureen
dc.relation.projectIDinfo:eu-repo/grantAgreement/EC/H2020/801091/ASPIDEen
dc.relation.projectIDGobierno de España. TIN2016-79637-Pes
dc.rights© Springer Science+Business Media, LLC, part of Springer Nature 2019en
dc.rights.accessRightsopen accessen
dc.subject.ecienciaInformáticaes
dc.subject.otherParallel programmingen
dc.subject.otherSemantic violation detectionen
dc.subject.otherC++ contractsen
dc.subject.otherLock-free data structuresen
dc.titleDetecting semantic violations of lock-free data structures through C++ contractsen
dc.typeresearch article*
dc.type.hasVersionAM*
dspace.entity.typePublication
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Detecting_TJS_2019_ps.pdf
Size:
440.25 KB
Format:
Adobe Portable Document Format