Debugging Behavioral Programs Using Models@run.time

Research output: Contribution to book/Conference proceedings/Anthology/ReportConference contributionContributedpeer-review

Contributors

Abstract

Behavioral programming is a paradigm that allows to develop software based on scenarios and use cases. Behavior is implemented in asynchronous threads (b-threads) that run concurrently with each other and use event-based mechanisms to communicate and effect the overall system state. While the approach enables a natural and incremental development process, with a growing number of threads it gets increasingly harder to comprehend the system's state changes. In this paper, we address this problem with a debugger for behavioral programs. The debugger increases program comprehension by providing a clear overview of the system state as well as debugging-specific control capabilities such as breakpoints and advanced techniques like time-traveling and trace-comparison. For this, we utilize a runtime model of the system's state that is causally connected to the running system. We evaluate our approach using two case studies from literature.

Details

Original languageEnglish
Title of host publication2024 50th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)
PublisherIEEE
Pages160-167
Number of pages8
ISBN (electronic)979-8-3503-8026-2
ISBN (print)979-8-3503-8027-9
Publication statusPublished - 30 Aug 2024
Peer-reviewedYes

Publication series

SeriesEuromicro Conference on Software Engineering and Advanced Applications (SEAA)
ISSN2640-592X

Conference

Title50th Euromicro Conference Series on Software Engineering and Advanced Applications
Abbreviated titleSEAA 2024
Conference number50
Duration28 - 30 August 2024
Website
LocationSorbonne University
CityParis
CountryFrance

External IDs

ORCID /0000-0003-1537-7815/work/175749240
Scopus 85218629793

Keywords

Keywords

  • Computer bugs, Debugging, Event detection, Programming, Prototypes, Runtime, Servers, Software, behavioral programming, Debugging, models@run.time