Đồ án tốt nghiệp đại học xây DỰNG hệ THỐNG hỗ TRỢ sửa lỗi CHƯƠNG TRÌNH sử DỤNG THUẬT TOÁN ‘rút gọn CHƯƠNG TRÌNH’ - Pdf 14

LỜI CẢM ƠN
 
 !"#$%&''("$
)*+(((,-.,-,!
/01(((2)/3*(4,
#*,5,6",*7,-
8,)/
9:;2<!"
&1<5$<32
=1(3>?>8()>@8(A,:%-
7,&,=B
C)D-
 %EC(!8(A3 F%,7,
C>#CB/4(EC+G-(
D;35H,%E
%IJ5!7,C>#CB
/4(+G-(
K
MỤC LỤC
LỜI CẢM ƠN 1
MỤC LỤC 2
DANH MỤC TỪ VIẾT TẮT 4
DANH MỤC HÌNH 5
Chương 1 Giới Thiệu 7

KKL-KM
KNOHE4P8/CBKK
KQ9R=GKN
KSTE"KQ

 !"

96"1$A
KKcG-<2MSe
KNcG-<2*S`
N$O$0*PC)7QJ *(RS
NKDf2,>g(h*(CBSd
NN.754(CB1Sd
NQDi75Ej,"k[M
NSDi5=l)'[M
N[Di5][K
N^LCgWY_>(_ZC5Di[K
NeOHEH-[N
N`L-#[S
B18=%)F/ F.
BP T*1'#F=F*-
BN T*1') -.A
NdD,6")[d
UPVW 6$)7.S
Q
XT?/Y$!"LC>6$)7:
SKLm4hV4(\_n,P_nE7H-^Q
(T*1& :
(T*1&Z:
(T*1& C6$[:
(T*1$5C6$[:
SNbV4(UGV(R7^S
XLC>%&'()*2FCF/FF-:
XLC>/0*1'2  2FCF/FF-:.
.(\::
[KbH@12,%*CB^e
[ND:1FGV(R7^e

UGV(R7(2
O\T OCC\_(___
UGV(R7CB
Oc OCCc P8/CB
P_n
c_nP_n_C__,C%_>
4(%*1>R
c\T
c>_\_(___TC(
UGV(R7-
DANH MỤC HÌNH
Hình 2.1. Chương trình và đồ thị luồng điều khiển tương ứng 16
Hình 2.2. Chương trình và cây điểm trội tương ứng với đồ thị trong
Hình 2.1 18
Hình 2.3. Cây điểm trội sau của đồ thị luồng điều khiển trong Hình 2.1.
18
[
Hình 2.4. Các phụ thuộc điều khiển của chương trình trong Hình 2.1 20
21
Hình 2.5. Chương trình và Đồ thị phụ thuộc điều khiển tương ứng 21
Hình 2.6. Chương trình và Đồ thị phụ thuộc dữ liệu tương ứng 22
Hình 2.7. Đồ thị phụ thuộc chương trình của chương trình trong Hình
2.6 23
Hình 2.8. Tập các biến được định nghĩa và sử dụng của một chương
trình 24
Hình 2.9. Rút gọn tĩnh được tính cho câu lệnh cuối cùng (bên trái) và
Rút gọn động cho đầu vào op = “sin” (bên phải) 27
Hình 2.10. Rút gọn tiến và rút gọn lùi 28
Hình 2.11. Đồ thị phụ thuộc hệ thống (System Dependence Graph) 29
Hình 3.1. Chương trình và Đồ thị phụ thuộc chương trình tương ứng 41

7%*'EH-s)83_)-/>jC
>5H-'&#*,-=Es&BxL
-'/,BC7%3'>&)(
6"C>EH-(R7p')
e
>&'7CBF'H-(R
7,H-s.P8/CB1"4(l'3OchV
(R77@7,,B*'>jxC14(CB,C6
"  C    -  ,R    #  *    CB  }  >  x
WDebuggingZ3=1(CBWProgram IntegrationZ3%CB(
"WSoftware MaintenanceZ3)&WTestingZ,61
("WSoftware Quality AssuranceZ
OCCcWP8/CBJOcZEC7R5
=!'<C4(CB&xC1/C,-%CB(
"D8*(4,)->}7C8/WSliceZ7
CBOE&p#*%* vW%*1Va
:>RE&pZ4(6H-O,-@
H-'<*%*vOc'&1>R_"
)C-xC1,-%CB("
9C)~_>_C3C)-P8/CB
wKdedU&C1$<!'7#CB#>
,-B,>x4(CB,C@*T>8
'7CB,(2E(3CB@-&
C,"7)*#'3C#CB)&6Cv)*
#CB'C,")=h:)fF _
C"3&BCx4(CB,(@-5%
>}
Bước 1} BC%*xCCB;&C,")*#
CB
`

C$a,@CE,-2%rút gọn
chương trình'38#*V/"9R8
nghiên cứu các thuật toán Rút gọn chương trình, sau đó lựa chọn một
thuật toán phù hợp để cài đặt hệ thống hỗ trợ sửa lỗi cho các chương trình
viết bằng ngôn ngữ lập trình hướng đối tượng Visual C Sharp
d
1. Phát biểu bài toán
1.1. Khái niệm chung
D'")-,"P8/CBWProgram SlicingZL
-P8/CB1C%<~_>_C•dQ3dS3de‚%H
1/P8/a;@1WExecutable Backward Static
SliceZT/@1,B,-C8/>jECCB@
1
L-y;{Wq)YCZ1>R%<,B)hVP8/
_(((UGV(R7(-lFC8/
*FGV
T/C8/a,B%C8/1=)*#
%(H=aWStatic Analysis ProblemZ3R&'%
F7)*#C2,7)*#,
c@(C&P8/CB1(C&#
E,>}
U3~_>_C>R7UGVG")&WControl Flow
GraphZ7%&€C 4C8/
c'ƒ_>_•N^3eQ‚+!6P8/y;{+'
&1=7-#%v,-;UGV(R7
CBWProgram Dependence GraphZ%&€CL*
#'>'+1pCY„•SM3SK3SN3SQ3SS3S^3Se3S`3`N3`Q3`^‚
*(R(C&,:R&
T H3 LC_ , .>)! - ) - P8 / 7
W\cZ•[Q3[[‚}7C8/1=7,

@/74(;1('*:7-#
754(CB1 l'hH@-
xC1>xCB,*%v51
2D8>R5R>&:-xC1>
xCB>R4C8/CB}
o p-(')wxC1%7:&
54(CB%G})&5-)%35-:
%- W 3 )& - )ˆZ3   , %*   R3 
(27E3)&5-<C73)&''
7W(2Z3%*C03(WD>>ZD:&
54(CB1}l)*3''3,
2%7+1xC1
o D6C85-%C-(17
+,5aCB
o u-=7C8/()*#C8/','
&6(41
o CBC8/(xC1C8/-9_3)*#
,-=C8/79_>j1>REC
)'79_'>R*9_!
1C8/CG
o CBC8/>RC-(7R')
w=1(3'>j'CB(r(4(
CB,')w€BCx7C@#
KN
‰R=CBC8/CB'xC14(CB
,C,-B,>xCB3%CB("3)&
CB
1.4. Giới hạn của đề tài
8%*3-,h(C&D-(
"54(CB!'"fu5%4

 DK}D-,CB%G,#
CB(C&4P8/CB
 DN} CB%)-#*CB
=
 DQ} CB%,>>7>4P8/
CB%
 DS}OH=*-,CB%%
:-

Chương 2: Các khái niệm liên quan
KS
1. Luồng điều khiển (Control Flow)
C5%436C8")&Wn3Y_3
nCˆZ%&€G")&u=Rq&27
6C8if>j#*V6C8'1@-5
6C8")&''&1%V-WJumpZC
5%46(97>6C85-!1"V&B
5aWSemanticZG")&E27Cl1)
>j1CB%>H
1.1. Đồ thị luồng điều khiển (Control Flow Graph)
Định nghĩa 1:UGVWTC(Z37GV'T4(8
W_Z|/FWu_C_hZ,4(Wo_Zoh
DW3Z7o31/8,1/8
T2E8:%-'

Wc …P Z8)'
8,
n
Wc ƒOZ8)'8
Định nghĩa 2:UGVG")&WControl Flow GraphZ37G

Định nghĩa 3}DH&C7WDominator TreeZ7GV'
T,8%gc …P 7H%G8GVT3
'788c …P 3,'758…,8q*…
C7C@*(q
Ke
pBNNDCB,H&C72,GVCpBNK
Định nghĩa 4} C7GV',8)*8c ƒO38
'&'78&C7>qWO>]\_>Z*6
lq*8)*8c ƒO"0!…7OD8/…
&C7>q
Định nghĩa 5}D8/…&C7>C@*(q*…
7&C7>q3…Žq3)GE8D6…&C7
>,=D&C7>q
Định nghĩa 6}DH&C7>WO>]\C C__Z7GV
'T,8)*8c ƒO7H%G8T3'
78c ƒO,'758…,8q*…&
C7>C@*(q
pBNQDH&C7>GVG")&CpBNK
1.3. Phụ thuộc điều khiển (Control Dependence)
Định nghĩa 1}T/T7UGVG")&T/…,q
8CT3q(R7")&…*0!}
i. D'7C@*(Ol…*q
ii. q&C7>%6)B8D7OWCl…,qZ
K`
iii. q)&C7>…
*q(R7")&…3)'…'&'"8
Định nghĩa 2}UG V(R 7")&WControl Dependence
GraphZl)*lUGVG")&T7GV%G8
T,C'7'l8…*8q*q(R7
")&…UGV(R7")&'&1hH@lUG

Định nghĩa 1}97UGV(R75-1Va#7
H8((Cl17CB27(R75-l
8\*8•*0!65")->}
 8\Va%*h
 8•>R%*h
 L'7Va%*h5\,•
p(R75-%&VGfCV%*
1VaTCV1=E•(R7,68\
(R7,8
pBN^DCB,UGV(R75-2
NN
Định nghĩa 2}UGV(R7CBGV(R7"
)&'(R75-W:GV(R7
5-'(R7")&Z
pBNeUGV(R7CBCBCpBN^
NQ
2.2. Tính toán tập biến được định nghĩa và tập biến sử dụng
a. Xác định các biến sử dụng
4(%*1>RW)=-P_nWZ3,VC=H-Z%<7
H-GV(R71=7€%v7
(r(-GV2,CBU'%*=
fCV7%*'CH-
pBN` 4(%*1Va,>R7CB
b. Xác định tập biến được định nghĩa:
q*1Va%*EH-''1)%:
)<E34(%*1VaEH-)=-\_nWZ
DF')wfCV%*}
o 263%*17CV%v7H-
CC1(B%*h6-<%CH-
%*1Va,%*h6-<(=%(H

C_>•‹%‹C_>Œ
_>_ ““N
C_>•J%‹C_>Œ

N[

Trích đoạn Rỳt gọn chương trỡnh (Program Slicing) Khỏi niệm liờn quan Xõy dựng Đồ thị phụ thuộc chương trỡnh Cỏc phương thức của đối tượng đỉnh Chạy chương trỡnh và thử nghiệm hệ thống
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status