|
The design and verification of
concurrent and real-time systems are notoriously difficult problems.
Among the software validation techniques, model checking approach
has been proved to be successful as an automatic and effective
solution. In this thesis, we study the verification of concurrent
and real-time systems using model checking approach.
First, we design an integrated formal language for concurrent and
real-time modeling, which combines high-level specification
languages with mutable data variables and low-level procedural codes
for the purpose of efficient system analysis, in particular, model
checking. Timing requirements are captured using behavior patterns
like deadline, time out, etc. A formal semantic model
is defined for this language.
Based on this modeling language, we investigate LTL verification
problem with focus of fairness assumptions, and refinement checking
problem with following results.
-
We propose a unified on-the-fly model checking algorithm to handle a
variety of fairness assumptions, which is further tuned to support
parallel verification in multi-core architecture with shared memory.
We apply the proposed algorithm on a set of self-stabilizing
population protocols, which only work under global fairness. One
previously unknown bug is discovered in a leader election protocol.
Population protocols are designed for networks with large or even
unbounded number of nodes, which gives the space explosion problem.
To solve this problem, we develop a process counter abstraction
technique to handle parameterized systems under fairness. We show
that model checking under fairness is feasible, even without the
knowledge of process identifiers.
-
Based on the ideas in FDR, we present a on-the-fly model checking
algorithm for refinement checking, incorporated with advanced model
checking techniques. This algorithm is successfully applied in
automatic linearizability verification and conformance checking
between Web Services.
Symbolic model checking is capable of handling large state space. We
present an alternative solution for LTL verification using bounded
model checking approach. Hierarchical systems are encoded as SAT
problems. The encoding avoids exploring the full state space for
complex systems so as to avoid state space explosion.
To support verification of real-time systems, we propose an approach
using a fully automated abstraction technique to build an abstract
finite state machine from the real-time model. We show that the
abstraction has finite state and is subject to model checking.
Furthermore, it weakly bi-simulates the concrete model and we can
perform LTL model checking, refinement checking and even timed
refinement checking upon the abstraction.
The main result of this thesis is Process Analysis Toolkit (PAT), a
self-contained framework to support composing, simulating and
reasoning of concurrent and real-time systems. PAT implements all
proposed model checking techniques catering for checking
deadlock-freeness, reachability, LTL checking, refinement checking
and etc. PAT adopts an extensible design, which allows new languages
and verification algorithms to be supported easily. Currently, three
modules have been developed in PAT. The experiment results show that
PAT is capable of verifying systems with large number of states and
complements the state-of-the-art model checkers in several aspects.
|
- Yang Liu, Jun Sun and Jin Song Dong. Scalable Multi-Core Model Checking Fairness Enhanced Systems. The 11th International Conference on Formal Engineering Methods (ICFEM 2009). Rio de Janeiro, Brazil, December, 2009. (Accepted).
- Jun Sun, Yang Liu, Jin Song Dong and Xian Zhang. Verifying Stateful Timed CSP using Implicit Clocks and Zone Abstraction. The 11th International Conference on Formal Engineering Methods (ICFEM 2009). Rio de Janeiro, Brazil, December, 2009. (Accepted).
- Jun Sun, Yang Liu, Abhik Roychoudhury, Shanshan Liu and Jin Song Dong. Fair Model Checking of Parameterized Systems. The sixth International Symposium on Formal Methods (FM 2009). Eindhoven, the Netherlands, November, 2009. (Accepted).
- Yang Liu, Wei Chen, Yanhong A. Liu and Jun Sun. Model Checking Lineariability via Refinement. The sixth International Symposium on Formal Methods (FM 2009). Eindhoven, the Netherlands, November, 2009. (Accepted).
- Yang Liu, Jun Pang, Jun Sun and Jianhua Zhao. Verification of Population Ring Protocols in PAT. The 3rd IEEE International Symposium on Theoretical Aspects of Software Engineering (TASE 2009). China.
- Jun Sun, Yang Liu, Jin Song Dong and Chun Qing Chen. Integrating Specification and Programs for System Modeling and Verification. The 3rd IEEE International Symposium on Theoretical Aspects of Software Engineering (TASE 2009). China.
- Shaojie Zhang, Yang Liu, Jun Sun, Jin Song Dong, Wei Chen and Yanhong A. Liu. Formal Verification of Scalable NonZero Indicators. The 21st International Conference on Software Engineering and Knowledge Engineering (SEKE 2009). pages 406-411, USA. 2009.
- Jun Sun, Yang Liu, Jin Song Dong and Jun Pang. Towards Flexible Verification under Fairness. The 21th International Conference on Computer Aided Verification (CAV 2009). pages 702-708, France, 2009.
- Jun Sun, Yang Liu, Jin Song Dong and Hai H. Wang. Specifying and Verifying Event-based Fairness Enhanced Systems. The 10th International Conference on Formal Engineering Methods (ICFEM 2008). Japan, 2008.
- Jun Sun, Yang Liu and Jin Song Dong. CSP Model Checking Revisited: Introducing a Process Analysis Toolkit. The third International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (ISoLA 2008), Greece, October 13-15, 2008.
- Jun Sun, Yang Liu, Jin Song Dong and Jing Sun, Compositional Encoding for Bounded Model Checking. Frontiers of Computer Science in China, Nov, 2008.
- Jun Sun, Yang Liu and Jin Song Dong. Bounded Model Checking of Compositional Processes, 2nd IEEE & IFIP Theoretical Aspects of Software Engineering Conference (TASE 2008), NanJing, China, Jun. 2008.
- Yang Liu, Jun Sun and Jin Song Dong. An Analyzer for Extended Compositional Process Algebras, The 30th International Conference on Software Engineering (ICSE 2008), Germany, 2008.
- Jin Song Dong, Yang Liu, Jun Sun and Xian Zhang, Verification of Computation Orchestration via Timed Automata. 8th International Conference on Formal Engineering Methods (ICFEM'06), Macau, November 2006.
|