2018
DOI: 10.1016/j.jss.2017.11.025
|View full text |Cite
|
Sign up to set email alerts
|

Omniscient debugging for executable DSLs

Abstract: Omniscient debugging is a promising technique that relies on execution traces to enable free traversal of the states reached by a model (or program) during an execution. While a few General-Purpose Languages (GPLs) already have support for omniscient debugging, developing such a complex tool for any executable Domain Specific Language (DSL) remains a challenging and error prone task. A generic solution must: support a wide range of executable DSLs independently of the metaprogramming approaches used for implem… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
38
0

Year Published

2018
2018
2021
2021

Publication Types

Select...
5
1
1

Relationship

1
6

Authors

Journals

citations
Cited by 28 publications
(38 citation statements)
references
References 48 publications
(128 reference statements)
0
38
0
Order By: Relevance
“…The state of the model is considered observable and alterable at the time notifications are made and handled; hence, the possible observable states reached during an execution are heavily dependent on the granularity of the declared stepping rules in a semantics. This notification mechanism can not only be used to attach interactive debuggers [6] and trace constructors [7] to the execution. We explain later how we leverage this notification mechanism to enable exposed events and run-to-completion call requests.…”
Section: Execution Enginementioning
confidence: 99%
See 3 more Smart Citations
“…The state of the model is considered observable and alterable at the time notifications are made and handled; hence, the possible observable states reached during an execution are heavily dependent on the granularity of the declared stepping rules in a semantics. This notification mechanism can not only be used to attach interactive debuggers [6] and trace constructors [7] to the execution. We explain later how we leverage this notification mechanism to enable exposed events and run-to-completion call requests.…”
Section: Execution Enginementioning
confidence: 99%
“…We explain later how we leverage this notification mechanism to enable exposed events and run-to-completion call requests. The design of an execution engine is described in more detail in our previous work [5,6] and can be summarized as the following operations:…”
Section: Execution Enginementioning
confidence: 99%
See 2 more Smart Citations
“…Beyond classical forward-in-time debuggers, Bousse et al proposed a methodology for the development of generic omniscient debuggers for DSLs [2] backed by efficient and domain-specific execution trace management facilities [3]. Ráth et al use the VIATRA [29] framework to simulate Petri nets.…”
Section: Dsl Debuggingmentioning
confidence: 99%