Matches in SemOpenAlex for { <https://semopenalex.org/work/W2898093955> ?p ?o ?g. }
- W2898093955 endingPage "26" @default.
- W2898093955 startingPage "1" @default.
- W2898093955 abstract "Recently, promises were added to ECMAScript 6, the JavaScript standard, in order to provide better support for the asynchrony that arises in user interfaces, network communication, and non-blocking I/O. Using promises, programmers can avoid common pitfalls of event-driven programming such as event races and the deeply nested counterintuitive control ow referred to as “callback hell”. Unfortunately, promises have complex semantics and the intricate control– and data- ow present in promise-based code hinders program comprehension and can easily lead to bugs. The promise graph was proposed as a graphical aid for understanding and debugging promise-based code. However, it did not cover all promise-related features in ECMAScript 6, and did not present or evaluate any technique for constructing the promise graphs. In this paper, we extend the notion of promise graphs to include all promise-related features in ECMAScript 6, including default reactions, exceptions, and the synchronization operations race and all. Furthermore, we report on the construction and evaluation of PromiseKeeper, which performs a dynamic analysis to create promise graphs and infer common promise anti-patterns. We evaluate PromiseKeeper by applying it to 12 open source promise-based Node.js applications. Our results suggest that the promise graphs constructed by PromiseKeeper can provide developers with valuable information about occurrences of common anti-patterns in their promise-based code, and that promise graphs can be constructed with acceptable run-time overhead." @default.
- W2898093955 created "2018-11-02" @default.
- W2898093955 creator A5033475627 @default.
- W2898093955 creator A5034330109 @default.
- W2898093955 creator A5074335599 @default.
- W2898093955 creator A5087594876 @default.
- W2898093955 date "2018-10-24" @default.
- W2898093955 modified "2023-09-27" @default.
- W2898093955 title "Finding broken promises in asynchronous JavaScript programs" @default.
- W2898093955 cites W1483380114 @default.
- W2898093955 cites W1839269954 @default.
- W2898093955 cites W1987647365 @default.
- W2898093955 cites W1989147905 @default.
- W2898093955 cites W2001730388 @default.
- W2898093955 cites W2016263254 @default.
- W2898093955 cites W2036639103 @default.
- W2898093955 cites W2088505585 @default.
- W2898093955 cites W2105482755 @default.
- W2898093955 cites W2141018153 @default.
- W2898093955 cites W2141305501 @default.
- W2898093955 cites W2166150184 @default.
- W2898093955 cites W2262523701 @default.
- W2898093955 cites W2373401668 @default.
- W2898093955 cites W2393286498 @default.
- W2898093955 cites W2395760792 @default.
- W2898093955 cites W2530507015 @default.
- W2898093955 cites W2618852163 @default.
- W2898093955 cites W2619950022 @default.
- W2898093955 cites W2740995941 @default.
- W2898093955 cites W2758513221 @default.
- W2898093955 cites W2761442781 @default.
- W2898093955 cites W2761769434 @default.
- W2898093955 cites W2767646260 @default.
- W2898093955 cites W2795181345 @default.
- W2898093955 cites W3014461055 @default.
- W2898093955 cites W4237840017 @default.
- W2898093955 doi "https://doi.org/10.1145/3276532" @default.
- W2898093955 hasPublicationYear "2018" @default.
- W2898093955 type Work @default.
- W2898093955 sameAs 2898093955 @default.
- W2898093955 citedByCount "16" @default.
- W2898093955 countsByYear W28980939552019 @default.
- W2898093955 countsByYear W28980939552020 @default.
- W2898093955 countsByYear W28980939552021 @default.
- W2898093955 countsByYear W28980939552022 @default.
- W2898093955 countsByYear W28980939552023 @default.
- W2898093955 crossrefType "journal-article" @default.
- W2898093955 hasAuthorship W2898093955A5033475627 @default.
- W2898093955 hasAuthorship W2898093955A5034330109 @default.
- W2898093955 hasAuthorship W2898093955A5074335599 @default.
- W2898093955 hasAuthorship W2898093955A5087594876 @default.
- W2898093955 hasBestOaLocation W28980939551 @default.
- W2898093955 hasConcept C115903868 @default.
- W2898093955 hasConcept C118643609 @default.
- W2898093955 hasConcept C121332964 @default.
- W2898093955 hasConcept C136764020 @default.
- W2898093955 hasConcept C151319957 @default.
- W2898093955 hasConcept C160191386 @default.
- W2898093955 hasConcept C168065819 @default.
- W2898093955 hasConcept C199360897 @default.
- W2898093955 hasConcept C204495577 @default.
- W2898093955 hasConcept C2779019669 @default.
- W2898093955 hasConcept C2779662365 @default.
- W2898093955 hasConcept C31258907 @default.
- W2898093955 hasConcept C41008148 @default.
- W2898093955 hasConcept C544833334 @default.
- W2898093955 hasConcept C62520636 @default.
- W2898093955 hasConcept C80444323 @default.
- W2898093955 hasConceptScore W2898093955C115903868 @default.
- W2898093955 hasConceptScore W2898093955C118643609 @default.
- W2898093955 hasConceptScore W2898093955C121332964 @default.
- W2898093955 hasConceptScore W2898093955C136764020 @default.
- W2898093955 hasConceptScore W2898093955C151319957 @default.
- W2898093955 hasConceptScore W2898093955C160191386 @default.
- W2898093955 hasConceptScore W2898093955C168065819 @default.
- W2898093955 hasConceptScore W2898093955C199360897 @default.
- W2898093955 hasConceptScore W2898093955C204495577 @default.
- W2898093955 hasConceptScore W2898093955C2779019669 @default.
- W2898093955 hasConceptScore W2898093955C2779662365 @default.
- W2898093955 hasConceptScore W2898093955C31258907 @default.
- W2898093955 hasConceptScore W2898093955C41008148 @default.
- W2898093955 hasConceptScore W2898093955C544833334 @default.
- W2898093955 hasConceptScore W2898093955C62520636 @default.
- W2898093955 hasConceptScore W2898093955C80444323 @default.
- W2898093955 hasFunder F4320306076 @default.
- W2898093955 hasIssue "OOPSLA" @default.
- W2898093955 hasLocation W28980939551 @default.
- W2898093955 hasLocation W28980939552 @default.
- W2898093955 hasOpenAccess W2898093955 @default.
- W2898093955 hasPrimaryLocation W28980939551 @default.
- W2898093955 hasRelatedWork W1563774121 @default.
- W2898093955 hasRelatedWork W17837200 @default.
- W2898093955 hasRelatedWork W2349820628 @default.
- W2898093955 hasRelatedWork W2505444063 @default.
- W2898093955 hasRelatedWork W2737171366 @default.
- W2898093955 hasRelatedWork W2910217074 @default.
- W2898093955 hasRelatedWork W2943652321 @default.
- W2898093955 hasRelatedWork W4229928981 @default.