Publication:
I know it when i see it: observable races in JavaScript applications

dc.contributor.coauthorLivshits, Benjamin
dc.contributor.departmentDepartment of Computer Engineering
dc.contributor.departmentGraduate School of Sciences and Engineering
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:07:46Z
dc.date.issued2014
dc.description.abstractDespite JavaScript runtime's lack of conventional threads, the presence of asynchrony creates a real potential for concurrency errors. These concerns have lead to investigations of race conditions in the Web context. However, focusing on races does not produce actionable error reports that would at the end of the day appeal to developers and cause them to fix possible underlying problems. In this paper, we advocate for the notion of observable races, focusing on concurrency conditions that lead to visually apparent glitches caused by non-determinism within the runtime scheduler on the network. We propose and investigate ways to find observable races via systematically exploring possible network schedules and shepherding the scheduler towards correct executions. We propose crowd-sourcing both to spot when different schedules lead to visually broken sites and also to determine under what environment conditions (OS, browser, network speed) these schedules may in fact happen in practice for some fraction of the users.
dc.description.indexedbyScopus
dc.description.openaccessYES
dc.description.publisherscopeInternational
dc.description.sponsoredbyTubitakEuN/A
dc.description.sponsorshipACM Special Interest Group on Programming Languages (SIGPLAN)
dc.identifier.doi10.1145/2617548.2617549
dc.identifier.isbn9781-4503-2916-3
dc.identifier.scopus2-s2.0-84903625093
dc.identifier.urihttps://doi.org/10.1145/2617548.2617549
dc.identifier.urihttps://hdl.handle.net/20.500.14288/9196
dc.keywordsScheduling
dc.keywordsAsynchrony
dc.keywordsConcurrency errors
dc.keywordsEnd of the days
dc.keywordsEnvironment conditions
dc.keywordsJavascript
dc.keywordsNetwork schedules
dc.keywordsNetwork speed
dc.keywordsNon-determinism
dc.keywordsHigh level languages
dc.language.isoeng
dc.publisherAssociation for Computing Machinery (ACM)
dc.relation.ispartofProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)
dc.subjectSoftware
dc.titleI know it when i see it: observable races in JavaScript applications
dc.typeConference Proceeding
dspace.entity.typePublication
local.contributor.kuauthorMutlu, Erdal
local.contributor.kuauthorTaşıran, Serdar
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