Concurrency Analysis in Javascript Programs Using Arrows

dc.contributor.advisorTian Zhao
dc.contributor.committeememberJohn T Boyland
dc.contributor.committeememberEthan Munson
dc.creatorCochrane, Joshua
dc.date.accessioned2025-01-16T18:12:50Z
dc.date.issued2018-12-01
dc.description.abstractConcurrency errors are difficult to detect and correct in asynchronous programs such as those implemented in JavaScript. One reason is that it is often difficult to keep track of which parts of the program may execute in parallel and potentially share resources in unexpected, and perhaps unintended, ways. While programming constructs such as promises can help improve the readability of asynchronous JavaScript programs that were traditionally written using callbacks, there are no static tools to identify asynchronous functions that run in parallel, which may potentially cause concurrency errors. In this work, we present a solution for implementing JavaScript programs using a library based on the abstraction of arrows. We enhanced the previous implementation of the arrows library by enabling its use with Node.js and by adding parallel asynchronous path detection. Automated identification of which arrows may execute in parallel helps the programmer narrow down the possible sources of concurrency errors.
dc.description.embargo2020-01-08
dc.embargo.liftdate2020-01-08
dc.identifier.urihttp://digital.library.wisc.edu/1793/86358
dc.relation.replaceshttps://dc.uwm.edu/etd/1980
dc.subjectArrows
dc.subjectConcurrency Analysis
dc.subjectJavaScript
dc.titleConcurrency Analysis in Javascript Programs Using Arrows
dc.typethesis
thesis.degree.disciplineComputer Science
thesis.degree.grantorUniversity of Wisconsin-Milwaukee
thesis.degree.nameMaster of Science

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Cochrane_uwm_0263m_12261.pdf
Size:
292.53 KB
Format:
Adobe Portable Document Format
Description:
Main File