Checking Consistency of Event-driven TracesIn Person Talk
Event-driven programming is a popular paradigm where the flow of execution is controlled by two features: (1) shared memory and (2) sending and receiving of messages between multiple \emph{ handler threads} (just called handler) occurring in such programs. Each handler has a mailbox (modelled as a queue) for receiving messages, with the constraint that the handler processes its messages sequentially. Executions of messages by different handlers may be interleaved.
A central problem in this setting is understanding whether a candidate execution is \emph{consistent} with the semantics of event-driven programs. In this paper, we propose an axiomatic semantics based on the standard notion of \emph{traces} (also known as execution graphs) for such programs. We prove the equivalence of axiomatic and operational semantics. This allows us to rephrase the consistency problem axiomatically, resulting in the \emph{event-driven consistency problem} of checking whether a given trace is consistent. We analyze the computational complexity of this problem and show that it is NP-complete, even when the number of handler threads is bounded. On the positive side, we identify a tractable fragment: in the absence of nested posting, where handlers do not post new messages while processing a message, consistency checking can be performed in polynomial time. Finally, we implement our approach in a prototype tool and report on experimental results on a wide range of event-driven benchmarks.
Wed 29 OctDisplayed time zone: Chennai, Kolkata, Mumbai, New Delhi change
11:00 - 12:30 | Program Analysis, Specifications, and Decision ProceduresResearch Papers at R104 Chair(s): PRITAM MANOHAR GHARAT Microsoft Research India | ||
11:00 30mTalk | Checking Consistency of Event-driven TracesIn Person Talk Research Papers Parosh Aziz Abdulla Uppsala University; Mälardalen University, Mohamed Faouzi Atig Uppsala University, Sweden, Samuel Grahn Uppsala University, Govind Rajanbabu Uppsala University, Ramanathan S. Thinniyam Uppsala University | ||
11:30 30mTalk | Specification Inference modulo Oracles for Database-backed Web ApplicationsIn Person Talk Research Papers | ||
12:00 30mTalk | Decision Procedures for A Theory of String SequencesRemote Talk Research Papers Denghang Hu Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Taolue Chen Birkbeck, University of London, Philipp Ruemmer University of Regensburg and Uppsala University, Fu Song Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences; Nanjing Institute of Software Technology, Zhilin Wu Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences | ||