Details
Original language | English |
---|---|
Title of host publication | Model-Driven Engineering and Software Development |
Subtitle of host publication | 6th International Conference, MODELSWARD 2018, Revised Selected Papers |
Editors | Luís Ferreira Pires, Bran Selic, Slimane Hammoudi |
Publisher | Springer Verlag |
Pages | 335-354 |
Number of pages | 20 |
ISBN (electronic) | 978-3-030-11030-7 |
ISBN (print) | 978-3-030-11029-1 |
Publication status | Published - 1 Feb 2019 |
Event | 6th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2018 - Funchal, Portugal Duration: 22 Jan 2018 → 24 Jan 2018 |
Publication series
Name | Communications in Computer and Information Science |
---|---|
Volume | 991 |
ISSN (Print) | 1865-0929 |
ISSN (electronic) | 1865-0937 |
Abstract
Modern software systems are so complex that at times engineers find it difficult to understand why a system behaves as it does under certain conditions, and, in particular, which conditions trigger specific behavior. This adds a significant burden to tasks like debugging or maintenance. Scenario-based specifications can mitigate some of the problems engineers face thanks to the scenarios’ intuitiveness, executability and amenability to formal methods such as verification and synthesis. However, as a specification grows it becomes increasingly difficult to fully comprehend the interplay of all scenarios, thus again making it difficult to understand the final system’s behavior. Therefore we propose a (semi-)automatic trace analysis method. It incorporates automatic techniques for identifying interesting traces, or subsequences within traces, from large sets of long execution traces. Developers are interested in knowing whether certain specification properties hold: if a property holds, what are possible executions which are evidence of this? If a property does not hold, what are examples that violate it? Scenario-based specifications are well-suited to generating meaningful execution traces due to being based on events which are meaningful in the domain of the system under design. A key observation we made was that interesting properties of a trace are often encoded in just one or very few scenarios. These concise scenarios, describing desired or forbidden behavior, are often already part of the specification or should be added to it as they encode implicitly made assumptions. This paper incorporates and substantially extends the material of the paper published in MODELSWARD 2018 “Towards Systematic and Automatic Handling of Execution Traces Associated with Scenario-based Models” [1].
Keywords
- Abstraction, Behavioral programming, Debugging, Event log, Execution trace, Program repair, Scenario-based programming, Software engineering, System engineering
ASJC Scopus subject areas
- Computer Science(all)
- General Computer Science
- Mathematics(all)
- General Mathematics
Cite this
- Standard
- Harvard
- Apa
- Vancouver
- BibTeX
- RIS
Model-Driven Engineering and Software Development: 6th International Conference, MODELSWARD 2018, Revised Selected Papers. ed. / Luís Ferreira Pires; Bran Selic; Slimane Hammoudi. Springer Verlag, 2019. p. 335-354 (Communications in Computer and Information Science; Vol. 991).
Research output: Chapter in book/report/conference proceeding › Conference contribution › Research › peer review
}
TY - GEN
T1 - Towards Automated Defect Analysis Using Execution Traces of Scenario-Based Models
AU - Greenyer, Joel
AU - Gritzner, Daniel
AU - Harel, David
AU - Marron, Assaf
N1 - Funding information: This work has been funded in part by grants from the German-Israeli Foundation for Scientific Research and Development (GIF), from the Minerva foundation, and from the Israel Science Foundation (ISF).
PY - 2019/2/1
Y1 - 2019/2/1
N2 - Modern software systems are so complex that at times engineers find it difficult to understand why a system behaves as it does under certain conditions, and, in particular, which conditions trigger specific behavior. This adds a significant burden to tasks like debugging or maintenance. Scenario-based specifications can mitigate some of the problems engineers face thanks to the scenarios’ intuitiveness, executability and amenability to formal methods such as verification and synthesis. However, as a specification grows it becomes increasingly difficult to fully comprehend the interplay of all scenarios, thus again making it difficult to understand the final system’s behavior. Therefore we propose a (semi-)automatic trace analysis method. It incorporates automatic techniques for identifying interesting traces, or subsequences within traces, from large sets of long execution traces. Developers are interested in knowing whether certain specification properties hold: if a property holds, what are possible executions which are evidence of this? If a property does not hold, what are examples that violate it? Scenario-based specifications are well-suited to generating meaningful execution traces due to being based on events which are meaningful in the domain of the system under design. A key observation we made was that interesting properties of a trace are often encoded in just one or very few scenarios. These concise scenarios, describing desired or forbidden behavior, are often already part of the specification or should be added to it as they encode implicitly made assumptions. This paper incorporates and substantially extends the material of the paper published in MODELSWARD 2018 “Towards Systematic and Automatic Handling of Execution Traces Associated with Scenario-based Models” [1].
AB - Modern software systems are so complex that at times engineers find it difficult to understand why a system behaves as it does under certain conditions, and, in particular, which conditions trigger specific behavior. This adds a significant burden to tasks like debugging or maintenance. Scenario-based specifications can mitigate some of the problems engineers face thanks to the scenarios’ intuitiveness, executability and amenability to formal methods such as verification and synthesis. However, as a specification grows it becomes increasingly difficult to fully comprehend the interplay of all scenarios, thus again making it difficult to understand the final system’s behavior. Therefore we propose a (semi-)automatic trace analysis method. It incorporates automatic techniques for identifying interesting traces, or subsequences within traces, from large sets of long execution traces. Developers are interested in knowing whether certain specification properties hold: if a property holds, what are possible executions which are evidence of this? If a property does not hold, what are examples that violate it? Scenario-based specifications are well-suited to generating meaningful execution traces due to being based on events which are meaningful in the domain of the system under design. A key observation we made was that interesting properties of a trace are often encoded in just one or very few scenarios. These concise scenarios, describing desired or forbidden behavior, are often already part of the specification or should be added to it as they encode implicitly made assumptions. This paper incorporates and substantially extends the material of the paper published in MODELSWARD 2018 “Towards Systematic and Automatic Handling of Execution Traces Associated with Scenario-based Models” [1].
KW - Abstraction
KW - Behavioral programming
KW - Debugging
KW - Event log
KW - Execution trace
KW - Program repair
KW - Scenario-based programming
KW - Software engineering
KW - System engineering
UR - http://www.scopus.com/inward/record.url?scp=85061501363&partnerID=8YFLogxK
U2 - 10.1007/978-3-030-11030-7_15
DO - 10.1007/978-3-030-11030-7_15
M3 - Conference contribution
AN - SCOPUS:85061501363
SN - 978-3-030-11029-1
T3 - Communications in Computer and Information Science
SP - 335
EP - 354
BT - Model-Driven Engineering and Software Development
A2 - Pires, Luís Ferreira
A2 - Selic, Bran
A2 - Hammoudi, Slimane
PB - Springer Verlag
T2 - 6th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2018
Y2 - 22 January 2018 through 24 January 2018
ER -