Practical initialization race detection for JavaScript web applications

Event races are a common source of subtle errors in JavaScript web applications. Several automated tools for detecting event races have been developed, but experiments show that their accuracy is generally quite low. We present a new approach that focuses on three categories of event race errors tha...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Proceedings of ACM on programming languages Jg. 1; H. OOPSLA; S. 1 - 22
Hauptverfasser: Adamsen, Christoffer Quist, Møller, Anders, Tip, Frank
Format: Journal Article
Sprache:Englisch
Veröffentlicht: 01.10.2017
ISSN:2475-1421, 2475-1421
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract Event races are a common source of subtle errors in JavaScript web applications. Several automated tools for detecting event races have been developed, but experiments show that their accuracy is generally quite low. We present a new approach that focuses on three categories of event race errors that often appear during the initialization phase of web applications: form-input-overwritten errors, late-event-handler-registration errors, and access-before-definition errors. The approach is based on a dynamic analysis that uses a combination of adverse and approximate execution. Among the strengths of the approach are that it does not require browser modifications, expensive model checking, or static analysis. In an evaluation on 100 widely used websites, our tool InitRacer reports 1085 initialization races, while providing informative explanations of their causes and effects. A manual study of 218 of these reports shows that 111 of them lead to uncaught exceptions and at least 47 indicate errors that affect the functionality of the websites.
AbstractList Event races are a common source of subtle errors in JavaScript web applications. Several automated tools for detecting event races have been developed, but experiments show that their accuracy is generally quite low. We present a new approach that focuses on three categories of event race errors that often appear during the initialization phase of web applications: form-input-overwritten errors, late-event-handler-registration errors, and access-before-definition errors. The approach is based on a dynamic analysis that uses a combination of adverse and approximate execution. Among the strengths of the approach are that it does not require browser modifications, expensive model checking, or static analysis. In an evaluation on 100 widely used websites, our tool InitRacer reports 1085 initialization races, while providing informative explanations of their causes and effects. A manual study of 218 of these reports shows that 111 of them lead to uncaught exceptions and at least 47 indicate errors that affect the functionality of the websites.
Author Adamsen, Christoffer Quist
Tip, Frank
Møller, Anders
Author_xml – sequence: 1
  givenname: Christoffer Quist
  surname: Adamsen
  fullname: Adamsen, Christoffer Quist
  organization: Aarhus University, Denmark
– sequence: 2
  givenname: Anders
  surname: Møller
  fullname: Møller, Anders
  organization: Aarhus University, Denmark
– sequence: 3
  givenname: Frank
  surname: Tip
  fullname: Tip, Frank
  organization: Northeastern University, USA
BookMark eNplkEFLw0AQhRepYK3Fv7A3T9HZ3Wy6OUrRVikoqOcwmUxgJSZhd1H019vWHkRP82bmm8fwTsWkH3oW4lzBpVK5vTLKGFfCkZjqfGEzlWs1-aVPxDzGVwBQpcmdKadi9RiQkifspO998tj5L0x-6OV2zrLhxLRv2yHIe3zHJwp-TPKDa4nj2G0vd-t4Jo5b7CLPD3UmXm5vnpfrbPOwultebzLS1qVMF8oyl2VjC25rUyyMazQYKAyC5qZ2TukGiNHlyhLqFplIU1kzoHYFmJnIfnwpDDEGbivyaf9CCui7SkG1C6I6BLHlL_7wY_BvGD7_kd8Mt17G
CitedBy_id crossref_primary_10_1016_j_eswa_2022_116569
crossref_primary_10_1145_3276532
crossref_primary_10_1007_s10207_023_00671_5
crossref_primary_10_1109_TSE_2022_3147975
Cites_doi 10.1145/1133981.1134018
10.1145/2931037.2931052
10.1145/265924.265927
10.1145/349299.349328
10.1145/1368088.1368120
10.1109/ICSE.2017.34
10.1145/1287624.1287654
10.1145/2771783.2771786
10.1145/2660193.2660214
10.1145/1963405.1963517
10.1145/2254064.2254095
10.1109/32.988498
10.1145/2509136.2509538
10.1145/2592798.2592813
10.1145/2786805.2786820
10.1145/504282.504287
10.1109/ICSE.2017.33
10.1145/2771783.2771809
10.1145/2814270.2814282
10.1016/j.scico.2007.12.001
10.1145/1839676.1839699
ContentType Journal Article
DBID AAYXX
CITATION
DOI 10.1145/3133890
DatabaseName CrossRef
DatabaseTitle CrossRef
DatabaseTitleList CrossRef
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 2475-1421
EndPage 22
ExternalDocumentID 10_1145_3133890
GroupedDBID AAKMM
AAYFX
AAYXX
ACM
AEFXT
AEJOY
AIKLT
AKRVB
ALMA_UNASSIGNED_HOLDINGS
CITATION
EBS
GUFHI
LHSKQ
M~E
OK1
ROL
ID FETCH-LOGICAL-c258t-2615ee99d56efb36738d203063a02edb8812d0cea8415ca2faecc2c9be0a28603
ISICitedReferencesCount 12
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000688014000022&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 2475-1421
IngestDate Tue Nov 18 22:43:11 EST 2025
Sat Nov 29 07:49:00 EST 2025
IsDoiOpenAccess false
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Issue OOPSLA
Language English
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-c258t-2615ee99d56efb36738d203063a02edb8812d0cea8415ca2faecc2c9be0a28603
OpenAccessLink https://dl.acm.org/doi/pdf/10.1145/3133890
PageCount 22
ParticipantIDs crossref_citationtrail_10_1145_3133890
crossref_primary_10_1145_3133890
PublicationCentury 2000
PublicationDate 2017-10-01
PublicationDateYYYYMMDD 2017-10-01
PublicationDate_xml – month: 10
  year: 2017
  text: 2017-10-01
  day: 01
PublicationDecade 2010
PublicationTitle Proceedings of ACM on programming languages
PublicationYear 2017
References e_1_2_1_7_1
e_1_2_1_8_1
e_1_2_1_20_1
e_1_2_1_5_1
e_1_2_1_6_1
e_1_2_1_3_1
e_1_2_1_23_1
e_1_2_1_4_1
e_1_2_1_13_1
e_1_2_1_24_1
e_1_2_1_1_1
e_1_2_1_21_1
e_1_2_1_2_1
e_1_2_1_11_1
e_1_2_1_22_1
e_1_2_1_16_1
e_1_2_1_17_1
e_1_2_1_14_1
e_1_2_1_25_1
Ide James (e_1_2_1_12_1) 2009
e_1_2_1_15_1
Hong Shin (e_1_2_1_10_1) 2014
e_1_2_1_9_1
e_1_2_1_19_1
References_xml – ident: e_1_2_1_15_1
  doi: 10.1145/1133981.1134018
– ident: e_1_2_1_22_1
  doi: 10.1145/2931037.2931052
– ident: e_1_2_1_19_1
  doi: 10.1145/265924.265927
– ident: e_1_2_1_5_1
  doi: 10.1145/349299.349328
– ident: e_1_2_1_9_1
  doi: 10.1145/1368088.1368120
– ident: e_1_2_1_2_1
  doi: 10.1109/ICSE.2017.34
– ident: e_1_2_1_21_1
  doi: 10.1145/1287624.1287654
– ident: e_1_2_1_1_1
  doi: 10.1145/2771783.2771786
– volume-title: Proc. 7th IEEE International Conference on Software Testing, Verification and Validation (ICST). 61–70
  year: 2014
  ident: e_1_2_1_10_1
– ident: e_1_2_1_3_1
  doi: 10.1145/2660193.2660214
– ident: e_1_2_1_25_1
  doi: 10.1145/1963405.1963517
– ident: e_1_2_1_20_1
– ident: e_1_2_1_16_1
  doi: 10.1145/2254064.2254095
– ident: e_1_2_1_23_1
  doi: 10.1109/32.988498
– ident: e_1_2_1_17_1
  doi: 10.1145/2509136.2509538
– ident: e_1_2_1_11_1
  doi: 10.1145/2592798.2592813
– ident: e_1_2_1_14_1
  doi: 10.1145/2786805.2786820
– ident: e_1_2_1_4_1
  doi: 10.1145/504282.504287
– volume-title: Proc. Workshop on Exploiting Concurrency Efficiently and Correctly .
  year: 2009
  ident: e_1_2_1_12_1
– ident: e_1_2_1_24_1
  doi: 10.1109/ICSE.2017.33
– ident: e_1_2_1_8_1
  doi: 10.1145/2771783.2771809
– ident: e_1_2_1_13_1
  doi: 10.1145/2814270.2814282
– ident: e_1_2_1_6_1
  doi: 10.1016/j.scico.2007.12.001
– ident: e_1_2_1_7_1
  doi: 10.1145/1839676.1839699
SSID ssj0001934839
Score 2.086718
Snippet Event races are a common source of subtle errors in JavaScript web applications. Several automated tools for detecting event races have been developed, but...
SourceID crossref
SourceType Enrichment Source
Index Database
StartPage 1
Title Practical initialization race detection for JavaScript web applications
Volume 1
WOSCitedRecordID wos000688014000022&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVHPJ
  databaseName: ROAD: Directory of Open Access Scholarly Resources
  customDbUrl:
  eissn: 2475-1421
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0001934839
  issn: 2475-1421
  databaseCode: M~E
  dateStart: 20170101
  isFulltext: true
  titleUrlDefault: https://road.issn.org
  providerName: ISSN International Centre
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1BT9swFLYK48CFMQYCNiYfEJcqkDp2Yh8DGkwT0KIWiVvlOI5UUUIFpeK00344z4lj3A5p47BLFFl2FOV9eX7v-X3vIbSfsLjgOi6CTixIQIUOAyliFYSU6lhkBU_yqmvJeXJ5yW9uRK_V-t1wYWbjpCz587OY_FdRwxgI21Bn3yFu91AYgHsQOlxB7HD9J8HXFYhUVUxjBP_v2DIt2zBuSFJTrVx-4U85k_1Kb7QNZ9E_zfat1p7b5arEj_Tkwpwx2NSuOxNsaMKezkJPc3lngzu2foFpxNK-erJ8o0rI5pT-mDdkxLTi2bhQwmjSGNa3fmgCtrsmyc1qMEITFnRoTYE-1G-MNSrYQ1q32-ufp55O7Xibc81h_lPtU1MhIzL-dt18dL6w9sKG59IQa1I2G9qFS-gDSZgwiYEXv7xInYgor1rSuXev2ddm7ZFd65k1nn0yWEdr1rHAaQ2IT6ilyw30sWnaga0O_4zOHD7wPD6wwQd2-MCAD_yKDwz4wD4-NtH16ffByY_AdtMIFGF8GoCrzLQWImexLrLIdHvNifEYIxkSnWccTL08VFpysOmUJIWEv5sokelQEh6H0RZaLu9LvY0wk0yA6a1VJikNIwUPLbJE5QU4q7Ij9Q46aD7GUNlS86bjyXi48MV3EHYTJ3V1lcUpu3-f8gWtvqLvK1qePjzpPbSiZtPR48O3Spgv_NFumg
linkProvider ISSN International Centre
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Practical+initialization+race+detection+for+JavaScript+web+applications&rft.jtitle=Proceedings+of+ACM+on+programming+languages&rft.au=Adamsen%2C+Christoffer+Quist&rft.au=M%C3%B8ller%2C+Anders&rft.au=Tip%2C+Frank&rft.date=2017-10-01&rft.issn=2475-1421&rft.eissn=2475-1421&rft.volume=1&rft.issue=OOPSLA&rft.spage=1&rft.epage=22&rft_id=info:doi/10.1145%2F3133890&rft.externalDBID=n%2Fa&rft.externalDocID=10_1145_3133890
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2475-1421&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2475-1421&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2475-1421&client=summon