2012
DOI: 10.5381/jot.2012.11.1.a6
|View full text |Cite
|
Sign up to set email alerts
|

JSConTest: Contract-Driven Testing and Path Effect Inference for JavaScript.

Abstract: Program understanding is a major obstacle during program maintenance. In an object-oriented language, understanding an operation requires understanding its type and its effect on the object network. The effect is particularly important for scripting languages where there is neither class structure that restricts the shape of an object nor any other kind of access control.We have designed and implemented JSConTest, a tool that provides a facility to annotate JavaScript programs with type and effect contracts an… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
8
0

Year Published

2014
2014
2019
2019

Publication Types

Select...
4
2

Relationship

1
5

Authors

Journals

citations
Cited by 6 publications
(8 citation statements)
references
References 51 publications
0
8
0
Order By: Relevance
“…5.1.2 as a case that imposes a relatively low overhead. We have not annotated the benchmarks with more realistic contracts yet because obtaining such contracts requires either a deep insight into the program and a lot of manual work, or a kind of effect inference, which we do not have in place yet, although this seems technically feasible to us [14,15].…”
Section: Ashes Benchmark Suitementioning
confidence: 98%
“…5.1.2 as a case that imposes a relatively low overhead. We have not annotated the benchmarks with more realistic contracts yet because obtaining such contracts requires either a deep insight into the program and a lot of manual work, or a kind of effect inference, which we do not have in place yet, although this seems technically feasible to us [14,15].…”
Section: Ashes Benchmark Suitementioning
confidence: 98%
“…The problem of generating test assertions, also called the "oracle problem" [Miller and Howden 1981], is orthogonal to exploring the value and event space. An example of this orthogonality is seen in JSConTest [Heidegger and Thiemann 2012], which not only uses contracts for test generation but also for generating runtime assertions, where a failing assertion indicates a violated contract.…”
Section: Assertion Generationmentioning
confidence: 99%
“…Dynamic analysis has proven to be an effective way to test JavaScript Web applications [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21]. Since it requires testcases to explore the state space of the application, various approaches for automated testcase generation have been developed in literature, which can generate event sequences and/or associated input data of events.…”
Section: Introductionmentioning
confidence: 99%
“…mutation testing [7], [15] and partial order reduction [22]) were proposed to remove redundant event sequence, which allow to explore limited longer event sequences in a reasonable time. On the other hand, the input data is generated by either randomly choosing values with lightweight heuristic strategies [2], [3], [5], or using heavyweight techniques (e.g., symbolic/concolic execution) [1], [6], [11], [12], [16], [17], [19]. These works either consider unit testing or usually simply reuse the aforementioned methods to generate event sequences.…”
Section: Introductionmentioning
confidence: 99%