ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
ĐOÀN THỊ THÙY LINH
NGHIÊN CỨU PHƯƠNG PHÁP SNH CA KIỂM THỬ TỪ
MÔ HÌNH MÁY HỮU HẠN TRẠNG THÁI
Ngành: Công nghệ thông tin
Chuyên ngành: Công nghệ phần mềm
Mã số: 60 48 10
TÓM TẮT LUẬN VĂN THẠC SĨ
Hà nội, 2012
3
MỤC LỤC
DANH SÁCH BẢNG 5
DANH SÁCH HÌNH VẼ 6
DANH MỤC CÁC CHỮ VIẾT TẮT 7
Chương 1. GIỚI THIỆU 8
t vn 8
1.2. Nu 8
1.3. C 8
Chương 2. MÁY HỮU HẠN TRẠNG THÁI (FSM) 10
10
2.2. Biu din FSM 11
2.2.1. Biu din kiu li 11
2.2.2. Biu din b th 12
2.2.3. Biu din bng dng bng 12
2.3. Mt s t ca FSM 13
c t (Completely specified) 13
nh (Deterministic) 14
nh (Strongly connected) 15
2.3.4. Ti gin (Reduced) 16
Chương 3. MỘT SỐ PHƯƠNG PHÁP XÁC ĐỊNH CHUỖI KIỂM
CHỨNG TRẠNG THÁI 18
3.1. Chu ra duy nht (Unique Input - Output sequence) [5] 18
3.1.1. Mt s m 19
3.1.2. Thu 20
3.2. Chut (Distinguishing sequence) [5] 25
3.2.1. Mt s m 25
3.2.2. Thu 27
3.3. Chu 29
3.3.1. Mt s m 29
29
Chương 4. KIỂM THỬ DỰA TRÊN MÔ HÌNH FSM 34
4
4.1. Mi quan h ng ca hai FSM 34
4.2. Kim th d 35
4.3. Mt s lng gt FSM 37
Chương 5. KỸ THUẬT SINH CA KIỂM THỬ 40
bao ph u hn tr 40
bao ph tr 40
bao ph chuyn tr 42
5.2. K thut sinh ca kim th 44
ng ca kim th 44
5.m th 45
51
Chương 6. KẾT LUẬN 57
TÀI LIỆU THAM KHẢO 58
5
DANH SÁCH BẢNG
2.1: Minh ha vic biu din FSM
bng dng bng 13
Bng 3.1: Chui UIO ca FSM G
1
24
Bng 3.2: khi tr 26
Bng 3.3: Bng chut ca FSM G
2
29
Bng 3.4: B FSM G
3
30
Bng 3.5: Bc 1 ca FSM G
3
31
Bng 3.6: Bng P
1
c 2 ca FSM G
3
31
Bng 3.7: Bng P
2
c 3 ca FSM G
3
32
Bng 3.8: Bng P
3
c 4 ca FSM G
3
32
Bng 3.9: Bc 5 ca FSM G
3
32
Bng 4.1: Bng tng ht FSM M
I
38
Bng 5.1: dng ca kim th 45
Bng 5.2: Ca kim th tru ca FSM M
S
46
Bm th TC1 ca FSM M
S
50
Bm th TC2- ca FSM M
S
50
Bm th TCk- ca FSM M
S
50
Bng 5.6: Ca kim th ca FSM M
S
54
Bng 5.7: Kt qu kim th ca FSM M
I1
55
Bng 5.8: Kt qu kim th ca FSM M
I2
55
Bng 5.9: Kt qu kim th ca FSM M
I3
56
6
DANH SÁCH HÌNH VẼ
a vic biu din FSM b th 12
v FSM M
1
c t 13
v FSM M
2
c t . 14
v FSM M
3
nh. 14
v FSM M
4
nh. 15
v FSM M
5
nh. 15
v FSM M
6
u. 16
v FSM M
7
c ti gin. 16
v FSM M
8
c ti gin. 17
th FSM G
1
. 19
a FSM G
1
22
nh chu 23
th FSM G
2
25
a FSM G
2
28
3
30
c t 34
hi 34
m kim th vi vic kim chng tr
36
u hn trng
1
41
tt c a FSM C
1
41
m th ca FSM C
1
. 43
th biu din FSM M
S
[5]. 51
u hn tr
I1
51
u hn tr
I2
. 52
u hn tr
I3
. 52
m th t
S
. 53
7
DANH MỤC CÁC CHỮ VIẾT TẮT
Từ viết tắt
Ý nghĩa
Giải thích tiếng Việt
DS
Distinguishing sequence
Chut
FSM
Finite state machine
u hn trng
UIO
Unique Input - Output
sequence
Chu ra duy
nht
VER
State verification
sequence
Chui kim chng
tr
W
Characterizing sequence
Chu
8
Chương 1. GIỚI THIỆU. Đặt vấn đề
Hit nhiu h thc t ho
hu hn tr thng reactive ( thng,
kt qu u kin/ trng ng v
trong ho) [9] c truyn thng, h thu khin,
h th. y vikim th
u h nh cca
m bo cha h thng. a h
tht so vc t t h th
c gp nht rt chung
chung [5]. Trong luxin gii thiu ning ca
u hn tr p nhc
ca h thm th d
hu hn tr kim th s ng c hu hn tr.
1.2. Nội dung nghiên cứu
Luu mt s nh chui kim
chng tr chu ra duy nht (UIO), chu t (DS),
chuWm th h thng du
hn tr t u phsinh ca kim th
kim th ng bc t phn mm theo
u hn tr
1.3. Cấu trúc luận văn
Phi ca lu
Chương 2: Máy hữu hạn trạng thái (FSM).
u din mt FSM theo kiu li th hoc dng bng.
t s t ca mt u
hn tr
Chương 3: Một số phương pháp xác định chuỗi kiểm chứng trạng thái.
mt s nh chui kim chng tr
ca ra duy nht (UIO), chut (DS),
chuW).
9
Chương 4: Kiểm thử dựa trên mô hình FSM. c mi
quan h ng cm th s ng ca hai FSM,
tng h lng gp khi t FSM.
Chương 5: Kỹ thuật sinh ca kiểm thử. c bao ph
cu hn tra ch bao ph tt nh n
sinh ca kim thm th
c th
Chương 6: Kết luận tng kt nhng kt qu c ca lu
u tip theo.
10
Chương 2. MÁY HỮU HẠN TRẠNG THÁI (FSM)
2.1. Định nghĩa FSM
u hn tr FSM) [7] h d
trn tr c s dng r
mc cp phn mc bit ph bin trong thit k h
thng vi c truy th th u
khiu hn tr Moore.
Mealy tn tr
to ra output dn tr thuc).
u hn tr(Mealy machine) [5, 7] t b M = <S, I, O, s
o
,
>:
mt t,
,
u ra,
s
0
u,
n tr,
: S x I u ra.
[4] FSMm:
: (state)
(state transition)
t-
.
ng: (input)
FSM (output)
. C.
Ngun gc FSM [7] t ng hu hn (Finite Automata), gm 5
n (Q, , , q
0
, F)
mt tp hu h tri,
mt tc g tp ch p (input
alphabet),
: Q x Q n tr,
11
q
0
Q u,
F Q mt tp tr.
ng hu hc s dng ch y
c nhn. Ti thu, c gi thit trng
u q
0
, vu nhc) c
a chui nhp. Trong sut mi ln di chuyu nhp tin v
phi my mi ln di chuyn s ly mp.Khi
gu ki, chuc chp nhn (accepted) n ng
hu h trc li b t
chi.
u hn tr ng hu hn ta
thy rng: FSM u ra (output) .
Trong lu
2.2. Biểu diễn FSM
2.2.1. Biểu diễn kiểu liệt kê
Cho FSM M = <S, I, O, s
0
.
Tru s
0
Tp trs
1
, s
2
, s
n
}
Tp Inputs I = {i
1
, i
2
, , i
n
}
Tp chuyn tr(i
i
,s
j
) = s
t
} vi i
i
I s
j
, s
t
S
Tp Outputs O = {(s
i
,i
k
) = o
t
} vi s
i
S; i
k
I; o
t
O
Ví dụ: FSM M = <S, I, O, s
0
T S = {A, B, C, D}
Tp Inputs I = {0, 1}
Tp Outputs O = {0, 1}
Trng u s
0
= A
Tp chuyn tr ,
Tp Ong vi s chuyn tr(A,0) = 0, B,0) = 0,
(B,1) = 1, 1) =1}
12
2.2.2. Biểu diễn bằng đồ thị
u t c c biu din b
m:
.
nh c th
vcp input/output u / .
T vi FSM M b mc 2.2.1, ta
biu din FSM M b th 2.1
Hình 2.1: Minh họa việc biểu diễn FSM bằng đồ thị.
2.2.3. Biểu diễn bằng dạng bảng
thri
N)
T.
.
(
(
13
/o
-.
Ví dụ: c biu diH2.1B
2.1
Bảng 2.1: Minh họa việc biểu diễn FSM
bằng dạng bảng
Start State
End State
A
B
C
D
A
-
0/0
1/1
-
B
0/0
1/1
-
-
C
-
-
-
1/0
D
1/0
-
0/1
0/1
2.3. Một số tính chất của FSM
2.3.1. Được đặc tả đầy đủ (Completely specified)
Mt FSM M c gc c t nu mi input a I tn ti
chuyn trnh ti mi tra M.
hi t FSM M
1
M
2
sau: v FSM M
1
c t
m v FSM M
2
c c t .
Hình 2.2: Ví dụ về FSM M
1
được đặc tả đầy đủ.
14
Hình 2.3: Ví dụ về FSM M
2
không được đặc tả không đầy đủ.
Hi mn ti chuyn tr ti mi
tra FSM M
2
.
vi input bt k, n ti chuyn trng t
trM
2
c t .
2.3.2. Đơn định (Deterministic)
Mt FSM M nh (Deterministic) nu cho m
I u nht mt s chuyn trnh ti mi tra M.
c lM nh (Nondeterministic).
hi c t ca m
FSM M
3
M
4
sau: v FSM M
3
cht nh, 5 v FSM M
4
t nh.
Hình 2.4: Ví dụ về FSM M
3
có tính chất đơn định.
15
Hình 2.5: Ví dụ về FSM M
4
có tính chất không đơn định.
QT mt tr bt k, vi mt mt
chuyn tr M
4
nh.
VT tr, vi input 0 chuyn ti trA hoc
tr FSM M
5
nh.
2.3.3. Liên thông mạnh (Strongly connected)
Mt FSM M c gnh (Strongly connected) nu bt k
tr ti bt k tr c li M
u (Weakly connected).
hi t nh ca m
M
5
M
6
sau: 6 v FSM M
5
nh, 7 v FSM M
6
u.
Hình 2.6: Ví dụ về FSM M
5
có tính liên thông mạnh.
16
Hình 2.7: Ví dụ về FSM M
6
có tính liên thông yếu.
6: Vi mnh c th
ti. T mt trt k c mt
hoc mt chuchuyn tr ta FSM M
5
M
5
nh.
i vi H7: T nh A hoc B ho
tnh C c th. T, n ti mt hoc mt chuchuyn
tr t trc B hoc D ti tra FSM M
6
FSM M
6
u.
2.3.4. Tối giản (Reduced)
Mc gc ti gin nu vi bt k cp trs
i
j
,
i t chu
i
,y)
j
,y).
c gti gin n
n ti chui input t tri tr
hi t ti gin ca FSM, t FSM M
7
c ti giM
8
c ti gin:
Hình 2.8: Ví dụ về FSM M
7
không được tối giản.
1
/0
17
Hình 2.9: Ví dụ về FSM M
8
được tối giản.
i v8: Gi s M
71
M
72
n sao ca FSM M
7
, tr
hin thi ca mng n thi c
tr M
71
M
72
quan
ng vi input truyM
71
M
72
. Khi truyn input 0
M
71
M
72
c trn th
0. c g
Kt hp hai tr t tr c FSM M
8
(H9) c ti gin.
ch ng vt
. i input y chu
ca FSM s C.
18
Chương 3. MỘT SỐ PHƯƠNG PHÁP XÁC ĐỊNH
CHUỖI KIỂM CHỨNG TRẠNG THÁI
Chui kim chng tr(state verification sequence)
th t tri tra mt FSM [5].
Theo [5] i chui kim chng tr a
FSM,
Chu ra duy nht (Unique Input - Output sequence)
Chut (Distinguishing sequence)
Chu sequence)
n tip theo s nh 3 loi
chu
3.1. Chuỗi vào – ra duy nhất (Unique Input - Output sequence) [5]
Ta s s dng FSM G
1
mc 3.1.
G
1
S = {A, B, C,
O = {0, 1} u ra (outputs).
A u.
n tr
u ra.
Ti L = {0/0, 0/1, 1/0}
b th sau:
19
Hình 3.1: Đồ thị mô tả FSM G
1
.
3.1.1. Một số khái niệm
Chu- ra duy nht (Unique Input Output sequence)
Mt chui
i
,y) c g chui UIO cho mi tr s
i
ca FSM M nu
n
i
,y)
j
,y) vi i j s
j
M.
Ví dụ: i input 010 cho trA ca FSM G
1
:
(A,010) = (A,0),1),0) = 000
Vi mi tra FSM G
1
(B,0),1),0) = 001
(D,010) = 100
(C,010p nhn chui 010
y: 010 chui UIO ca tra FSM G
1
.
Vec-ng dn (Path Vector), , t tp hp cp trng
ca mt chui chuyn tr (s
1
/s
1
, s
i
/s
i
, , s
k
/s
k
), vi s
i
ng
u s
j
i ca mt chuyn tr.
Vec-u (Inital V), mt tp tru ca
PV, cIV(PV) = (s
1
, , s
i
, , s
k
).
Vec-n thi (Current Vector) lt t
cui ca vec-ng dn. CV(PV) = (s
1
, , s
i
, , s
k
).
Mt vec-ng dn c g vec- t (Singleton Vector) n
cht cp tr
Ví dụ: PV = (B/D), t cp trPV t vec-
nht.
20
Mt vec-ng dn c gvec-ng nht (Homogeneous Vector)
nu tt c phn t ca vec-n thi
Ví dụ: PV = (A/B, C/B) CV(PV) = (B, B), tt c phn t ca CV(PV)
- ng nht.
T mt vec- ng dn PV, input-a mt
chuyn trgi t vec- ng dn mc t
(PV,
= {s
i
/s
i
| s
i
= (s
i
(s
i
,a) = b s
i
/ s
i
PV}
t cnh t i mt a c
t t sp xp i
L{pert (PV, a/b), a/b L} t c: tt c
ng dn vec-a FSM M c sp xi dng mt v
cp 1, 2, 3, , t c gn ct
ta du kin gu kin ct ta. Sau mi l
pert (PV, a/b) ta kiu kii:
t vec-ng nht hoc vec-t.
ng dn (path) t vec-u ti PV, tn ti PV sao
PV
ng UIO, nu mu kin ct ta tha
t vec-ng dn k
Mi tr
i
cchui UIO n na FSM
M t vec-ng dt.
3.1.2. Thuật toán sinh cây UIO
Input: M = <S, I, L.
Output: UIO.
Phương pháp: Thc hic sau
Bước 1: t ψ t t-ng dn , ban
u ψ cha vec-
Bước 2: t phn t ψ ψ c
.
Nn ti phn t .
21
Bước 3: ψ’ = pert(ψ,a
i
/b
i
) ψ vi a
i
/b
i
L.
u ψ c p nht UIO.
Bước 4: Nu pert(ψ,a
i
/b
i
), Bước 3 th u
kin D1 hoc D2 hoc D3, u ψ’ t k.
Bước 5: Quay lc 2.
Ví dụ:
ca FSM G
1
bi vic s dng tt c
phn c
(A/B, B/A) = pert(, 0/0)
(C/D, D/D) = pert(, 0/1)
(A/D, B/B, C/A, D/C) )
c th hii d h-ng
du, = (A/A, B/B, C/C, D/D). T gc v 3 cnh tng dn
vec-(A/B, B/A), (C/D, D/D), (A/D, B/B, C/A, D/C) v
phng c hin trong H
22
Hình 3.2: Cây UIO của FSM G
1
ở Hình 3.1.
23
Vec-ng d-n th
mt vec-ng nht. y vec-ng dn (C/D, D/D) s c
na, trong khi 2 vec-ng d
D/C) tip t Chu nhc ch ra trong
H ct.
Hình 3.3: Xác định chuỗi UIO trên cây UIO ở Hình 3.2.
24
Kt qu c tng h
Bảng 3.1: Chuỗi UIO của FSM G
1
Trạng thái
Chuỗi vào
Chuỗi ra
A
010
000
B
010
001
C
1010
0000
D
11010
00000
Ta kim chng li kt qu:
Kim chng trng chui 010
0) = 000
0) = 001
0) = 101
1) 0) = 100
Kim chng trng chui 010
010(B,0),1),0) = 001
010A,0),1),1) = 000
010(C,0),1),1) = 101
010) = (D,0),1),1) = 100
Kim chng trng chui 1010
10100000
1010,1),0),1),0) = 0111
1010,1),0),1),0) = 0001
1010,1),0),1),0) = 0101
Kim chng trng chui 11010
00000
,1),1),0),1),0) = 00101
,1),1),0),1),0) = 00001
,1),1),0),1),0) = 00101
25
3.2. Chuỗi phân biệt (Distinguishing sequence) [5]
S dng FSM G
2
mc 3.2.
G
2
S = {A, B, C,
O = {0, 1} u ra (outputs).
u.
n tr
u ra.
Ti L = {0/0, 0/1, 1/0, 1/1}
b th sau:
Hình 3.4: Đồ thị mô tả FSM G
2
.
3.2.1. Một số khái niệm
Cho FSM M = <S, I, O, s
0
i |S| = n,
Chut (Distinguishing Sequence): Mt chu
c gt n n
i
,x)
j
,x) vi s
i
, s
j
s
i
= s
j
.
Khi trState block) B n
t Svy:
Tn t ca B bng n.
Mt khi tr cha n multisets vi mi phn t ca
.
26
Mt khi tr cha 1 multiset, phn t c tt c
a FSM M.
B v khi tr
Bảng 3.2: Ví dụ khối trạng thái
Khi trB1
{(A B C D)}
Khi trB2
{(A B), (C D)}
Khi trB3
{(A), (B), (C), (D)}
Vi Vi khi tr B1 (A B C D) - t c ng
a FSM.
Vi khi trB2 (A B), (C D)
Vi khi trB3 (A), (B), (C), (D) i
t phn t trong tp tra FSM.
Vi khi trB = {W
1
, ,W
i
, ,W
m
} t a
Inh
B’= dpert(Bi mt phn t multiset W
i
= (w
i1
, w
i2
,
w
ik
) ca B cha mt hoc nhiu phn t ca B
Nu hai tra W
i
tng vi
input a n t a B’.
Np theo ca tt c W
i
o
ng vi input a
mt phn t ca B’.
Cho FSM ti gin (reduced), khi tru ch bao gm
mt phn t cha mt ta FSM. Ti
n tt c khi trt c dng chc
xem B= dpert(B,a) t cnh t B
ti mt mi Ba ca. T mt khi trt tp
inpu sp xp |I| mi {dpert(B,a), a I } tt
cp. Tt c i tra FSM M sp xi dng m
vp 1, 2, , c gDS. Mt
i hn cp, t
cp gii hn, nhp gii hc bs dng
mu kin ct ta: