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

dc.contributor.coauthorLivshits, Benjamin
dc.contributor.departmentN/A
dc.contributor.departmentDepartment of Computer Engineering
dc.contributor.kuauthorMutlu, Erdal
dc.contributor.kuauthorTaşıran, Serdar
dc.contributor.kuprofilePhD Student
dc.contributor.kuprofileFaculty Member
dc.contributor.otherDepartment of Computer Engineering
dc.contributor.schoolcollegeinstituteGraduate School of Sciences and Engineering
dc.contributor.schoolcollegeinstituteCollege of Engineering
dc.contributor.yokidN/A
dc.contributor.yokidN/A
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.sponsorshipACM Special Interest Group on Programming Languages (SIGPLAN)
dc.identifier.doi10.1145/2617548.2617549
dc.identifier.isbn9781-4503-2916-3
dc.identifier.linkhttps://www.scopus.com/inward/record.uri?eid=2-s2.0-84903625093&doi=10.1145%2f2617548.2617549&partnerID=40&md5=3fe7f5edf1c7f49497e94c59dca0b8c6
dc.identifier.scopus2-s2.0-84903625093
dc.identifier.urihttp://dx.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.languageEnglish
dc.publisherAssociation for Computing Machinery (ACM)
dc.sourceProceedings 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.authorid0000-0001-7472-3621
local.contributor.authoridN/A
local.contributor.kuauthorMutlu, Erdal
local.contributor.kuauthorTaşıran, Serdar
relation.isOrgUnitOfPublication89352e43-bf09-4ef4-82f6-6f9d0174ebae
relation.isOrgUnitOfPublication.latestForDiscovery89352e43-bf09-4ef4-82f6-6f9d0174ebae

Files