Independence and Concurrency in System Verification (ICSV)
The
long-term goal of this project is to develop a new independence based (i.e.
true concurrency) semantic model for CSP and novel concurrent programming
languages. It is hoped that the new semantic model, unlike its predecessors,
can be profitably exploited in practical applications of either software or
hardware nature. The project at the current stage is driven mainly by three
promising applications where independence is of crucial importance, e.g.
diamond mining and FDR2, scalable verification for next-generation concurrent
programming platform (e.g. multi-core systems) and semantic theory of Java
Memory models. Specifically it is about:
1.
Building on our past work on `untangled actions', which provides a
compositional (and thus cheap) way to find diamonds, a new technique is
developed on independence decorated LTSes. The
independence decorated LTSes is an extension of
asynchronous transition systems and concurrent automata. Guided by the dynamic
refinement of independence information, preliminary experiments show that more
diamonds can be found more cheaply. Collaboration for implementation in FDR2 is
planned with the Oxford FDR2 team if further experiments confirm the reduction.
2. Vacuous interleaving of independent actions causes state explosions
in analyzing concurrent programs. Low synchronization, though holds promise to
be more scalable on multi-core processors, causes interleaving to happen at a
finer level of granularity. By analyzing dynamic independence of actions we can
find truly conflicting actions and only interleave them for system analysis.
Using the new independence
based semantic model for concurrent programming languages (e.g. reactive action
labeled PO-traces), action conflict analysis can be carried out on a solid
foundation in a systematic way.
3.
The
Java Memory Model (JMM) gives informal semantics to shared-memory
multi-threading Java programs. It is widely accepted that only partial order models
(rather than interleaving models) can provide a faithful formal semantics to
JMM. The existing JMM formal specification is low-level and operational in
nature, so it is complicated and difficult to understand (actually, a previous
version of JMM has been found unusable). Based on recent investigations we
propose an abstract, high-level, independence-based (operational as well as denotational) model for JMM which appears promising. We
intend to carry on with this work to develop the full model and compare it with
existing JMM specification.
Funding: 80K USD from 2008 to 2009 by UNU-IIST
Project members:
Michael Adeniyi Akingbade(until April, 2009),
Ming Li, Weisong Li, Shuling Wang,
Xu Wang and Yongxin Zhao