Analyzing dynamic properties of parallel program in ParJava Environment - PowerPoint PPT Presentation

About This Presentation
Title:

Analyzing dynamic properties of parallel program in ParJava Environment

Description:

Title: Analyzing dynamic properties of parallel program in ParJava Environment Author: Vartan Last modified by: kata Created Date: 8/30/2003 6:06:36 PM – PowerPoint PPT presentation

Number of Views:40
Avg rating:3.0/5.0
Slides: 73
Provided by: Vart8
Category:

less

Transcript and Presenter's Notes

Title: Analyzing dynamic properties of parallel program in ParJava Environment


1
??????????? ???????????? ???????????. ???????
????????? ? ????????
????????? ?????? ????????, ???????? ??????????
???????????????? ??? (??? ???) ivan_at_ispras.ru http
//ispras.ru/
16 ?????? 2012 ????
2
????????? ???????????? ??
??????? ??? ?????? (106 LOC) ?????? ???????
Windows 3.1 1992 3
Windows NT 3.5 1994 10 300
Windows NT 4.0 1996 16 800
Windows 2000 1999 30 1400
Windows XP 2001 45 1800
Linux Kernel 2.6.0 2003 5,7
Open Solaris 2005 9,7
Mac OS X 10.4 2006 86
Windows Vista 2007 gt 50
??? ???????? ??? (???????? ? ????????) 2007 1000
??????????? Debian 5.0 2009 323
3
?????????? ??????
  • ?????????? ?????? ?? 1000 ????? ???? (??
    ????????????) ???????? ??????????? ?????????? ??
    30 ???

??????????? ??????? ????? ?????? ?? 1000 ????? ????
Microsoft (?? ????????????) 10-20
NASA JPL (?? ????????????) 6-9
??????? ?? ????????? (????????) 6-30
Linux 7
Microsoft (????????) 0.5
NASA JPL (????????) 0.003
4
??????????? ? ?????????????? ???????????? ????????
  • ??????? ?????? ? ????????? ????? ???????? ???????
    ??????????
  • ?????????? ??????????? ???????????? ????????
    ?????????? ?????? ? ??????????? ??????????????
    ???????????? ????????
  • ????? ????????? ?????????????? ????????????
    ???????? ??? ???????? ?????????? ???????????
    ??????????

5
?????????? ???????????
  • ??????????
  • ???????????? (???????????? ?????????)
  • ????????????? ???????????
  • ??????????? ??????
  • ??????????????? ???????

6
??????????
  • ????? ??????, ?????? ? ?????? ??????? ??
    ????????? (?????? ?????? 2-5 ???????)
  • ???????
  • ?????? ?????? ??????????? ? ???????? ??????
  • ????????? ??????????
  • ?????????????????? 100-150 ????? / ???
  • ?? ????? 2-3 ????? ? ????
  • ?????????? ?????????? 50-90 ??????
    (?????????????? ?? ??? ????? ????? ??)
  • ????? ????????? ????????, ???????????? ? ?????
    ??? 10-?????? ?????? ????? ??????????? ???? ???
    ???????????

7
????????????
  • ?????? ???????????? ??????? ?? ?? ?????? ?
    ????????? ?????????, ? ????????????? ???????
  • ???????
  • ??????? ?????????, ??????? ? ??????????
  • ?????? ?????? ?? ????????? ?????????? ??? ??????
  • ?????????????????? ?????? ??????? ?? ?????,
    ???????, ????? ? ??.
  • Microsoft ?????????????????? ?????????? ??????
    ? ???????????? ???????? ????? ??, ??? ?
    ?????????? ????, 10 ?????/???
  • ?????????? ?????????? 30-80 ??????
  • ????? ???????????? ????????? ????????, ???
    ???????????? ??????????? ?? ????????

8
?????? ?????? DMS (??? ???)
  • ?????????? ?????? ??? ?? ??????????? ???????????
    Nortel Networks ? ?????????????? ??????????
    ???????
  • ?????? ??????? 250 000 ?????, 230 ????????????
    ???????
  • ???????????? 10 ????????-???
  • ??????????
  • ???????? ????? ????????????? ??? ???????? ????
    ????? ?????? ??
  • gt 300 ?????? ? ??????? ? ?????????? ???????????
    99.9999
  • 12 ??????, ????????? ????????? ????????
  • 50 ???? ?????? ??????? ? ???? ??????????
  • ????????? ???????? ???????, ???????????????? ??
    ?????????? ???????????? ? ??????????? ?? ??
    ????????

9
?????????? ???????? ????????????
  • ??????? ????????? ????????
  • ???????????????? ????????? ? ??????????
  • ????????? ???? ?????, ?????????, ??????????
    ??????? ? ??????????
  • ??? ?????????? ?????? ????? ????????? ??????????
    ??????
  • ??????? ???????????? ????????? ????????
  • ??????? ???????????? ?? 15-20 ????????? ? ????
  • ????????? ?? 60-80 ????????? ? ????
  • ????? ?? ???? ?????????? ??????? 70-80
    ????????? ? ????
  • ????????????? ??????????? 100 ????????? ? ????

10
????????????? ???????????
  • ?????????? ???????? ????????? ????????? ?
    ?????????? ? ?????????????? ?????????? ??????????
  • ???????
  • ????? ?????? (??????????? ?????)
  • Provers, solvers, ????????????? ???????????
  • ???????????
  • ??????? ?????? PVS, Isabelle/HOL, Frama-C
  • ??????? ?????????? ???????????????, ????
    ???????????? ??????? seL4
  • ???? ??? ??? ????????? ?? ??????????? ? ???????
    Frama-C ( 100 ????????-????? ?? ?????????
    ???????? ??????? 100 ?????)

11
?????? ??????????? ???? ?? seL4
  • ???? ?????????? ?? seL4
  • 8700 ????? ?? C, 600 ????? ?? ??????????
  • ??? ?????????? 2.5 ????????-????
  • ???????????
  • 200 000 ????? ?????????? ??????
  • ?????????? Isabelle/HOL
  • ???????????? 20 ????????-??? (12 ???.)????????
    10000 ????

12
?????????????????????????
13
?????????? ??????
  • f(char p)
  • char s6
  • strcpy(s,p)
  • main1 ()
  • f(hello)
  • main2 ()
  • f(privet)

???? ????? ?????????? ??????? f, ????????? ??
main1
???? ????? ?????????? ??????? f, ????????? ??
main2
?? ????? ?????? main2 ???????? ?????? ????
????? main1
????? ????????
\0
\0
t
o
e
l
v
? ?????? main2 ????? ???????? ????????????? ?
?????????? ????? ???????? ?? ?? main2, ? ??
?????? ??????? ????
?????? s
l
i
e
r
h
p
14
???????????? ???????
  • ????????????
  • ???????? ??????? ??????????
  • ??????????? ?????? ?????????
  • ?????????

15
???????????? ????????
f(char p) char s10 strcpy(s,p)
f(char p) char s10 if (strlen(p)lt10) str
cpy(s,p)
f(char p) char s10 strncpy(s,p,10)
  • ????? ???????????? ??????????? ??????? ?
    ??????????????? ??????????? ?????????????
    ?????? ?? ????? ???????????? ??????????.
    ????????, ?????? strcpy(a,b) ????????????
    strncpy(a,b,n), ??? n-???????????? ??????????
    ?????????????? ????????
  • ??????? ???????? ????????????? ??????????????
    ????????? ???? ? ??? ??? ????? ???????? ??????
    ?????????????? ?? ???? ???????????? ???????
    ??????, ??????????????????? ??? ????? ???????? ??
    ??????? ????????? ?????????

16
?? ???????????? ?????? ? ???????????? ???????????
  • ???? ? ?????? ??????????? ?????????? ????????
    ??????????????????? ??? ???????? ???????
    ????????? ?????????
  • ????? ??????????? ???????? ????? ???????????,
    ?? ???? ???, ??????? ????????? ???????? ????????
    ???????
  • ?????????? ?????????? ?????????? ? ??????
    ????????? ?????? ?? ?????, ? ???????
    ????????????? ???????? ????????? ??????? ??????

17
???? ???????????? ??????? ????????? ???????? ?
??????????
  • ??????? (???????? ? ???????? ????) ?????
    ????????? ?
  • ??????????? ? ??????
  • ?????? ???????????? ?????? ?????????
  • ??????????? ?????? (security vulnerability)
    ?????? ? ?????? ?????????, ??????? ?????????
    ???????????? ??? ????????? ?????????
    ????????????? ????????? ???????? ????????
    ????????????? ???? ??????? ????????? ??? ??, ?
    ??????? ????????? ???????????.

18
??????????????? ???? ????????
  • ???????????? ??????
  • Format string ????????????? ???????? ??????????
    ??? ????????????? ??????? ????????? printf/scanf
  • Tainted input ???????????? ?????????????
    ????????????? ?? ???????????? ????????????????
    ??????
  • ????????????? ???????? ?????????
  • ?????? ??????
  • ????????????? ???????????????????? ??????

19
???????????? ???????????? ???????
  • ?????????????? ?????? ?????? ????? ??????????
    ????????????
  • ??????????? ????????, ????????????? ?????? ??
    ?????? ????? ??????????, ??? ?? ????????? ???????
    ?????? (??????? ????? ???? ???????????
    ??????????????? ? ???????? ?????)
  • ??????????? ??????? ?? ???????? ?????? ????????
    ??????
  • ?????????? ????????? ???????? ?? ????? ??????????
    ?????????

20
?????? ????????? ????????????
  • Flowfinder, ITS4, RATS, Pscan (????????????????
    ?????????)
  • CodeSurfer (?????????? ??? ???????????
    ??????????? ?? ???? CodeSurfer? ??????????)
  • FlexeLint (????????? ?? ?????), Splint
    (???????????????? ?????????)

21
?????????? ??????? ?????????
  • ??????? ????? ?????? ???????????? 90 ? ????
  • ??????? ???????? ???????????
  • ?????????? ?????? ???????? ??????????? ??????,
    ??????? ??????? ??????????? ???????????? ????????
    (????????????, ???????, ?????????)

22
??????????? ???????????
  • Coverity Prevent
  • Klockwork Insight
  • Svace

23
??? ??????
  • ??? ??????????? ??????????? ?? ??????????
    ????????? ?????????
  • ?????????????? data-flow ?????? ? ?????????? ??
    ????????????????? ??????
  • ?????? ??????????
  • ?????? ?????????? ? ???????? ?????????????
    ????????
  • ??????????-????????? (???????????? ??????????????
    ??????? ????????? ??? ?????? ????? ??????) ??????

24
????????????? ?????? ?? ?????? ??????????
void f(int i) char p5 int a if
(igt0) a4 else a3 pa0
igt0
yes
no
a4
a3
Value(a)3
Value(a)4
Value(a)3..4
pa0
- ??? ??????????
  • ????? ?????????????? ??????? ????????? ????????
    ????????? ??????????? ?????????? ? ????????
    ????????????? ????????? ???????? ?????????
    (???????? ??????????, ?????? ??????? ? ?.?.)
  • ??? ?????? ? ?????? ?????????????? ?????????????
    ????????, ??? ?????? ???????? ?????????? ??????
    ???????????

25
?????????? ?????????????? ??????? ??????????
void f(int i) char p5 int a,b,c if
(igt0) a0 else a1 ba4 cb-a pc0

Size(p)5
igt0
yes
no
a0
a1
Value(a)1
Value(a)0
Value(a)0..1
ba4
Value(a)0..1 Value(b)4..5
Value(a)0..1 Value(b)a4
  • ?????? ???????? ? ????????? ???????.
  • ?????????? ?????????? ? ?????? ????? ???????????
    ? ?????? ??????? ?? ?????? ?????????? ? ?????????
    ?????????? ??????? ????? ?????????? ??????
    ??????????.

cb-a
Value(a)0..1 Value(b)4..5 Value(c)3..5
Value(a)0..1 Value(b)a4 Value(c)4
pc0
Value(c) ????? ???? ?????? Size(p) gt ??????
??????
Value(c)ltSize(p)
26
????????????? ??????????????? ???????
  • f(char p, char s)
  • strcpy(p,s) // ?????????? ??????????? 6 ????,
    ??????? //????? ??????
  • main()
  • char p
  • pmalloc(5)
  • f(p,hello)
  • ? ??????????? ??????? ????????? ?? ??????
    ???????? 5 ???? ?????????? ? ??????? f, ???????
    ??? ??????????????? ??????? ??? ??????????
    ??????? ??????? ?? ??????? ?? ???? ?????? ???????
    strcpy ? ?????? ?? ?????????????

27
????????????? ??????? ??????????
  • char a10
  • char p
  • pa
  • p100
  • ??? ??????? ??????? ? ?????? ?????????? ???????
    ?????????? ?????????? ??????? ???????
    ????????????? ? ??????? ???????, ?? ???????
    ????????? p ?, ?????????????, ??????????
    ?????????? ??????? ??????

28
???????????? ?????????
  • char strcpy(char dst, const char src)
  • char d1 dst//dst ? src
  • char d2 src// ???????????????? ? ???????
  • //?????????? ????????? ?? ???????????? src
  • //(? ?????? ????????????????? ?????)
  • sf_set_trusted_sink_ptr(src)
  • //?????????? src ?????????? ? dst
  • sf_copy_string(dst, src)
  • //???????????? ??????? ????????
  • return dst

?????????? ??????????? ?????????????? ???????
29
????? ?????? Svace
??????? ??????-?????
??????-????? ???????????? ?????????
??????-????? ??? ???????? ??????
?????????? LLVM-GCC ??? CLANG
????????????????
?????????? ????????? ??????
??????-????
??????-?????
?????????? ???????????? ???????
?????????????? ???????
???????? ???
????????? ??????
?????????
?????? ??????????? ??????????
????????????? ?????????
???????? ???
??????? ??????
????? ? ???????? ?????
??????-????
?????? ? ???????????? ??????? ????? ?????????
Eclipse
???????????????-?????
30
?????????? ?????????
???????????? ???????????? ??????? ?? ????? ??
?????????? LLVM-GCC ??? CLANG
?????????
??????
??????? ????????????
??????-????? ???????????? ?????????
??????
?????? ?????? ???????
?????????? ????? ???????
??????? ????????????? ?????????
??????-????? ??? ???????? ??????
?????? ????????? ???????
????? ????????????
????? ????????????
31
?????????????? ??????? ????????? ???????
???? ??????? ???????
???????? ????????? ???????????? ???????
main
printf
prinf
q
w
strcpy
c
a
b
strcpy
?????????????? ?????? (????????????, tainted,
??????? ??????????, ??????? ? ??.)
?????????? ??????????????? ??????? ???????
??????? ???????
a
b
c
q
w
main
?????? ??????? c
?????????
a
q
b
31
32
????? ???????
?????? ????? ?? ? ?? ???? ????? ??????? ????? ? ???????
libxml 5245 39 ? 134
gperf 6516 33 ? 197
aide 13945 58 ? 240
ffmpeg 75521 1 ? 20 ? 944
gstreamer.0.10 101954 2 ? 43 ? 625
qtiplot 158771 5 ? 07 ? 517
openssl 240264 19 ? 51 ? 202
postgresql-8.4 503815 23 ? 38 ? 355
firefox 2862047 2? 35 ? 40 ? 306
android 11 ???. 13 ? 58 ? 218
?? ??????????? ????? ?????????? ???????
33
????????? ? Coverity Prevent
??? ?????????????? ???????? ???????????? Svace ???????? ???????????? Prevent ?????????????? ???????? ???????????? Prevent,
???????????? ?????? 60 10 100
?????? ? ??????????? ?????????? ??????? 50 70 20
????????????? NULL 70 60 50
??????????? ???? 70 70 80
???????????????????? ?????? 60 40 50
???????????? ????? ???????????? ???????? 60 90 30
????????? ????? 90 90 80
???????? ?? ???????? 100 100 100
?????? (????? 30) 50 70 30
34
??????? ?????????
  • ?????? ???????? ?? ??\??.
  • ?????????? ?? ???????? ???? ?????????? ??? ??????
    ??????????? LLVM-GCC (??? CLANG)
  • ??? ??????????? ?? ?????? ????????? (????????
    ????????????????)
  • ????????? ?????????????? ??????
  • ????????? ???????????????? ???????????? ???????
  • ????? ???????????? ??????????? ????????????
    ??????? (??, Linux)
  • ????? ????????? ?????? ????????? ????????
    (???????????? ??????, ????????????? ????????
    ????????? ? ??.)
  • ????? ????????? ?????? ???????? ?????????
  • ??????????? ???????????????? ?????????,
    ????????????? ? ???? ?????????? ????? Eclipse

35
Avalanche ??????????? ?????? ??? ??????
????????????? ???????
36
???????????? ? ??????????? ?????? ????
  • ???????????? ?????? - ?????? ????????? ?? ?????
    ??????????
  • ??????????? ?????? - ?????? ??? ??????????
    ?????????

37
??????????? ?????? ??? ?????? ??????? ????????
  • ???????????? ??????
  • ????????? ????? ??????? ?????? ?/??? ?????
    ??????????
  • ??????? ?????????? ? ????????
  • ??????? ???????? ???????????
  • ??????????? ??????
  • ???????? ?? ???????? ??? ???????? ????
  • ?????? ??????????? ??????
  • ??????? ????????????????
  • ?????? ????????????

38
Valgrind
  • ????????? ???????????? ??????????????
  • ?????????????? ??????
  • ?????? ??????
  • ?????? ?????? ? ???????????? ???????
  • ??????????????????? ??????
  • ?????? ? ????????????? ??????????

39
Valgrind ????? ????? ??????
?????????? ????????????? ?????? Valgrind
??????????? RISC ??????
40
?????? ?????????? ?????????
41
?????? ?????????? ?????????
42
?????? ?????????? ?????????
43
?????? ?????????? ?????????
44
?????? ? ???? ???????
  • EXE tool, Stanford University - ?????????????
    ??????????
  • SAGE framework, Microsoft Research - white-box
    fuzz testing
  • KLEE, LLVM project

45
??????
char names one, two, ... char
buf3 fread(buf, 3, 1, f) // ?????? 3-? ????
?? ????? if (buf0 1) // ????????? 1
int index if (buf1 buf2 gt 0) //
????????? 2 index ... name
namesindex // index ?? ???????????????
// ????? ?? ??????? ??????? ... else
...
46
??????
fread(buf, 3, 1, f)
x1, x2, x3 byte x1 1 x2 x3 gt 0
buf0 1
buf1 buf2 gt 0
x1 1 x2 100 x2 200
47
??????
fread(buf, 3, 1, f)
??????? ????????? x1, x2, x3 byte (x1 1)
buf0 1
buf1 buf2 gt 0
???????
x1 2
48
??????
fread(buf, 3, 1, f)
??????? ????????? x1, x2, x3 byte x1 1 (x2
x3 gt 0)
buf0 1
buf1 buf2 gt 0
???????
x1 1 x2 0 x3 0
49
Avalanche
  • ??????????? ????? ?????????? (????????????
    ???????) ??????
  • ???????? ??????? ??????, ????? ??????????????
    ??????, ??? ?????? ????? ????? ?????????
  • ???????????? ??????????? ?????? - ?????????????
    ???????? ?????????, ??????? ?? ????,
    ???????????????????? ??????, ?????? ?????? ?
    ???????
  • ?????????? ????? ??????? ?????? ??? ??????
    ????????? ??????

50
Avalanche ????????
???????
??????????? ??????
??????????? ??????
Tracegrind
??????
Covgrind
??????????? ??????
??????????? ??????
??????? ??????
??????? ??????
??????
??????? ??????
\
??????????? ??????
???????
STP
51
??????????? ?????? Avalanche
  • ??????????? ?????? ?????? ???????????
  • ????? ????????? ????? ?????????? ?????????,
    ?????????????? ???????
  • ????????? ????????????? ? ??????????????? ???????

52
Tracegrind
  • ??????????? ????? ?????????? ?????? ? ?????????
  • ??? ?????? ??????????? ?? ??????? ??????????
    (?????, ??????? ??????, ????????? ??????????
    ??????, ?????????? ?????????)
  • ????????? ?????? ?????????? ? ????????? ???????
    (STP ???????????)

53
Tracegrind
  • ?????????? ??????????? ??????, ???????? ?
    ????????? ?????????? ??? ?????? ???-????????
  • ?????????? ???????? ??? ?????? ???????? ?
    ??????????? STP

54
Covgrind
  • ?????????? ??????? ???????? ???? ?????????
    (?????????? ????? ?? ???????? ?? ???????
    ????????)
  • ???????? ???????? (??????????? ???????????
    ??????)
  • ??????????? ?????? ?????? ? ??????? ??? ??????
    Memcheck
  • ??????????? ??????????? ?????? ??? ??????
    ?????????

55
STP - Simple Theorem Prover
  • SAT ???????? (??????? ?? MiniSat)
  • ?????? ? ???????? ???????? ?????
  • ???????????? ???-???????, ??????? ????? ????????

56
??????
  • ??????????? ?? Google Codehttp//code.google.com/
    p/avalanche
  • ????????
  • Valgrind ? Memcheck - GPL v2
  • STP - MIT license
  • ??????? Avalanche, Tracegrind, Covgrind - Apache
    license

57
Avalanche ???????????
  • ????????? ?????????? ??????? ???????
  • ????????? ?????????? ????????? ? ??????????
    ?????????? ??????
  • ????????? ???????? ?86/Linux ? amd64/Linux,
    ARM/Linux, Android
  • ????????? ????????????? ? ??????????????? ???????

58
??????????
  • ????? 15-?? ?????? ?? ???????? ? ????????
    ???????? ?????
  • ?????? ???????????? ?/??? ??????????
    ??????????????

?????? ??? ??????
mencoder NPD
wget NPD
swtool NPD
libmpeg2 DBZ
gnash UE
audiofile IL
libsndfile DBZ
libjpeg DBZ
libmpeg3 NPD
libquicktime NPD, IL
libwmf NPD
mono NPD
parrot NPD, IL
llvm NPD
Null Pointer Dereference (????????????? ????????
?????????) NPD Division By Zero (??????? ??
????) DBZ Unhandled Exception (??????????????
?????????????? ????????) UE Infinite Loop
(??????????? ????) IL
59
????? ?? ???????
  • ????????? ?????????????????
  • ????????? ????? ?????????? ??????? ??????
    (????????? ??????? ??????, ? ?. ?.)
  • ????????? ????? ????? ?????? (?????????????
    ??????????)

60
UniTESK
61
?????????? ????? ??-????????
  • ?????? ???????????? ????????? ???????
  • ????????? ????? ??????? (????????) ??????
  • ????????? ????????? ????????? ??? ??????? ??
    ???????? ?????? ? ???? ??? ?????? ???
    ??????????, ???????? ??? ??????? random() ?
  • ????????? ???? ? ?????? ?? ???????? ??????,
    ??????????? ????????? ? ?????????
  • ??????? ??????? ? ??????????? ??? ??????????
    ???????????? ? ????? ???????? ?????????? ?

62
?????????? ????? ??-???????? (2)
  • ?????? ???????????? ?????? ???????,
    ??????/???????, ?????? ? ??????????? ????????????
    (?????? ???? ?????????? ????????? ? ????????
    ??????)
  • ????????? ????? ??????? (????????) ?????? ???
    ?????? ???????
  • ????????? ????????? ????????? ??? ??????? ??
    ???????? ?????? ????? ???????? ??? ??????
    ???????? ???????
  • ??????? ?????? ??????? ? ?????? ?? ????????
    ?????? ? ????????? ?????????? ??????, ???????????
    ????????? ? ?????????????? ????????? ???????
    ??????????, ??? ?????? ? ?????? ?????????
    (????????? ???????? ??????????????????), ????
    ???????? ?????? ????????? ???????????
  • ??????? ??????? ? ??????????? ??? ??????????
    ???????????? ? ????? ???????? ?????????? ?

63
???????? ??????? ???????? ???????
  • ???? ?? Linux (LTP)
  • 18 Mbyte (??? ???? ????????? ????? ????????
    ????? ????)
  • ?????????? ????????? OS Linux (LSB)
  • ????? 100 ????? ?????????
  • ????? 80 Mbyte
  • ??? ??????????? C (????????, ACE ??? Perennial)
  • ????? 40-80 ????? ?????????
  • ????? 1 Gbyte

?? ???????????, ??? ?? ???????????? ?????????
???????????? ???? ?????? (? ??????????? ?????
70), ? ??????? ????????? ??????, ???????
????????? ?????????? 2-3 ?????? ?? 1 ??????
????? ????.
64
??????? UniTESK
  • ???????? ????? ?????????? ????? ????????????
    ???????????? ????????? ? ????? ????- ?
    ????-???????
  • ????- ? ????-??????? ?????????? ???????? ???????
    ? ???????? ??????? ????????
  • ???????? ?????????????????? ?????????????? ??
    ???????, ? ?? ?????? ????????????? ?????? ?????
  • ??????? ??????????? ???????????? ? ??????
    ????????????????

65
???????????? ??????????
  • ????????? ?????????? ?????????
  • ???????? ??????????? ????????? ????????
  • ??????????? ?????? ??????? ???????????
  • ??????????? ?????? ???????? ??????????? ??
    ?????????? ?????? ????????
  • ?????????? ??????????? ??????????? ??????,
    ????? ????? ???? ????- ? ???????????
  • ??????????????? ????? ????????? (???? ?????)

66
??????? ?????? ???????????? ? JavaTESK
  • public specification class SqrtSpecification
  • public specification double sqrt(double x)
  • pre return x gt 0
  • post
  • branch SingleCase
  • return sqrt sqrt x
  • public specification int sqrt(int x)
  • pre return x gt 0
  • post
  • branch SingleCase
  • return sqrt sqrt lt x
  • (sqrt 1) (sqrt 1 ) gt x

67
????? ????? ????????????
??????????????
???????? ???????
???????????????????,???????????????
??????
68
????? ?????. ??????, ??????, ????????
????-???????,?????????
????-???????
69
????? ?????. ???????? ????????
????????
??????????????
???????? ???????
  • ???????? ???????
  • ??????? ? ?????? ??
  • ???????? ? ??????? ?? ??????

???????????????????,???????????????
??????
70
????? ????? UniTESK
?????????
???????? ?????????
????????? ??????
??????? ????????
???????????-???????
??????????? ???????







?????? ?????????
???????
???????????
??????
??????
71
?????????? UniTESK
  • ???????????? ???????
  • ???? ?? ?????????? ??????? 1994-1997
  • Linux Standard Base 2005-2010
  • ???????? ????? ??? ?? 2000 (?????) 2005-...
  • ?????????
  • IPv6 Microsoft Research 2000-2001
  • ????????? IPv6 (? Windows CE 4.1) 2002-2003
  • IPv6 ????? 2002
  • ???????? ????? ??? IPsec 2004-2008
  • ???????? ????? ??? SMTP 2010
  • ???????????? ???????????? Intel 2001-2003
  • ??????????? ?????????? ??????????? ??????? 2005
  • ?????????????? ???????
  • ?????????? CRM-??????? 2004
  • ??????????? ??????? ? EAI 2005-
  • ???????????????
  • ?????????? ?????? 64 (?????) 2006-...
  • ?????????? ??????????? ? ??? (????) 2010-...

72
???????!
Write a Comment
User Comments (0)
About PowerShow.com