Publication:
Output nondeterminism detection for programming models combining dataflow with shared memory

dc.contributor.coauthorN/A
dc.contributor.departmentDepartment of Computer Engineering
dc.contributor.departmentGraduate School of Sciences and Engineering
dc.contributor.kuauthorErten, Didem Unat
dc.contributor.kuauthorMatar, Hassan Salehe
dc.contributor.kuauthorMutlu, Erdal
dc.contributor.kuauthorTaşıran, Serdar
dc.contributor.schoolcollegeinstituteCollege of Engineering
dc.contributor.schoolcollegeinstituteGRADUATE SCHOOL OF SCIENCES AND ENGINEERING
dc.date.accessioned2024-11-09T23:27:00Z
dc.date.issued2018
dc.description.abstractImplementing highly concurrent programs can be challenging because programmers can easily introduce unintended nondeterminism, which has the potential to affect the program output. We propose and implement a technique for detecting unintended nondeterminism in applications developed on shared memory systems with dataflow execution model. Such nondeterminism bugs may be caused by missing or incorrect ordering of task dependencies that are used for ensuring certain ordering of tasks. The proposed method is based on the formulation of happens-before relation on tasks executions in a dataflow dependency graph. Its implementation is composed of two main phases; log recording and detection. For recording the necessary information from the execution, the tool instruments the dataflow framework and the applications, on top of the LLVM compiler infrastructure. Later it processes the collected log and reports on the found output nondeterminism in the execution. The tool can integrate well with the development cycle to provide the programmer with a testing framework against possible nondeterminism bugs. To demonstrate its effectiveness, we study a set of benchmark applications written in Atomic DataFlow programming model and report on real nondeterminism bugs in them.
dc.description.indexedbyWOS
dc.description.indexedbyScopus
dc.description.openaccessNO
dc.description.sponsoredbyTubitakEuN/A
dc.description.sponsorshipAffordable Safe & Secure Mobility Evolution (ASSUME) project for smart mobility This work has been funded under the Affordable Safe & Secure Mobility Evolution (ASSUME) project for smart mobility.
dc.description.volume71
dc.identifier.doi10.1016/j.parco.2017.11.008
dc.identifier.eissn1872-7336
dc.identifier.issn0167-8191
dc.identifier.scopus2-s2.0-85035746770
dc.identifier.urihttps://doi.org/10.1016/j.parco.2017.11.008
dc.identifier.urihttps://hdl.handle.net/20.500.14288/11646
dc.identifier.wos423005600003
dc.keywordsNondeterministh detection
dc.keywordsHappens-before
dc.keywordsDataflow models
dc.keywordsShared memory
dc.keywordsData races
dc.language.isoeng
dc.publisherElsevier Science Bv
dc.relation.ispartofParallel Computing
dc.subjectComputer science
dc.titleOutput nondeterminism detection for programming models combining dataflow with shared memory
dc.typeJournal Article
dspace.entity.typePublication
local.contributor.kuauthorMatar, Hassan Salehe
local.contributor.kuauthorMutlu, Erdal
local.contributor.kuauthorTaşıran, Serdar
local.contributor.kuauthorErten, Didem Unat
local.publication.orgunit1GRADUATE SCHOOL OF SCIENCES AND ENGINEERING
local.publication.orgunit1College of Engineering
local.publication.orgunit2Department of Computer Engineering
local.publication.orgunit2Graduate School of Sciences and Engineering
relation.isOrgUnitOfPublication89352e43-bf09-4ef4-82f6-6f9d0174ebae
relation.isOrgUnitOfPublication3fc31c89-e803-4eb1-af6b-6258bc42c3d8
relation.isOrgUnitOfPublication.latestForDiscovery89352e43-bf09-4ef4-82f6-6f9d0174ebae
relation.isParentOrgUnitOfPublication8e756b23-2d4a-4ce8-b1b3-62c794a8c164
relation.isParentOrgUnitOfPublication434c9663-2b11-4e66-9399-c863e2ebae43
relation.isParentOrgUnitOfPublication.latestForDiscovery8e756b23-2d4a-4ce8-b1b3-62c794a8c164

Files