Proceedings of the 38th International Conference on Software Engineering 2016
DOI: 10.1145/2884781.2884846
|View full text |Cite
|
Sign up to set email alerts
|

Feedback-directed instrumentation for deployed JavaScript applications

Abstract: Many bugs in JavaScript applications manifest themselves as objects that have incorrect property values when a failure occurs. For this type of error, stack traces and log files are often insufficient for diagnosing problems. In such cases, it is helpful for developers to know the control flow path from the creation of an object to a crashing statement. Such crash paths are useful for understanding where the object originated and whether any properties of the object were corrupted since its creation. We presen… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
15
0

Year Published

2017
2017
2020
2020

Publication Types

Select...
4
4
1

Relationship

2
7

Authors

Journals

citations
Cited by 19 publications
(15 citation statements)
references
References 33 publications
(40 reference statements)
0
15
0
Order By: Relevance
“…Despite its popularity, the intrinsic characteristics of JavaScript-such as weak typing, prototypal inheritance, and run-time evaluation-make it one of the most error-prone programming languages. As such, a large body of software engineering research has focused on the analysis and testing of JavaScript web applications [2,3,4,5,6,7,8,9].…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…Despite its popularity, the intrinsic characteristics of JavaScript-such as weak typing, prototypal inheritance, and run-time evaluation-make it one of the most error-prone programming languages. As such, a large body of software engineering research has focused on the analysis and testing of JavaScript web applications [2,3,4,5,6,7,8,9].…”
Section: Introductionmentioning
confidence: 99%
“…Instances of such performance benchmarks are JetStream, 4 Kraken, 5 Dromaeo, 6 Octane, 7 and V8. 8 In this work, however, we refer to benchmark as a collection of JavaScript programs and artifacts (e.g., test cases or bug reports) used to support empirical studies (e.g., controlled experiments or user studies) related to one or more research areas in software analysis and testing.…”
Section: Introductionmentioning
confidence: 99%
“…This overhead is relatively small compared with the recent scalable dynamic analysis techniques. For example, the feedback-directed instrumentation technique for computing crash paths [37] imposed 100%-800% overhead in most cases, and the record and replay system [38] involved 480% overhead on average.…”
Section: Answer To Rqmentioning
confidence: 99%
“…Sen et al present Jalangi, an instrumentation framework for dynamic program analysis of JavaScript applications [Sen et al 2013]. Jalangi has been used as the basis for various tools, such as DLint, a łlintž tool based on dynamic program analysis [Gong et al 2015], MemInsight, a platform-independent memory debugging tool [Jensen et al 2015], and Crowdie, a feedback-directed debugging tool [Madsen et al 2016]. Considerable research has been devoted to tools for detecting and repairing event races in JavaScript applications [Adamsen et al 2017b,a;Petrov et al 2012;Raychev et al 2013;Zhang and Wang 2017;Zheng et al 2011].…”
Section: Related Workmentioning
confidence: 99%