SPLASH 2023
Sun 22 - Fri 27 October 2023 Cascais, Portugal
Mon 23 Oct 2023 11:45 - 12:30 at Room IV - Technical session 1

Developing reliable reactive software is notoriously difficult – particularly when that software reacts by changing its behavior. Some of this difficulty is inherent; software that must respond to external events as they arrive tends to end up in states that are dependent on the value of that input and its order of arrival. This results in complicated corner cases that can be challenging to recognize. However, we find that some of the complexity is an accident of the features of the programming languages widely used in industry. The loops and subroutines of structured programming are well-suited to data transformation, but poorly capture – and sometimes obscure – the flow of data through reactive programs developed using the inversion-of-control paradigm; an event handler that modifies the data flow tends to be declared closer to the definition of the event that activates it than to the initial definition of the data flow that it modifies. This paper approaches both challenges with a language inspired by the declarative modules of languages SIGNAL and Lustre and the semantics of the SodiumFRP Functional Reactive Programming library with a declarative mechanism for self modification through module substitution. These language features lead to software with a code structure that closely matches the flow of data through the running program and thus makes software easier to understand. Further, we demonstrate how those language features enable a bounded model checking approach that can verify that a reactor meets its requirements or present a \textit{counterexample trace}, a series of states and inputs that lead to a violation. We analyze the runtime performance of the verifier as a function of model size and trace length and explore a number of optimizations.

Mon 23 Oct

Displayed time zone: Lisbon change

11:00 - 12:30
Technical session 1REBLS at Room IV
11:00
45m
Talk
Periodic and Aperiodic Task Description Mechanisms in an FRP Language for Small-Scale Embedded Systems
REBLS
Kento Sogo Tokyo Institute of Technology, Yuta Tsuji Tokyo Institute of Technology, Sosuke Moriguchi Tokyo Institute of Technology, Takuo Watanabe Tokyo Institute of Technology
Link to publication DOI Authorizer link
11:45
45m
Talk
Thorium: Verifiable, Dynamic, Reactive Software
REBLS
Kevin Baldor The University of Texas at San Antonio, Jianwei Niu University of Texas at San Antonio, Xiaoyin Wang University of Texas at San Antonio