Towards Automated Defect Analysis Using Execution Traces of Scenario-Based Models

Research output: Chapter in book/report/conference proceedingConference contributionResearchpeer review

Authors

  • Joel Greenyer
  • Daniel Gritzner
  • David Harel
  • Assaf Marron

External Research Organisations

  • Weizmann Institute of Science
View graph of relations

Details

Original languageEnglish
Title of host publicationModel-Driven Engineering and Software Development
Subtitle of host publication6th International Conference, MODELSWARD 2018, Revised Selected Papers
EditorsLuís Ferreira Pires, Bran Selic, Slimane Hammoudi
PublisherSpringer Verlag
Pages335-354
Number of pages20
ISBN (electronic)978-3-030-11030-7
ISBN (print)978-3-030-11029-1
Publication statusPublished - 1 Feb 2019
Event6th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2018 - Funchal, Portugal
Duration: 22 Jan 201824 Jan 2018

Publication series

NameCommunications in Computer and Information Science
Volume991
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

Cite this

Towards Automated Defect Analysis Using Execution Traces of Scenario-Based Models. / Greenyer, Joel; Gritzner, Daniel; Harel, David et al.
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 proceedingConference contributionResearchpeer review

Greenyer, J, Gritzner, D, Harel, D & Marron, A 2019, Towards Automated Defect Analysis Using Execution Traces of Scenario-Based Models. in LF Pires, B Selic & S Hammoudi (eds), Model-Driven Engineering and Software Development: 6th International Conference, MODELSWARD 2018, Revised Selected Papers. Communications in Computer and Information Science, vol. 991, Springer Verlag, pp. 335-354, 6th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2018, Funchal, Portugal, 22 Jan 2018. https://doi.org/10.1007/978-3-030-11030-7_15
Greenyer, J., Gritzner, D., Harel, D., & Marron, A. (2019). Towards Automated Defect Analysis Using Execution Traces of Scenario-Based Models. In L. F. Pires, B. Selic, & S. Hammoudi (Eds.), Model-Driven Engineering and Software Development: 6th International Conference, MODELSWARD 2018, Revised Selected Papers (pp. 335-354). (Communications in Computer and Information Science; Vol. 991). Springer Verlag. https://doi.org/10.1007/978-3-030-11030-7_15
Greenyer J, Gritzner D, Harel D, Marron A. Towards Automated Defect Analysis Using Execution Traces of Scenario-Based Models. In Pires LF, Selic B, Hammoudi S, editors, Model-Driven Engineering and Software Development: 6th International Conference, MODELSWARD 2018, Revised Selected Papers. Springer Verlag. 2019. p. 335-354. (Communications in Computer and Information Science). doi: 10.1007/978-3-030-11030-7_15
Greenyer, Joel ; Gritzner, Daniel ; Harel, David et al. / Towards Automated Defect Analysis Using Execution Traces of Scenario-Based Models. Model-Driven Engineering and Software Development: 6th International Conference, MODELSWARD 2018, Revised Selected Papers. editor / Luís Ferreira Pires ; Bran Selic ; Slimane Hammoudi. Springer Verlag, 2019. pp. 335-354 (Communications in Computer and Information Science).
Download
@inproceedings{7fbed25739484975b8709387b306fb3b,
title = "Towards Automated Defect Analysis Using Execution Traces of Scenario-Based Models",
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{\textquoteright} 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{\textquoteright}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",
author = "Joel Greenyer and Daniel Gritzner and David Harel and Assaf Marron",
note = "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).; 6th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2018 ; Conference date: 22-01-2018 Through 24-01-2018",
year = "2019",
month = feb,
day = "1",
doi = "10.1007/978-3-030-11030-7_15",
language = "English",
isbn = "978-3-030-11029-1",
series = "Communications in Computer and Information Science",
publisher = "Springer Verlag",
pages = "335--354",
editor = "Pires, {Lu{\'i}s Ferreira} and Bran Selic and Slimane Hammoudi",
booktitle = "Model-Driven Engineering and Software Development",
address = "Germany",

}

Download

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 -