Rodzaje Code slicing w weryfikacji Narzędzia Literatura. Code slicing. Bartłomiej Wołowiec. 16 lutego 2011
|
|
- Zdzisław Zakrzewski
- 8 lat temu
- Przeglądów:
Transkrypt
1 w weryfikacji 16 lutego 2011
2 w weryfikacji 1 Rodzaje Statyczny slicing (ang. Static Slicing) Dynamiczny slicing (ang. Dynamic Slicing) Warunkowy slicing (ang. Conditioned Slicing) Bezpostaciowy slicing (ang. Amorphous Slicing) 2 w weryfikacji Motywacja Rodzaje slicingu w weryfikacji 3 Frama-C Bogor CodeSurfer 4
3 w weryfikacji Code / Program slicing Zaproponowany przez Mark Weiser w 1981, Ułatwia analizę dużych programów, Czytelniejsze od grafów zależności, Zmniejsza ilość kodu podczas weryfikacji,
4 w weryfikacji Statyczny slicing (ang. Static Slicing) Dynamiczny slicing (ang. Dynamic Slicing) Warunkowy slicing (ang. Conditioned Slicing) Bezpostaciowy slicing (ang. Amorphous Slicing) Początkowa metoda zaproponowana przez Weiser-a, Usuwanie całych wyrażeń, jeżeli nie mają one wpływu na wybrane zmienne Wybieramy zmienne użyte w wyrażeniu oraz jako lokalizacje Najprostsza odmiana slicingu Mało efektywna dla większości kawałków kodu
5 -)1!+(1<#-#&2&,#-)&-)1!+;"31'-.$/,."# 1 3*+:&+:"+3,# #-1<+,."# 1-)# Rodzaje Statyczny slicing (ang. Static Slicing),2;1$35 6.$)-1* &;,+"3+-. ; 41;+: 3#,)1"#,) $ )-C+"4#$0 -#;14#;,!.,&,."# 1!+!"31:3#0 $.$/,."# 1-)13#:#-1,*".;1")&42()$)-<&-#01<++2) <#(-+ w weryfikacji Dynamiczny slicing (ang. Dynamic Slicing) +"#3-#,#";+ $)34)1--.$/!"31;,#"3#-.$/!"313;+,."# 1-)15D"3.* #:14+'"#3&= Warunkowy slicing (ang. Conditioned Slicing) 0 $.4; 41;+: 2 :,#!+-) 231".2&-*)5E.2&-1*F!"31:2;#,)#!"3.* #:+,.*+: Bezpostaciowy slicing (ang. Amorphous Slicing),0 3.*&G#H#5!"#$&'()*D"3.* #:+,.*+: "B: +,.,0 3.*&G#H#5 E.2&-1* I!"31:2;#,)#,.$)-1* *+:& &;,+"3+-. 3<+:-)1 3 *".;1")&4 2()$)-= <&<15, z>a<:3)1j15k012;()-) *+:&:(#*;B"10*+-2;"&+,#-.' :3)1,.$)-1*# JzK012;"+3,# #- 34)1-- 5
6 -)1!+(1<#-#&2&,#-)&-)1!+;"31'-.$/,."# 1 3*+:&+:"+3,# #-1<+,."# 1-)# Rodzaje Statyczny slicing (ang. Static Slicing),2;1$35 6.$)-1* &;,+"3+-. ; 41;+: 3#,)1"#,) $ )-C+"4#$0 -#;14#;,!.,&,."# 1!+!"31:3#0 $.$/,."# 1-)13#:#-1,*".;1")&42()$)-<&-#01<++2) <#(-+ w weryfikacji Dynamiczny slicing (ang. Dynamic Slicing) +"#3-#,#";+ $)34)1--.$/!"31;,#"3#-.$/!"313;+,."# 1-)15D"3.* #:14+'"#3&= Warunkowy slicing (ang. Conditioned Slicing) 0 $.4; 41;+: 2 :,#!+-) 231".2&-*)5E.2&-1*F!"31:2;#,)#!"3.* #:+,.*+: Bezpostaciowy slicing (ang. Amorphous Slicing),0 3.*&G#H#5!"#$&'()*D"3.* #:+,.*+: "B: +,.,0 3.*&G#H#5 E.2&-1* I!"31:2;#,)#,.$)-1* *+:& &;,+"3+-. 3<+:-)1 3 *".;1")&4 2()$)-= <&<15, z>a<:3)1j15k012;()-) *+:&:(#*;B"10*+-2;"&+,#-.' :3)1,.$)-1*# JzK012;"+3,# #- 34)1-- 5!"#$&'()*!"#$&'(!)*+,-.,&#!./,0&'!.!(-#*'-)1!2345!.67!! 8*+,! 0,9*-.'$5! '! )*+,-.,&#! +#$&'(! (,0)!!./,0&'!.! 0':&$;!.8+'-8!;'0#&'! +#-8 '&85!(*<-'!1,/!1'!+= #+!&8!+8-*,!.1'&&';!>z?!+!@&!34!(,0)7!!!
7 w weryfikacji Statyczny slicing (ang. Static Slicing) Dynamiczny slicing (ang. Dynamic Slicing) Warunkowy slicing (ang. Conditioned Slicing) Bezpostaciowy slicing (ang. Amorphous Slicing) Dodajemy konkretne wartości niektórych zmiennych, Często duża redukcja kodu, Za duże ograniczenia na zmienne,
8 -1<+,2;1$3>#-<5executable backward static + 1 A *;B"1#&;+"!"3.0 :1C)-)&0 $,.$)-*)*+:&+"#32!+2+'&;,+"31-)#,.$)-*#561)21" Rodzaje Statyczny slicing (ang. Static Slicing)!"3.0 A 1*# :.,.$)-1*4&2)!+3+2;#,.*+-.,#(-.4!"+<"#414#01<+;,+"31= w weryfikacji Dynamiczny slicing (ang. Dynamic Slicing) -)1!+(1<#-#&2&,#-)&-)1!+;"31'-.$/,."# 1 3*+:&+:"+3,# #-1<+,."# 1-)# Warunkowy slicing (ang. Conditioned Slicing),2;1$35 6.$)-1* &;,+"3+-. ; 41;+: 3#,)1"#,) $ Bezpostaciowy )-C+"4#$0 -#;14#;,!.,& slicing (ang. Amorphous Slicing),."# 1!+!"31:3#0 $.$/,."# 1-)13#:#-1,*".;1")&42()$)-<&-#01<++2) <#(-+ +"#3-#,#";+ $)34)1--.$/!"31;,#"3#-.$/!"313;+,."# 1-)15D"3.* #:14+'"#3&= 0 $.4; 41;+: 2 :,#!+-) 231".2&-*)5E.2&-1*F!"31:2;#,)#!"3.* #:+,.*+:,0 3.*&G#H#5!"#$&'()*D"3.* #:+,.*+: "B: +,.,0 3.*&G#H#5 E.2&-1* I!"31:2;#,)#,.$)-1* *+:& &;,+"3+-. 3<+:-)1 3 *".;1")&4 2()$)-= <&<15, z>a<:3)1j15k012;()-) *+:&:(#*;B"10*+-2;"&+,#-.' :3)1,.$)-1*# JzK012;"+3,# #- 34)1-- 5
9 -1<+,2;1$3>#-<5executable backward static + 1 A *;B"1#&;+"!"3.0 :1C)-)&0 $,.$)-*)*+:&+"#32!+2+'&;,+"31-)#,.$)-*#561)21" Rodzaje Statyczny slicing (ang. Static Slicing)!"3.0 A 1*# :.,.$)-1*4&2)!+3+2;#,.*+-.,#(-.4!"+<"#414#01<+;,+"31= w weryfikacji Dynamiczny slicing (ang. Dynamic Slicing) -)1!+(1<#-#&2&,#-)&-)1!+;"31'-.$/,."# 1 3*+:&+:"+3,# #-1<+,."# 1-)# Warunkowy slicing (ang. Conditioned Slicing)!,2;1$35 6.$)-1* &;,+"3+-. ; 41;+: 3#,)1"#,) $ Bezpostaciowy )-C+"4#$0 -#;14#;,!.,& slicing (ang. Amorphous Slicing) "#$ &'(!#)*+!+,,(-.'/0#!+1*-*'02!3/+,!&#+, )'(!4!)5--6!789:!7;9:!7<9!#5.!7=9>!,."# 1!+!"31:3#0 $.$/,."# 1-)13#:#-1,*".;1")&42()$)-<&-#01<++2) <#(-+ +"#3-#,#";+ $)34)1--.$/!"31;,#"3#-.$/!"313;+,."# 1-)15D"3.* #:14+'"#3&= 0 $.4; 41;+: 2 :,#!+-) 231".2&-*)5E.2&-1*F!"31:2;#,)#!"3.* #:+,.*+:,0 3.*&G#H#5!"!# $&'()*+&#,-)*)&.#/'&."#Dynamic Slicing0# ".* $*!?/,#&.*/!&('?*-.'/0#!+1*-*'02!?# '!2.(+$!.'-.'*/!?'*/3+.(!4(-*'/$! &1!.&'/0#!$5(,/5*2?!+1*-*'02>!@('*$!,#!.!A$,2:!*!?/,#&!,!4!$5(,/5*2?!+1*-*'B 02! &'*! &#&,$#4#! 45,# -*!.?*/''(-6:! &1! $,C5(-6!,4#5.#'(! 3/+,! 4(-*'/$! $#&2>!@!)5./-*4'# -*!&#!+,,(-.'/0#!+1*-*'02!'*/!+!,2!5#.),5(4'/!4+.(+,$*/!?# B 1*4/!45,# -*!.?*/''(-6>!D5(,/5*2?!&('?*-.'/0#!+1*-*'02!EF:!G:!HI!+$ &!+*!4* -!.!,5./-6!+$ (-6J!! #K+.52!4(+, )#4'*!L1#$1*.-3*M!4(5 /!F:!.?*/''(-6!G:! 2+,1#'(-6!45,# -! &#! )5.($ /0#! $#&2! 5C& #4/0#! )5./&+,4*#'/0#! '! 5(+2'$2! N:! &1! $5(,/5*2?! &('?*-.'/0#! +1*-*'02! +A#5?2 #4'/0#! 3$#J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! <15, z, <args[0]="1", args[1]="2", args[2]="3">>:! 4(-*'/$! #)5C-.! -. -*! +, (-6!,$*-6! 3$! &/$15-3! $1+(! #5.!?/,#&(! +$ &! +*!.!)#3/B &('-./0#!4(5 /'*!Lint z = 0;M>!O/.21,,!)5./&+,4*#5(+2'/$!;>!!"#$&'()*D"3.* #:+,.*+: "B: +,.,0 3.*&G#H#5! E.2&-1* I!"31:2;#,)#,.$)-1* *+:& &;,+"3+-. 3<+:-)1 3 *".;1")&4 2()$)-= <&<15, z>a<:3)1j15k012;()-) *+:&:(#*;B"10*+-2;"&+,#-.' :3)1,.$)-1*# JzK012;"+3,# #- 34)1-- 5! 1,2&34#5"!@(-*'/$!2,4#5.#'(!.0#&'*/!.!$5(,/5*2?!!!!!!! <15, z, <args[0]="1", args[1]="2", args[2]="3">> P#'*/4!45,#!.?*/''/3!args[0]!3/+,!2+,1#'!4!$5(,/5*2?:!4* -! -*/ $!4(B $#'(4'*!)5#05?2!3/+,!.!0C5(!.''>!Q!45,# -*!.?*/''/3!RxS!4('*$:!*!4!1*'**!=! #5(0*'1'/0#! $#&2! 5C& #4/0#! L5(+2'/$!NM! 452'/$!.4+./! K &.*/! +)/ '*#'(! *!+,/5#4'*/!'*0&(!'*/!.#+,'*/!)5./$.'/!&#!K1#$2!RelseS>!"1,/0#!,/!4!)5./-*4B '# -*!&#!4(-*'$!2,4#5.#'/0#!4!#)5-*2!#!?/,#&!+,,(-.'/0#!+1*-*'02:!4(5 /'*!.!
10 w weryfikacji Statyczny slicing (ang. Static Slicing) Dynamiczny slicing (ang. Dynamic Slicing) Warunkowy slicing (ang. Conditioned Slicing) Bezpostaciowy slicing (ang. Amorphous Slicing) Dodajemy zależności między zmiennymi (np x < y) Przydatny przy dowodzeniu własności Trudny w realizacji
11 61)21"!"31:2;#,) 41;+: +'1$-)1-+23 $ -#3,,.*+-.,#(-1<+2()$)-<&2;#;.$3= -1<+,2;1$3>#-<5executable Rodzaje backward static Statyczny slicing?5@#3,#!+$/+:3)+:3# + 1 A (ang. Static Slicing) *;B"1#&;+"!"3.0 :1C)-)&0 $,.$)-*)*+:&+"#32!+2+'&;,+"31-)#,.$)-*#561)21" w weryfikacji Dynamiczny slicing (ang. Dynamic Slicing)!"3.0 A 1*# :.,.$)-1*4&2)!+3+2;#,.*+-.,#(-.4!"+<"#414#01<+;,+"31= Warunkowy slicing (ang. Conditioned Slicing) -)1!+(1<#-#&2&,#-)&-)1!+;"31'-.$/,."# 1 3*+:&+:"+3,# #-1<+,."# 1-)# Bezpostaciowy slicing (ang. Amorphous Slicing),2;1$35 6.$)-1* &;,+"3+-. ; 41;+: 3#,)1"#,) $ )-C+"4#$0 -#;14#;,!.,&,."# 1!+!"31:3#0 $.$/,."# 1-)13#:#-1,*".;1")&42()$)-<&-#01<++2) <#(-+ +"#3-#,#";+ $)34)1--.$/!"31;,#"3#-.$/!"313;+,."# 1-)15D"3.* #:14+'"#3&= 0 $.4; 41;+: 2 :,#!+-) 231".2&-*)5E.2&-1*F!"31:2;#,)#!"3.* #:+,.*+:,0 3.*&G#H#5!"#$&'()*D"3.* #:+,.*+: "B: +,.,0 3.*&G#H#5 E.2&-1* I!"31:2;#,)#,.$)-1* *+:& &;,+"3+-. 3<+:-)1 3 *".;1")&4 2()$)-= <&<15, z>a<:3)1j15k012;()-) *+:&:(#*;B"10*+-2;"&+,#-.' :3)1,.$)-1*# JzK012;"+3,# #- 34)1-- 5
12 61)21"!"31:2;#,) 41;+: +'1$-)1-+23 $ -#3,,.*+-.,#(-1<+2()$)-<&2;#;.$3= -1<+,2;1$3>#-<5executable Rodzaje backward static Statyczny slicing?5@#3,#!+$/+:3)+:3# + 1 A (ang. Static Slicing) *;B"1#&;+"!"3.0 :1C)-)&0 $,.$)-*)*+:&+"#32!+2+'&;,+"31-)#,.$)-*#561)21" w weryfikacji Dynamiczny slicing (ang. Dynamic Slicing)!"3.0 A 1*# :.,.$)-1*4&2)!+3+2;#,.*+-.,#(-.4!"+<"#414#01<+;,+"31= Warunkowy slicing (ang. Conditioned Slicing) -)1!+(1<#-#&2&,#-)&-)1!+;"31'-.$/,."# 1 3*+:&+:"+3,# #-1<+,."# 1-)# Bezpostaciowy slicing (ang. Amorphous Slicing),2;1$35 6.$)-1* &;,+"3+-. ; 41;+: 3#,)1"#,) $ )-C+"4#$0 -#;14#;,!.,&,."# 1!+!"31:3#0 $.$/,."# 1-)13#:#-1,*".;1")&42()$)-<&-#01<++2) <#(-+ +"#3-#,#";+ $)34)1--.$/!"31;,#"3#-.$/!"313;+,."# 1-)15D"3.* #:14+'"#3&= 0 $.4; 41;+: 2 :,#!+-) 231".2&-*)5E.2&-1*F!"31:2;#,)#!"3.* #:+,.*+:,0 3.*&G#H#5!"#$!&!'( ) *+"!$+,&-.#,/,01& )".!'+/2".3+$/"24)' 3$)0$2'#$ 04 /, 34-, 52" 2-,$00"-,6 7+"!$+,&- )'+&0*4)$14.#,/,01& 89: ;: <=.* '5'., ), / 2!+2$/>.* '54)"/>? 4@.2'+&)".! 34)'0,'A#4*'#,2'/(,B)"+' $ 9: 2-,$00"/>;: )'+!4 /,2-,$00"/>#&@)"+' $0,')'+&0*4)$14<6 C+2"* '54)42'* '5'( /3$),$0.!43,$ '@.!+'*/(,-4 0'2'3,.' *+"!$+,&-)'+&0D *4)$14.#,/,01&('*4? <15, z, <args[1]="1", args[0] < args[1], args[2]=args[0] > > E"/,0$* &2".*'0" 21450,$ 2!'* 2'5'0"- *+"!$+,&- 3+2$5.!'),40"0'+".&0*&F6!"#$&'()*D"3.* #:+,.*+: "B: +,.,0 3.*&G#H#5 E.2&-1* I!"31:2;#,)#,.$)-1* *+:& &;,+"3+-. 3<+:-)1 3 *".;1")&4 2()$)-= <&<15, z>a<:3)1j15k012;()-) *+:&:(#*;B"10*+-2;"&+,#-.' :3)1,.$)-1*# JzK012;"+3,# #- 34)1-- 5!"#$&'()*E"/,0$*&!)4+240"21450,$2*+"!$+,&- 8GH:2:8'+1.IGJK"G":'+1.ILJ8'+1.IGJ:'+1.IMJK'+1.ILJ== C454@0,$ ('* ) 3+2"3'5*& 5"0'-,/20$14.#,/,01& -4 0' 3+2$),52,$!&3+2$3 ").!$+4)'0,' ) 3+41+'-,$6 N 2'#$ 04 /, 345'0"/> ) *+"!$+,&-.#,/,01& -4 0' )"D )0,4.*4)' : $)'+!4 args[0]'/42'!"-,52,$)'+!4 2-,$00$(OxP@ 52,$ 2').2$-0,$(.2'45G6Q20'/2'!4: $)'+&0$*x Code<= slicing 1A#,0,'R4+"1,0'#0$14*45&
13 w weryfikacji Statyczny slicing (ang. Static Slicing) Dynamiczny slicing (ang. Dynamic Slicing) Warunkowy slicing (ang. Conditioned Slicing) Bezpostaciowy slicing (ang. Amorphous Slicing) Dopuszczamy zmianę składni (nie tylko usuwanie) Zwiększona czytelność powstałego kodu (lub zmniejszona...)
14 !"3.0 A 1*# :.,.$)-1*4&2)!+3+2;#,.*+-.,#(-.4!"+<"#414#01<+;,+"31= -)1!+(1<#-#&2&,#-)&-)1!+;"31'-.$/,."# 1 3*+:&+:"+3,# #-1<+,."# 1-)# Rodzaje Statyczny slicing (ang. Static Slicing),2;1$35 Code 6.$)-1* slicing &;,+"3+-. w weryfikacji ; 41;+: 3#,)1"#,) $ Dynamiczny )-C+"4#$0 -#;14#;,!.,& slicing (ang. Dynamic Slicing),."# 1!+!"31:3#0 $.$/,."# 1-)13#:#-1,*".;1")&42()$)-<&-#01<++2) <#(-+ Warunkowy slicing (ang. Conditioned Slicing) +"#3-#,#";+ $)34)1--.$/!"31;,#"3#-.$/!"313;+,."# 1-)15D"3.* #:14+'"#3&= Bezpostaciowy slicing (ang. Amorphous Slicing) 0 $.4; 41;+: 2 :,#!+-) 231".2&-*)5E.2&-1*F!"31:2;#,)#!"3.* #:+,.*+:,0 3.*&G#H#5!"#$&'()*D"3.* #:+,.*+: "B: +,.,0 3.*&G#H#5 E.2&-1* I!"31:2;#,)#,.$)-1* *+:& &;,+"3+-. 3<+:-)1 3 *".;1")&4 2()$)-= <&<15, z>a<:3)1j15k012;()-) *+:&:(#*;B"10*+-2;"&+,#-.' :3)1,.$)-1*# JzK012;"+3,# #- 34)1-- 5
15 !"3.0 A 1*# :.,.$)-1*4&2)!+3+2;#,.*+-.,#(-.4!"+<"#414#01<+;,+"31= -)1!+(1<#-#&2&,#-)&-)1!+;"31'-.$/,."# 1 3*+:&+:"+3,# #-1<+,."# 1-)# Rodzaje Statyczny slicing (ang. Static Slicing),2;1$35 Code 6.$)-1* slicing &;,+"3+-. w weryfikacji ; 41;+: 3#,)1"#,) $ Dynamiczny )-C+"4#$0 -#;14#;,!.,& slicing (ang. Dynamic Slicing),."# 1!+!"31:3#0 $.$/,."# 1-)13#:#-1,*".;1")&42()$)-<&-#01<++2) <#(-+ Warunkowy slicing (ang. Conditioned Slicing) +"#3-#,#";+ $)34)1--.$/!"31;,#"3#-.$/!"313;+,."# 1-)15D"3.* #:14+'"#3&= Bezpostaciowy slicing (ang. Amorphous Slicing) 0 $.4; 41;+: 2 :,#!+-) 231".2&-*)5E.2&-1*F!"31:2;#,)#!"3.* #:+,.*+:,0 3.*&G#H#5!!"#$&'()*D"3.* #:+,.*+: "B: +,.,0 3.*&G#H#5 E.2&-1* I!"31:2;#,)#,.$)-1* *+:& &;,+"3+-. 3<+:-)1 3 *".;1")&4 2()$)-= <&<15, z>a<:3)1j15k012;()-) *+:&:(#*;B"10*+-2;"&+,#-.' :3)1,.$)-1*# JzK012;"+3,# #- 34)1-- 5!"#$&'()*!"#$&'(!)*+,-.,&#!./,0&'!.!(-#*'-)1!2345!.6!! "#$&'(!.!-#7)&()!4!8'7*!-9+&,+: &#!+#$&(,+!+#(,&:&'1)!.:!;,1,$!7*:*#$.< &'/,!7=$&/)!>-#7)&'(!?@A!B'0#&!-9 &$!8'7*!1,0#C(:$8:!+#-: '&:!+:-)&(,+'/,!
16 w weryfikacji Statyczny slicing (ang. Static Slicing) Dynamiczny slicing (ang. Dynamic Slicing) Warunkowy slicing (ang. Conditioned Slicing) Bezpostaciowy slicing (ang. Amorphous Slicing) Backward slice Wszystkie ścieżki od początku do danej lokalizacji, Większość sprawdzeń poprawności programu w danym punkcie, Forward slice Wszystkie ścieżki od danej lokalizacji do końca programu, Można badać wpływ zmiany w kodzie na dalszą część programu Połączenie obu daje complete slice.
17 w weryfikacji Motywacja Rodzaje slicingu w weryfikacji Większość narzędzi sprawdza model, nie program, Duże znaczenie ma rozmiar, Większość programów jest duża i bardzo skomplikowana......ale często sprawdzamy proste własności dotyczące małego kawałka, Staramy się zautomatyzować jak największą część weryfikacji oprogramowania,
18 w weryfikacji Motywacja Rodzaje slicingu w weryfikacji Automatyczny program jest bezpieczniejszy od człowieka, Może działać na dużych programach, Pomaga znaleźć komponenty wymagające ręcznego napisania modelu, Redukuje rozmiar programu bez zmniejszania czytelności,
19 w weryfikacji Motywacja Rodzaje slicingu w weryfikacji Statyczny slicing z warunkiem zawierającym lokalizacje i zmienne z formuły LTL, Warunkowy slicing na podstawie reguły LTL,
20 w weryfikacji Frama-C Bogor CodeSurfer Frama-C, Framework do weryfikacji programów w C, Początkowy etap analizy to slicing, Wspiera slicing statyczny i dynamiczny,
21 w weryfikacji Frama-C Bogor CodeSurfer Bogor / Bandera (Indus), Framework Wsparcie języków OO z dynamicznymi obiektami, wątkami, itd, Integracja z Eclipse,
22 w weryfikacji Frama-C Bogor CodeSurfer Indus - część projektu Bandera Wspiera statyczną analizę i przekształcanie kodu w języku Java, Backward, Forward slice, Wygenerowane wycinki można skompilować, Integracja z Eclipse,
23 w weryfikacji Frama-C Bogor CodeSurfer CodeSurfer Komercyjny, Wspiera C / C++, Wspiera zmienną ilość argumentów funkcji, struktury, libc (sygnały, abort(), exec()), Umożliwia robienie wycinków z programów do 100K LOC,
24 w weryfikacji Bartosz Bogacki, : Droga do lepszego rozumienia kodu źródłowego Mark Weiser. Program slicing. Proceedings of the 5th International Conference on Software Engineering, pages , IEEE Computer Society Press, March John Hatcliff, Matthew B. Dwyer and Hongjun Zheng, Slicing Software for Model Construction
Code slicing: Droga do lepszego rozumienia kodu źródłowego (część druga)
Code slicing: Droga do lepszego rozumienia kodu źródłowego (część druga) Bartosz Bogacki Poznan University of Technology, Institute of Computing Science ul. Piotrowo 2, 60-965 Poznan, Poland Bartosz.Bogacki@cs.put.poznan.pl
Bardziej szczegółowoFormalna weryfikacja oprogramowania w lotnictwie
30 listopada 2010 Motywacja Wymagania ACSL CIL SCADE wysoka niezawodność, zmniejszenie kodu obsługi sytuacji wyjątkowych, DO178B Motywacja Wymagania ACSL CIL SCADE Wymagania stawiane nowemu podejściu:
Bardziej szczegółowoWykład 3 Składnia języka C# (cz. 2)
Wizualne systemy programowania Wykład 3 Składnia języka C# (cz. 2) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Metody 2 Metody W C# nie jest
Bardziej szczegółowoWzorce projektowe i refaktoryzacja
Wzorce projektowe i refaktoryzacja Paweł Kozioł p.koziol@students.mimuw.edu.pl 18.01.2005 Moja praca magisterska Narzędzie dla środowiska Eclipse wspierające stosowanie wzorców projektowych J2EE Prowadzący:
Bardziej szczegółowoTestowanie oprogramowania. Testowanie oprogramowania 1/34
Testowanie oprogramowania Testowanie oprogramowania 1/34 Testowanie oprogramowania 2/34 Cele testowania testowanie polega na uruchamianiu oprogramowania w celu wykrycia błędów, dobry test to taki, który
Bardziej szczegółowoJava EE produkcja oprogramowania
Java EE produkcja oprogramowania PPJ PODSTAWY PROGRAMOWANIA W JAVIE PODSTAWY JĘZYKA JAVA 1 Warszawa, 2016Z 2 Ogólna charakterystyka języka Java 3 Java 1/2 Język programowania Java został opracowany przez
Bardziej szczegółowoZASADY PROGRAMOWANIA KOMPUTERÓW
POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.
Bardziej szczegółowoJava pierwszy program w Eclipse «Grzegorz Góralski strona własna
Strona 1 z 9 «Przykładowe zadania do cz. III ćwiczeń z genetyki Java pierwsze kroki w programowaniu (01)» Kategoria: java, Tagi: eclipse - java - programowanie. Autor: Grzegorz, napisał dnia: February
Bardziej szczegółowoKompilator języka C na procesor 8051 RC51 implementacja
Kompilator języka C na procesor 8051 RC51 implementacja Implementowane typy danych bit 1 bit char lub char signed 8 bitów char unsigned 8 bitów int lub signed int 16 bitów unsigned int 16 bitów long lub
Bardziej szczegółowoProgramowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
Bardziej szczegółowoWymagania edukacyjne z informatyki w klasie VIII
Wymagania edukacyjne z informatyki w klasie VIII Wymagania konieczne K dotyczą zagadnień elementarnych, stanowiących swego rodzaju podstawę, powinien je zatem opanować każdy uczeń. Wymagania podstawowe
Bardziej szczegółowoSZKOLENIE TWORZENIE SYSTEMÓW
SZKOLENIE TWORZENIE SYSTEMÓW INFORMATYCZNYCH Z UŻYCIEM GROOVY I GRAILS KOD: JGR Strona 1 1 Opis Platforma Java EE to zbiór zaawansowanych narzędzi umożliwiających tworzenie systemów korporacyjnych. Jest
Bardziej szczegółowoZapisywanie algorytmów w języku programowania
Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym
Bardziej szczegółowoJęzyki programowania zasady ich tworzenia
Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie
Bardziej szczegółowoEgzamin / zaliczenie na ocenę*
WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI Zał. nr 4 do ZW33/01 KARTA PRZEDMIOTU Nazwa w języku polskim : INŻYNIERIA OPROGRAMOWANIA Nazwa w języku angielskim: SOFTWARE ENGINEERING Kierunek studiów (jeśli
Bardziej szczegółowoDiagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym
Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym konceptualnym modelem danych jest tzw. model związków encji (ERM
Bardziej szczegółowoMichał Olejnik. 22 grudnia 2009
Continuous TDD Politechnika Wrocławska Informatyka 22 grudnia 2009 Agenda Wprowadzenie 1 Wprowadzenie 2 3 4 5 Agenda Wprowadzenie 1 Wprowadzenie 2 3 4 5 Agenda Wprowadzenie 1 Wprowadzenie 2 3 4 5 Agenda
Bardziej szczegółowoMetody Programowania
POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Metody Programowania www.pk.edu.pl/~zk/mp_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 8: Wyszukiwanie
Bardziej szczegółowoModelowanie i Programowanie Obiektowe
Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do
Bardziej szczegółowoTechnologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15
Technologie cyfrowe Artur Kalinowski Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.pl Semestr letni 2014/2015 Zadanie algorytmiczne: wyszukiwanie dane wejściowe:
Bardziej szczegółowoGenerated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów
System Szablonów System szablonów System szablonów to biblioteka, która pozwala oddzielić warstwę prezentacji od warstwy logicznej. Aplikacja WWW najpierw pobiera wszystkie dane, przetwarza je i umieszcza
Bardziej szczegółowoWERYFIKACJA WSPOMAGANA KOMPUTEROWO. Sławomir Lasota Uniwersytet Warszawski 2009/1020
WERYFIKACJA WSPOMAGANA KOMPUTEROWO Sławomir Lasota Uniwersytet Warszawski 2009/1020 Teoria i praktyka wspomaganych komputerowo metod analizy formalnej oprogramowania i układów sprzętowych. I. Motywacja
Bardziej szczegółowoMETODY PROGRAMOWANIA
METODY PROGRAMOWANIA Testy jednostkowe 8 grudnia 2017 Krzysztof Pawłowski kpawlowski@pjwstk.edu.pl PO CO NAM TESTY? weryfikacja poprawności sprawdzanie regresji specyfikacja dokumentacja wymuszanie dobrego
Bardziej szczegółowoAlgorytmy sztucznej inteligencji
www.math.uni.lodz.pl/ radmat Przeszukiwanie z ograniczeniami Zagadnienie przeszukiwania z ograniczeniami stanowi grupę problemów przeszukiwania w przestrzeni stanów, które składa się ze: 1 skończonego
Bardziej szczegółowoWYKORZYSTANIE JĘZYKA GROOVY W TESTACH JEDNOSTKOWYCH, INTEGRACYJNYCH I AUTOMATYCZNYCH. Mirosław Gołda, Programista Java
WYKORZYSTANIE JĘZYKA GROOVY W TESTACH JEDNOSTKOWYCH, INTEGRACYJNYCH I AUTOMATYCZNYCH Mirosław Gołda, Programista Java Agenda Kilka słów o języku Groovy Wpięcie Grooviego w projekt Springowy Testy jednostkowe
Bardziej szczegółowoInżynieria oprogramowania. Jan Magott
Inżynieria oprogramowania Jan Magott Literatura do języka UML G. Booch, J. Rumbaugh, I. Jacobson, UML przewodnik użytkownika, Seria Inżynieria oprogramowania, WNT, 2001, 2002. M. Fowler, UML w kropelce,
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Bardziej szczegółowoParadygmaty programowania
Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów
Bardziej szczegółowoTechniki (automatyzacji) projektowania testów. Adam Roman WarszawQA, 24 II 2016
Techniki (automatyzacji) projektowania testów Adam Roman WarszawQA, 24 II 2016 Prelegent Quality Assurance R&D Lead, Rivet Group Adiunkt w Instytucie Informatyki i Matematyki Komputerowej UJ Członek Stowarzyszenia
Bardziej szczegółowoThe current software tools for the JEE platform
Wysłane: 2017-05-29 Przyjęte: 2017-06-06 Aktualne narzędzia wytwarzania oprogramowania na platformie JEE Paweł Ozdoba*, Beata Pańczyk Politechnika Lubelska, Instytut Informatyki, Nadbystrzycka 36B, 20-618
Bardziej szczegółowoxx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy
Testowanie układów kombinacyjnych Przykładowy układ Wykrywanie błędów: 1. Sklejenie z 0 2. Sklejenie z 1 Testem danego uszkodzenia nazywa się takie wzbudzenie funkcji (wektor wejściowy), które daje błędną
Bardziej szczegółowoTworzenie oprogramowania
Tworzenie oprogramowania dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Tworzenie oprogramowania dla systemów wbudowanych Program wykładu: Tworzenie aplikacji na systemie wbudowanym. Konfiguracja
Bardziej szczegółowoWarsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika
Warsztaty AVR Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR Dariusz Wika 1.Krótki wstęp: Eclipse to rozbudowane środowisko programistyczne, które dzięki możliwości instalowania
Bardziej szczegółowoPixy - analiza statyczna skryptów PHP
- analiza statyczna skryptów PHP MIMUW 4 kwietnia 2012 - analiza statyczna skryptów PHP Co to jest? Analiza statyczna Bezpieczeństwo skryptów PHP Analiza programu bez jego uruchamiania Zazwyczaj pod konkretnym
Bardziej szczegółowoMateriały dodatkowe. Simulink PLC Coder
Katedra Inżynierii Systemów Sterowania Materiały dodatkowe Simulink PLC Coder Opracowali: mgr inż. Tomasz Karla Data: Listopad, 2016 r. Dodatkowe informacje Materiały dodatkowe mają charakter ogólny i
Bardziej szczegółowoWprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium.
Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium. Prowadzący Dr inż. Zofia 1 La1 La2 Forma zajęć - laboratorium Wprowadzenie
Bardziej szczegółowoWymagania edukacyjne z informatyki w klasie 8 szkoły podstawowej
Wymagania edukacyjne z informatyki w klasie 8 szkoły podstawowej 1. W zakresie rozumienia, analizowania i rozwiązywania problemów uczeń: wyjaśnia, czym jest algorytm, wskazuje specyfikację problemu (dane,
Bardziej szczegółowoUwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)
Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie
Bardziej szczegółowoProjektowanie oprogramowania. Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik
Projektowanie oprogramowania Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik Agenda Weryfikacja i zatwierdzanie Testowanie oprogramowania Zarządzanie Zarządzanie personelem
Bardziej szczegółowoSYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią
Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 PLAN: 2. Pamięć rzeczywista 3. Pamięć wirtualna
Bardziej szczegółowoInżynieria Programowania Weryfikacja i zatwierdzanie. Plan wykładu. Motto. Wstęp. Notatki. Notatki. Notatki. Notatki.
Inżynieria Programowania Weryfikacja i zatwierdzanie Arkadiusz Chrobot Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 3 listopada 2015 Plan wykładu 1. Wstęp 2. Planowanie weryfikacji
Bardziej szczegółowoEfektywna analiza składniowa GBK
TEORETYCZNE PODSTAWY INFORMATYKI Efektywna analiza składniowa GBK Rozbiór zdań i struktur zdaniowych jest w wielu przypadkach procesem bardzo skomplikowanym. Jego złożoność zależy od rodzaju reguł produkcji
Bardziej szczegółowoPodstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Bardziej szczegółowoSpecVer - metodyka tworzenia oprogramowania integrująca zadania specyfikacji, implementacji i weryfikacji modułów programów
Zakład Zaawansowanych Technik Informacyjnych (Z-6) SpecVer - metodyka tworzenia oprogramowania integrująca zadania specyfikacji, implementacji i weryfikacji modułów programów Praca nr 06300067 Warszawa,
Bardziej szczegółowoKurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016
Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal
Bardziej szczegółowoPraktyczne metody weryfikacji. Wykład 9: Weryfikacja ograniczona.. p.1/40
Praktyczne metody weryfikacji Wykład 9: Weryfikacja ograniczona. p.1/40 Symboliczna weryfikacja modelowa (SMC) model kodowanie boolowskie QBF implementacja OBDD weryfikacja modelowa = operacje na OBDDs.
Bardziej szczegółowoPolitechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 1 (3h) Wprowadzenie do obsługi platformy projektowej Quartus II Instrukcja pomocnicza do laboratorium z przedmiotu
Bardziej szczegółowoWykład 7 Metodyki wytwarzania oprogramowania internetowego (2) Wykładowca: dr inż. Mariusz Trzaska
Wykład 7 Metodyki wytwarzania oprogramowania internetowego (2) Wykładowca: dr inż. Mariusz Trzaska Zagadnienia Wprowadzenie MDD Model Analityczny Projektowy Przykład Podsumowanie Wykorzystano materiały
Bardziej szczegółowoMaciej Oleksy Zenon Matuszyk
Maciej Oleksy Zenon Matuszyk Jest to proces związany z wytwarzaniem oprogramowania. Jest on jednym z procesów kontroli jakości oprogramowania. Weryfikacja oprogramowania - testowanie zgodności systemu
Bardziej szczegółowoDokumentacja Użytkownika Systemu
Dokumentacja Użytkownika Systemu Proces wystawiania aukcji i realizacji zamówień z serwisu Allegro Wersja 7.2 Spis treści 1 NAJWIĘKSZY SERWIS AUKCYJNY... 3 2 WYSTAWIANIE AUKCJI... 4 3 REALIZACJA ZAMÓWIENIA...
Bardziej szczegółowoJęzyk JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język
Bardziej szczegółowoUsługa: Audyt kodu źródłowego
Usługa: Audyt kodu źródłowego Audyt kodu źródłowego jest kompleksową usługą, której głównym celem jest weryfikacja jakości analizowanego kodu, jego skalowalności, łatwości utrzymania, poprawności i stabilności
Bardziej szczegółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoJęzyk JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po
Bardziej szczegółowoPo uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
Bardziej szczegółowoProgramowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
Bardziej szczegółowoPraktyczne metody weryfikacji
Praktyczne metody weryfikacji Sławomir Lasota Uniwersytet Warszawski semestr zimowy 06/07. p.1/?? I. Motywacja czyli po co?. p.2/?? czerwiec 1996. p.3/?? nieobsłużony wyjatek szacunkowy koszt: 600 mln
Bardziej szczegółowoLaboratorium Informatyka (I) AiR Ćwiczenia z debugowania
Laboratorium Informatyka (I) AiR Ćwiczenia z debugowania Krzysztof Kluza, Janusz Miller 1 Debugowanie Debugowanie, czy też po polsku odpluskiwanie, to proces polegający na kontrolowanym wykonaniu programu
Bardziej szczegółowoJęzyk JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,
Bardziej szczegółowoProgramowanie Systemów Wbudowanych
Programowanie Systemów Wbudowanych Debugowanie z GDB Iwona Kochańska Gdansk University of Technology GNU debugger Identyfikacja i naprawianie błędów to część procesu wytwarzania oprogramowania Techniki
Bardziej szczegółowoUżycie Visual Basic for Applications ("VBA")
Użycie Visual Basic for Applications ("VBA") Przegląd SEE z modułem VBA Developer SEE używa języka programowania Visual Basic for Applications (VBA) pozwalającego tworzyć krótkie programy zwane "makrami".
Bardziej szczegółowoProgramowanie i projektowanie obiektowe
Programowanie i projektowanie obiektowe Metaprogramowanie (w Pythonie) Paweł Daniluk Wydział Fizyki Jesień 2016 P. Daniluk(Wydział Fizyki) PO w. XI Jesień 2016 1 / 32 Wstęp ideologiczny Języki programowania
Bardziej szczegółowoWymagania edukacyjne z informatyki w klasie 8 szkoły podstawowej
Wymagania edukacyjne z informatyki w klasie 8 szkoły podstawowej 1. W zakresie rozumienia, analizowania i rozwiązywania problemów uczeń: wyjaśnia, czym jest algorytm, wskazuje specyfikację problemu (dane,
Bardziej szczegółowobo od managera wymaga się perfekcji
bo od managera wymaga się perfekcji MODELOWANIE PROCESÓW Charakterystyka modułu Modelowanie Procesów Biznesowych (BPM) Modelowanie procesów biznesowych stanowi fundament wdroŝenia systemu zarządzania jakością
Bardziej szczegółowoInvesting f or Growth
Investing for Growth Open Business Solution OB One - zintegrowane oprogramowanie modułowe wspomagające zarządzanie firmą w łatwy i przejrzysty sposób pozwala zaspokoić wszystkie potrzeby księgowe, administracyjne
Bardziej szczegółowoOperatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo
Operatory w C++ Operatory arytmetyczne + dodawanie - odejmowanie * mnożenie / dzielenie % modulo Operatory relacyjne (porównania) < mniejszy niż większy niż >= większy lub równy
Bardziej szczegółowoWykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki
Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,
Bardziej szczegółowodr inż. Piotr Czapiewski Tworzenie aplikacji w języku Java Laboratorium 1
Ćwiczenie 1 Uruchamianie programu w Netbeans Uruchom środowisko Netbeans. Stwórz nowy projekt typu Java Application. Nadaj projektowi nazwę HelloWorld (Project Name), zwróć uwagę na folder, w którym zostanie
Bardziej szczegółowoMETODY REPREZENTACJI INFORMACJI
Politechnika Gdańska Wydział Elektroniki, Telekomunikacji i Informatyki Magisterskie Studia Uzupełniające METODY REPREZENTACJI INFORMACJI Ćwiczenie 1: Budowa i rozbiór gramatyczny dokumentów XML Instrukcja
Bardziej szczegółowoĆwiczenie 1. Przygotowanie środowiska JAVA
Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.
Bardziej szczegółowoTechniki efektywnego testowania kodu dla programistów Java (Spock
Program szkolenia: Techniki efektywnego testowania kodu dla programistów Java (Spock/JUnit) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Techniki efektywnego testowania kodu
Bardziej szczegółowoSieci komputerowe - administracja
Sieci komputerowe - administracja warstwa sieciowa Andrzej Stroiński andrzej.stroinski@cs.put.edu.pl http://www.cs.put.poznan.pl/astroinski/ warstwa sieciowa 2 zapewnia adresowanie w sieci ustala trasę
Bardziej szczegółowo1.Wstęp. 2.Generowanie systemu w EDK
1.Wstęp Celem niniejszego ćwiczenia jest zapoznanie z możliwościami debuggowania kodu na platformie MicroBlaze oraz zapoznanie ze środowiskiem wspomagającym prace programisty Xilinx Platform SDK (Eclipse).
Bardziej szczegółowoInformatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Bardziej szczegółowoLifehacking dla R. Przemyślenia i rozwiązania w temacie reprodukowalności analiz i organizacji pracy
Przemyślenia i rozwiązania w temacie reprodukowalności analiz i organizacji pracy Michał Bojanowski m.bojanowski@uw.edu.pl www.bojanorama.pl ICM, Uniwersytet Warszawski Spotkania Entuzjastów R 27 luty,
Bardziej szczegółowoZiMSK. VLAN, trunk, intervlan-routing 1
ZiMSK dr inż. Łukasz Sturgulewski, luk@kis.p.lodz.pl, http://luk.kis.p.lodz.pl/ dr inż. Artur Sierszeń, asiersz@kis.p.lodz.pl dr inż. Andrzej Frączyk, a.fraczyk@kis.p.lodz.pl VLAN, trunk, intervlan-routing
Bardziej szczegółowoSCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa
Autorzy scenariusza: SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH
Bardziej szczegółowoWeb frameworks do budowy aplikacji zgodnych z J2EE
Web frameworks do budowy aplikacji zgodnych z J2EE Jacek Panachida promotor: dr Dariusz Król Przypomnienie Celem pracy jest porównanie wybranych szkieletów programistycznych o otwartym kodzie źródłowym
Bardziej szczegółowoJava Podstawy. Michał Bereta www.michalbereta.pl mbereta@pk.edu.pl
Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu
Bardziej szczegółowoWprowadzenie (17) Część I. Makra w Excelu - podstawy (23)
Wprowadzenie (17) Omówione zagadnienia (18) Co trzeba wiedzieć? (18) Co trzeba mieć? (18) Układ książki (18) o Część I. Makra w Excelu - podstawy (19) o Część II. Praca ze skoroszytami (19) o Część III.
Bardziej szczegółowoPrzesyłania danych przez protokół TCP/IP
Przesyłania danych przez protokół TCP/IP PAKIETY Protokół TCP/IP transmituje dane przez sieć, dzieląc je na mniejsze porcje, zwane pakietami. Pakiety są często określane różnymi terminami, w zależności
Bardziej szczegółowoJarosław Kuchta Jakość Systemów Informatycznych Jakość Oprogramowania. Pomiary w inżynierii oprogramowania
Jarosław Kuchta Jakość Systemów Informatycznych Jakość Oprogramowania Pomiary w inżynierii oprogramowania Cel pomiarów ocena jakości produktu ocena procesów (produktywności ludzi) stworzenie podstawy dla
Bardziej szczegółowoZałącznik 1 instrukcje instalacji
Załącznik 1 instrukcje instalacji W poniższym załączniku przedstawione zostaną instrukcje instalacji programów wykorzystanych w trakcie tworzenia aplikacji. Poniższa lista przedstawia spis zamieszczonych
Bardziej szczegółowoPLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Bardziej szczegółowoJava. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego
Bardziej szczegółowoPBS. Wykład Zabezpieczenie przełączników i dostępu do sieci LAN
PBS Wykład 7 1. Zabezpieczenie przełączników i dostępu do sieci LAN mgr inż. Roman Krzeszewski roman@kis.p.lodz.pl mgr inż. Artur Sierszeń asiersz@kis.p.lodz.pl mgr inż. Łukasz Sturgulewski luk@kis.p.lodz.pl
Bardziej szczegółowoPodstawy programowania obiektowego
Podstawy programowania obiektowego Technologie internetowe Wykład 5 Program wykładu Podejście obiektowe kontra strukturalne do tworzenie programu Pojęcie klasy i obiektu Składowe klasy: pola i metody Tworzenie
Bardziej szczegółowoProcesy i wątki. Krzysztof Banaś Obliczenia równoległe 1
Procesy i wątki Krzysztof Banaś Obliczenia równoległe 1 Procesy i wątki Proces: ciąg rozkazów (wątek główny) i ewentualnie inne wątki stos (wątku głównego) przestrzeń adresowa dodatkowe elementy tworzące
Bardziej szczegółowoProgram szkolenia: Jenkins - Continuous Integration
Program szkolenia: Jenkins - Continuous Integration Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Jenkins - Continuous Integration tools-jenkins-ci Narzędzia developerzy DevOps
Bardziej szczegółowoDokumentacja kompilacji źródeł aplikacji 1.0
Projekt dofinansowany ze środków Mechanizmu Finansowego Europejskiego Obszaru Gospodarczego Dokumentacja kompilacji źródeł aplikacji Projekt: Wypracowanie i wdrożenie innowacyjnych metod integracji danych
Bardziej szczegółowoPrezentacja portalu INTEGRACJA APLIKACJI E-COMMERCE AUTOMATYZACJA PROCESÓW
Prezentacja portalu INTEGRACJA APLIKACJI E-COMMERCE AUTOMATYZACJA PROCESÓW Dla sklepów stacjonarnych i e-commerce Automatyczne pobieranie danych do formularza zamówienia oraz do wystawienia faktury Błyskawiczna
Bardziej szczegółowoOgólne zasady projektowania algorytmów i programowania
Ogólne zasady projektowania algorytmów i programowania Pracuj nad właściwie sformułowanym problemem dokładna analiza nawet małego zadania może prowadzić do ogromnych korzyści praktycznych: skrócenia długości
Bardziej szczegółowoLokalizacja Oprogramowania
mgr inż. Anton Smoliński anton.smolinski@zut.edu.pl Lokalizacja Oprogramowania 16/12/2016 Wykład 6 Internacjonalizacja, Testowanie, Tłumaczenie Maszynowe Agenda Internacjonalizacja Testowanie lokalizacji
Bardziej szczegółowoInterfejsy i klasy wewnętrzne
Interfejsy i klasy wewnętrzne mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Interfejs klasy sposób komunikacji z jej obiektami (zestaw składowych publicznych). Określa on zestaw
Bardziej szczegółowoWzorce projektowe. dr inż. Marcin Pietroo
Wzorce projektowe dr inż. Marcin Pietroo Adapter - strukturalny wzorzec projektowy, którego celem jest umożliwienie współpracy dwóm klasom o niekompatybilnych interfejsach - adapter przekształca interfejs
Bardziej szczegółowoLogika Temporalna i Automaty Czasowe
Modelowanie i Analiza Systemów Informatycznych Logika Temporalna i Automaty Czasowe (4) Modelowa weryfikacja systemu Paweł Głuchowski, Politechnika Wrocławska wersja 2.1 Treść wykładu Własności współbieżnych
Bardziej szczegółowoAlgorytmy i struktury danych
Algorytmy i struktury danych 4. Łódź 2018 Suma szeregu harmonicznego - Wpisz kod programu w oknie edycyjnym - Zapisz kod w pliku harmonic.py - Uruchom skrypt (In[1]: run harmonic.py) - Ten program wykorzystuje
Bardziej szczegółowoRAPORT KOŃCOWY PROJEKTU
RAPORT KOŃCOWY PROJEKTU Temat: Wieloplatformowy program do obsługi faktur Adresat: dr inż. Jacek Kołodziej Wykonawcy: Daniel Krysiak Przemysław Szpunar Grzegorz Śmierzchalski Spis Treści 1. Charakterystyka
Bardziej szczegółowoProgramowanie w Javie
Programowanie w Javie Andrzej Czajkowski Lista nr 0 Debugger w Javie Celem ćwiczenia jest poznanie podstawowych funkcji narzędzia debugera (odpluskwiacz) w środowisku Eclipse. Po ukończeniu ćwiczenia student
Bardziej szczegółowo