59 research outputs found
The Way We Were: Structural Operational Semantics Research in Perspective
This position paper on the (meta-)theory of Structural Operational Semantic
(SOS) is motivated by the following two questions: (1) Is the (meta-)theory of
SOS dying out as a research field? (2) If so, is it possible to rejuvenate this
field with a redefined purpose?
In this article, we will consider possible answers to those questions by
first analysing the history of the EXPRESS/SOS workshops and the data
concerning the authors and the presentations featured in the editions of those
workshops as well as their subject matters.
The results of our quantitative and qualitative analyses all indicate a
diminishing interest in the theory of SOS as a field of research. Even though
`all good things must come to an end', we strive to finish this position paper
on an upbeat note by addressing our second motivating question with some
optimism. To this end, we use our personal reflections and an analysis of
recent trends in two of the flagship conferences in the field of Programming
Languages (namely POPL and PDLI) to draw some conclusions on possible future
directions that may rejuvenate research on the (meta-)theory of SOS. We hope
that our musings will entice members of the research community to breathe new
life into a field of research that has been kind to three of the authors of
this article.Comment: In Proceedings EXPRESS/SOS2023, arXiv:2309.0578
The MSO+U theory of (N, <) is undecidable
We consider the logic MSO+U, which is monadic second-order logic extended
with the unbounding quantifier. The unbounding quantifier is used to say that a
property of finite sets holds for sets of arbitrarily large size. We prove that
the logic is undecidable on infinite words, i.e. the MSO+U theory of (N,<) is
undecidable. This settles an open problem about the logic, and improves a
previous undecidability result, which used infinite trees and additional axioms
from set theory.Comment: 9 pages, with 2 figure
Energy Mean-Payoff Games
In this paper, we study one-player and two-player energy mean-payoff games. Energy mean-payoff games are games of infinite duration played on a finite graph with edges labeled by 2-dimensional weight vectors. The objective of the first player (the protagonist) is to satisfy an energy objective on the first dimension and a mean-payoff objective on the second dimension. We show that optimal strategies for the first player may require infinite memory while optimal strategies for the second player (the antagonist) do not require memory. In the one-player case (where only the first player has choices), the problem of deciding who is the winner can be solved in polynomial time while for the two-player case we show co-NP membership and we give effective constructions for the infinite-memory optimal strategies of the protagonist
A Local-Time Semantics for Negotiations
Negotiations, introduced by Esparza et al., are a model for concurrent
systems where computations involving a set of agents are described in terms of
their interactions. In many situations, it is natural to impose timing
constraints between interactions -- for instance, to limit the time available
to enter the PIN after inserting a card into an ATM. To model this, we
introduce a real-time aspect to negotiations. In our model of local-timed
negotiations, agents have local reference times that evolve independently.
Inspired by the model of networks of timed automata, each agent is equipped
with a set of local clocks. Similar to timed automata, the outcomes of a
negotiation contain guards and resets over the local clocks.
As a new feature, we allow some interactions to force the reference clocks of
the participating agents to synchronize. This synchronization constraint allows
us to model interesting scenarios. Surprisingly, it also gives unlimited
computing power. We show that reachability is undecidable for local-timed
negotiations with a mixture of synchronized and unsynchronized interactions. We
study restrictions on the use of synchronized interactions that make the
problem decidable.Comment: A shorter version appears in FORMATS 202
Checking Linearizability of Concurrent Priority Queues
Efficient implementations of concurrent objects such as atomic collections
are essential to modern computing. Programming such objects is error prone: in
minimizing the synchronization overhead between concurrent object invocations,
one risks the conformance to sequential specifications -- or in formal terms,
one risks violating linearizability. Unfortunately, verifying linearizability
is undecidable in general, even on classes of implementations where the usual
control-state reachability is decidable. In this work we consider concurrent
priority queues which are fundamental to many multi-threaded applications such
as task scheduling or discrete event simulation, and show that verifying
linearizability of such implementations can be reduced to control-state
reachability. This reduction entails the first decidability results for
verifying concurrent priority queues in the context of an unbounded number of
threads, and it enables the application of existing safety-verification tools
for establishing their correctness.Comment: An extended abstract is published in the Proceedings of CONCUR 201
Asynchronous Multiparty Session Type Implementability is Decidable - Lessons Learned from Message Sequence Charts
Multiparty session types (MSTs) provide efficient means to specify and verify asynchronous message-passing systems. For a global type, which specifies all interactions between roles in a system, the implementability problem asks whether there are local specifications for all roles such that their composition is deadlock-free and generates precisely the specified executions. Decidability of the implementability problem is an open question. We answer it positively for global types with sender-driven choice, which allow a sender to send to different receivers upon branching and a receiver to receive from different senders. To achieve this, we generalise results from the domain of high-level message sequence charts (HMSCs). This connection also allows us to comprehensively investigate how HMSC techniques can be adapted to the MST setting. This comprises techniques to make the problem algorithmically more tractable as well as a variant of implementability that may open new design space for MSTs. Inspired by potential performance benefits, we introduce a generalisation of the implementability problem that we, unfortunately, prove to be undecidable
On a Fragment of AMSO and Tiling Systems
We prove that satisfiability over infinite words is decidable for a fragment of asymptotic monadic second-order logic. In this fragment we only allow formulae of the form "exists t forall s exists r: phi(r,s,t)", where phi does not use quantifiers over number variables, and variables r and s can be only used simultaneously, in subformulae of the form s < f(x) <= r
Large-Scale Analysis of Framework-Specific Exceptions in Android Apps
Mobile apps have become ubiquitous. For app developers, it is a key priority
to ensure their apps' correctness and reliability. However, many apps still
suffer from occasional to frequent crashes, weakening their competitive edge.
Large-scale, deep analyses of the characteristics of real-world app crashes can
provide useful insights to guide developers, or help improve testing and
analysis tools. However, such studies do not exist -- this paper fills this
gap. Over a four-month long effort, we have collected 16,245 unique exception
traces from 2,486 open-source Android apps, and observed that
framework-specific exceptions account for the majority of these crashes. We
then extensively investigated the 8,243 framework-specific exceptions (which
took six person-months): (1) identifying their characteristics (e.g.,
manifestation locations, common fault categories), (2) evaluating their
manifestation via state-of-the-art bug detection techniques, and (3) reviewing
their fixes. Besides the insights they provide, these findings motivate and
enable follow-up research on mobile apps, such as bug detection, fault
localization and patch generation. In addition, to demonstrate the utility of
our findings, we have optimized Stoat, a dynamic testing tool, and implemented
ExLocator, an exception localization tool, for Android apps. Stoat is able to
quickly uncover three previously-unknown, confirmed/fixed crashes in Gmail and
Google+; ExLocator is capable of precisely locating the root causes of
identified exceptions in real-world apps. Our substantial dataset is made
publicly available to share with and benefit the community.Comment: ICSE'18: the 40th International Conference on Software Engineerin
- …