Automatic Verification of Parameterized Systems by Over-Approximation

¡ LinkÃļping Studies in Science and Technology. Thesis ¡ LinkÃļping University Electronic Press
ā§Ģ.ā§Ļ
ā§§āϟāĻŋ āϰāĻŋāĻ­āĻŋāω
āχ-āĻŦ⧁āĻ•
155
āĻĒ⧃āĻˇā§āĻ āĻž
āϰ⧇āϟāĻŋāĻ‚ āĻ“ āϰāĻŋāĻ­āĻŋāω āϝāĻžāϚāĻžāχ āĻ•āϰāĻž āĻšā§ŸāύāĻŋ  āφāϰāĻ“ āϜāĻžāύ⧁āύ

āĻāχ āχ-āĻŦ⧁āϕ⧇āϰ āĻŦāĻŋāĻˇā§Ÿā§‡

This thesis presents a completely automatic verification framework to check safety properties of parameterized systems. A parameterized system is a family of finite state systems where every system consists of a finite number of processes running in parallel the same algorithm. All the systems in the family differ only in the number of the processes and, in general, the number of systems in a family may be unbounded. Examples of parameterized systems are communication protocols, mutual exclusion protocols, cache coherence protocols, distributed algorithms etc.

Model-checking of finite state systems is a well-developed formal verification approach of proving properties of systems in an automatic way. However, it cannot be applied directly to parameterized systems because the unbounded number of systems in a family means an infinite state space. In this thesis we propose to abstract an original family of systems consisting of an unbounded number of processes into one consisting of a fixed number of processes. An abstracted system is considered to consist of k+1 components—k reference processes and their environment. The transition relation for the abstracted system is an over-approximation of the transition relation for the original system, therefore, a set of reachable states of the abstracted system is an over-approximation of the set of reachable states of the original one.

A safety property is considered to be parameterized by a fixed number of processes whose relationship is in the center of attention in the property. Such processes serve as reference processes in the abstraction. We propose an encoding which allows to perform reachability analysis for an abstraction parameterized by the reference processes.

We have successfully verified three classic parameterized systems with replicated processes by applying this method.

āϰ⧇āϟāĻŋāĻ‚ āĻ“ āĻĒāĻ°ā§āϝāĻžāϞ⧋āϚāύāĻžāϗ⧁āϞāĻŋ

ā§Ģ.ā§Ļ
ā§§āϟāĻŋ āϰāĻŋāĻ­āĻŋāω

āχ-āĻŦ⧁āϕ⧇ āϰ⧇āϟāĻŋāĻ‚ āĻĻāĻŋāύ

āφāĻĒāύāĻžāϰ āĻŽāϤāĻžāĻŽāϤ āϜāĻžāύāĻžāύāĨ¤

āĻĒāĻ āύ āϤāĻĨā§āϝ

āĻ¸ā§āĻŽāĻžāĻ°ā§āϟāĻĢā§‹āύ āĻāĻŦāĻ‚ āĻŸā§āϝāĻžāĻŦāϞ⧇āϟ
Android āĻāĻŦāĻ‚ iPad/iPhone āĻāϰ āϜāĻ¨ā§āϝ Google Play āĻŦāχ āĻ…ā§āϝāĻžāĻĒ āχāύāĻ¸ā§āϟāϞ āĻ•āϰ⧁āύāĨ¤ āĻāϟāĻŋ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āĻŸā§‡āϰ āϏāĻžāĻĨ⧇ āĻ…āĻŸā§‹āĻŽā§‡āϟāĻŋāĻ• āϏāĻŋāĻ™ā§āĻ• āĻšā§Ÿ āĻ“ āφāĻĒāύāĻŋ āĻ…āύāϞāĻžāχāύ āĻŦāĻž āĻ…āĻĢāϞāĻžāχāύ āϝāĻžāχ āĻĨāĻžāϕ⧁āύ āύāĻž āϕ⧇āύ āφāĻĒāύāĻžāϕ⧇ āĻĒ⧜āϤ⧇ āĻĻā§‡ā§ŸāĨ¤
āĻ˛ā§āϝāĻžāĻĒāϟāĻĒ āĻ“ āĻ•āĻŽā§āĻĒāĻŋāωāϟāĻžāϰ
Google Play āĻĨ⧇āϕ⧇ āϕ⧇āύāĻž āĻ…āĻĄāĻŋāĻ“āĻŦ⧁āĻ• āφāĻĒāύāĻŋ āĻ•āĻŽā§āĻĒāĻŋāωāϟāĻžāϰ⧇āϰ āĻ“ā§Ÿā§‡āĻŦ āĻŦā§āϰāĻžāωāϜāĻžāϰ⧇ āĻļ⧁āύāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤
eReader āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āĻĄāĻŋāĻ­āĻžāχāϏ
Kobo eReaders-āĻāϰ āĻŽāϤ⧋ e-ink āĻĄāĻŋāĻ­āĻžāχāϏ⧇ āĻĒāĻĄāĻŧāϤ⧇, āφāĻĒāύāĻžāϕ⧇ āĻāĻ•āϟāĻŋ āĻĢāĻžāχāϞ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ“ āφāĻĒāύāĻžāϰ āĻĄāĻŋāĻ­āĻžāχāϏ⧇ āĻŸā§āϰāĻžāĻ¨ā§āϏāĻĢāĻžāϰ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āωāĻĻā§āĻĻ⧇āĻļā§āϝ⧇ āϤ⧈āϰāĻŋ āϏāĻšāĻžā§ŸāϤāĻž āϕ⧇āĻ¨ā§āĻĻā§āϰāϤ⧇ āĻĻ⧇āĻ“ā§ŸāĻž āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻžāĻŦāϞ⧀ āĻ…āύ⧁āϏāϰāĻŖ āĻ•āϰ⧇ āϝ⧇āϏāĻŦ eReader-āĻ āĻĢāĻžāχāϞ āĻĒāĻĄāĻŧāĻž āϝāĻžāĻŦ⧇ āϏ⧇āĻ–āĻžāύ⧇ āĻŸā§āϰāĻžāĻ¨ā§āϏāĻĢāĻžāϰ āĻ•āϰ⧁āύāĨ¤