Detecting semantic violations of lock-free data structures through C++ contracts
Impacto
Scholar |
Otros documentos de la autoría: López-Gómez, Javier; del Río Astorga, David; Dolz, Manuel F.; Fernández Muñoz, Javier; García, J. Daniel
Metadatos
Mostrar el registro completo del ítemcomunitat-uji-handle:10234/9
comunitat-uji-handle2:10234/7036
comunitat-uji-handle3:10234/8620
comunitat-uji-handle4:
INVESTIGACIONEste recurso está restringido
https://doi.org/10.1007/s11227-019-02827-4 |
Metadatos
Título
Detecting semantic violations of lock-free data structures through C++ contractsAutoría
Fecha de publicación
2019-03Editor
SpringerCita bibliográfica
López-Gómez, J., del Rio Astorga, D., Dolz, M.F. et al. J Supercomput (2019). https://doi.org/10.1007/s11227-019-02827-4Tipo de documento
info:eu-repo/semantics/articleVersión de la editorial
https://link.springer.com/article/10.1007/s11227-019-02827-4Versión
info:eu-repo/semantics/publishedVersionPalabras clave / Materias
Resumen
The 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 ... [+]
The 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. [-]
Proyecto de investigación
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).Derechos de acceso
© Springer Science+Business Media, LLC, part of Springer Nature 2019
http://rightsstatements.org/vocab/InC/1.0/
info:eu-repo/semantics/restrictedAccess
http://rightsstatements.org/vocab/InC/1.0/
info:eu-repo/semantics/restrictedAccess
Aparece en las colecciones
- ICC_Articles [415]