Verifikacija softvera

Size: px
Start display at page:

Download "Verifikacija softvera"

Transcription

1 Simboličko izvršavanje (drugi deo) Matematički fakultet, Univerzitet u Beogradu

2 Pregled Modelovanje memorije 1 Modelovanje memorije 2 3 4

3 Pregled Modelovanje memorije 1 Modelovanje memorije 2 3 4

4 Modelovanje memorije Nizovi i pokazivači Primeri koje smo razmatrali su koristili jednostavnu memoriju koja sve podatke čuva kao skalare, tj bez redirekcije. Važan aspekt simboličkog izvršavanja je kako se memorija i rad sa memorijom modeluje tako da podrži programe sa pokazivačima i nizovima. To zahteva proširivanje memorije tako da preslikava ne samo promenljive u njihove simboličke vrednosti, već i memorijske adrese u simbličke izraze ili konkretne vrednosti.

5 Modelovanje memorije Simboličko skladište σ Simboličko skladište σ može se posmatrati kao preslikavanje koje adresama u memoriji (umesto samim promenljivama) dodeljuje konkretne ili simbolilke vrednosti. Na ovaj način i dalje možemo da podržavamo obične promenljive koristeći njihove adrese umesto imena u tom preslikavanju. Na primer, umesto da se x preslikava u izraz e (u zapisu x e) možemo da to razmatramo zapravo kao &x e gde je &x konkretna adresa promenljive x. Takode, ako je v niz i c konstanta, onda za v[c] e zapravo razmatramo &v + c e

6 Modelovanje memorije Symbolic memory address problem Za konkretne vrednosti to ne predstavlja problem (tj kada je indeks konstanta) ali izazov je obraditi situacija kada je indeks simbolički izraz - symbolic memory address problem Izbor modelovanja memorije je važan izbor za dizajn simboličkog izvršavanja jer utiče direktno i na ostvarenu pokrivenost koda istraživanjem putanja i na skalabilnost rešavača. Postoje različiti pristupi rešavanju ovog problema.

7 Simbolička memorija At the highest level of generality, an engine may treat memory addresses as fully symbolic. Dva osnovna pristupa, koja je još King opisao u svom radu iz 76. godine su 1 Pravljenje novih stanja 2 Pravljenje if-then-else formula Teorija nizova smt rešavači

8 State forking Pravljenje novih stanja Ako operacija čita ili piše na neku simboličku adresu, prave se nova stanja razmatranjem svih mogućih stanja koje mogu da rezultuju kao posledica te operacije. Uslovi putanje se dopunjavaju za svako novokreirano stanje. Primer: 1. void foobar ( unsigned i, unsigned j ) { 2. int a[2] = { 0 }; 3. if (i>1 j>1) return; 4. a[i] = 5; 5. assert (a [j]!= 5); 6. }

9 Pravljenje novih stanja primer

10 if-then-else formule ite formule Alternativni pristup se sastoji u enkodiranju neodredenosti mogućih vrednosti simboličkog pokazivača u izraze koji se čuvaju u okviru simboličkog skladišta i ograničenja putanja, bez pravljenja novih stanja. Osnovna ideja je da se iskoristi mogućnost rešavača da rezonuju o formulama koje sadrže if-then-else izraze, tj u formi ite(cond, trueexp, falseexp)

11 if-then-else formule ite(cond, trueexp, falseexp) Pristup radi drugačije za operacije čitanja i pisanja. Neka je α simbolička adresa koja može da ima konkretne vrednosti a 1, a 2... čitanje sa lokacije α podrazumeva izraz ite(α = a 1, σ(a 1 ), ite(α = a 2, σ(a 2 ),...)) pisanje izraza e na lokaciju α menja simboličko skladište σ tako što svaku vrednost promenljivih na adresama a 1, a 2... postavlja na sledeci način: σ(a i ) = ite(α = a i, e, σ(a i ))

12 if-then-else formule primer

13 SMT theory of arrays Teorija nizova When using a theory of arrays, operations can in fact be expressed as first-class entities in constraint formulas. Teorija nizova (eng. Theory of Arrays, skraćeno ARR) uvodi ternarni funkcijski simbol store i binarni funkcijski simbol select.

14 SMT theory of arrays Funkcija store vrši izmenu vrednosti na odgovarajućem mestu u nizu i ima tri argumenta: (i) niz, (ii) poziciju (indeks) u nizu na koju se smešta vrednost, (iii) vrednost koja se smešta u niz. Za zadati niz a, celobrojnu vrednost i i vrednost v tipa nad kojim je niz definisan, term store(a, i, v) označava niz koji je identičan sa nizom a, osim što je vrednost na poziciji i jednaka v.

15 SMT teorija nizova Funkcija select vrši čitanje vrednosti sa odgovarajućeg mesta u nizu i ima dva argumenta: (i) niz, (ii) poziciju (indeks) u nizu sa koje se čita vrednost. Za zadati niz a i celobrojnu vrednost i, term select(a, i) označava vrednost na poziciji i niza a.

16 Teorija nizova Aksiome Teorija nizova je teorija koja ima sledeće dve aksiome: a i v (select(store(a, i, v), i) = v) a i j v (i j select(store(a, i, v), j) = select(a, j)) (A1) (A2)

17 NP-kompletan problem Odlučiv i NP-kompletan Univerzalno kvatnifikovani fragment ove teorije je odlučiv i problem zadovoljivosti u ovom fragmentu teorije je NP-kompletan. Aksioma proširivanja Pored prethodne dve aksiome, ponekad se dodaje i aksioma proširivanja (eng. extensionality) a b (( i (read(a, i) = read(b, i)) a = b) (A3)

18 Primeri Modelovanje memorije Primer Naredna formula je primer zadovoljive formule teorije nizova: b = store(a, 5, select(a, 3)) select(a, 3) = select(b, 5). Primer Naredna formula je primer nezadovoljive formule teorije nizova: store(a, i, x) b select(b, i) = y select(store(b, i, x), j) = y a = b i = j Da bi se dokazala nezadovoljivost ove formule, potrebno je koristiti i aksiomu (A3).

19 Simbolička memorija Ograničenja Due to its generality, fully symbolic memory supports the most accurate description of the memory behavior of a program, accounting for all possible memory manipulations. In many practical scenarios, the set of possible addresses a memory operation may reference is small, allowing accurate analyses using a reasonable amount of resources. In general, however, a symbolic address may reference any cell in memory, leading to an intractable explosion in the number of possible states. For this reason, a number of techniques have been designed to improve scalability

20 Umesto simboličke memorije Kako puna simbolička memorija ne skalira dobro, potrebno je napraviti neki kompromis Otvoren problem

21 Konkretna memorija Konkretizacija simboličkih adresa Ukoliko je kombinatorna kompleksnost analize prevelika jer vrednosti pokazivača ne mogu da se ograniče na dovoljno male opsege, često se koristi strategija konkretizacije simboličke pokazivačke vrednosti u neku konkretnu vrednost. U ovom slučaju imamo Trading soundness for performance. This can reduce the number of states and the complexity of the formulas fed to the solver and thus improve running time, although may cause the engine to miss paths that, for instance, depend on specific values for some pointers.

22 Konkretna memorija Konkretizacija simboličkih adresa Concretization naturally arises in offline executors Konkretizacija pokazivačke vrednosti tipa T* u NULL ili u adresu novo-alociranog objekta veličine sizeof(t). Ovaj izbor može da ide random (DART) ili da imamo različita stanja za različite izbore (CUTE - prvo proba sa NULL, pa zatim sa konkretnom adresom). Ako je T struktura, ista konkretizacija se rekurzivno sprovodi na sva polja na koja pokazuje objekat.

23 Parcijalno modelovanje memorije Izmedu simboličke i konkretne memorije Da bi se prevazišli problemi skaliranja pune ismboličke memorije, a da bi se preskočio gubitak informacija koji nastaje konkretizacijom, jedan pravac je parcijalno modelovanje memorije. The key idea is that written addresses are always concretized and read addresses are modeled symbolically if the contiguous interval of possible values they may assume is small enough.

24 Parcijalno modelovanje memorije Izmedu simboličke i konkretne memorije This model is based on a trade-off: it uses more expressive formulas than concretization, since it encodes multiple pointer values per state, but does not attempt to encode all of them like in fully symbolic memory. A basic approach to bound the set of possible values that an address may assume consists in trying different concrete values and checking whether they satisfy the current path constraints, excluding large portions of the address space at each trial until a tight range is found. This algorithm comes with a number of caveats

25 Lenja inicijalizacija Kompleksne strukture podataka u C++-u i Javi Simboličko izvršavanje u prisustvu struktura podataka kao što su liste i drveta je značajno teže. A framework for software verification that combines symbolic execution and model checking to handle linked data structures such as lists and trees. Generalize symbolic execution by introducing lazy initialization to effectively handle dynamically allocated objects. Combine lazy initialization with user-provided method preconditions, i.e., conditions that are assumed to be true before the execution of a method.

26 Pregled Modelovanje memorije Odsecanje nedostižnih putanja Spajanje stanja Aproksimacije petlji 1 Modelovanje memorije 2 Odsecanje nedostižnih putanja Spajanje stanja Aproksimacije petlji 3 4

27 Eksplozija putanja Odsecanje nedostižnih putanja Spajanje stanja Aproksimacije petlji Osnovni izazov simboličkog izvršavanja One of the main challenges of symbolic execution is the path explosion problem: a symbolic executor may fork off a new state at every branch of the program, and the total number of states may easily become exponential in the number of branches. Keeping track of a large number of pending branches to be explored, in turn, impacts both the running time and the space requirements of the symbolic executor.

28 Odsecanje nedostižnih putanja Spajanje stanja Aproksimacije petlji Pruning Unrealizable Paths We can reduce the state space by invoking an SMT solver to detect unrealizable paths. For example, if (a > 0) {... } if (a > 1) {... } Eager evaluation calls an SMT solver at each branch. Lazy evaluation does not to reduce the burden on the solver.

29 Odsecanje nedostižnih putanja Spajanje stanja Aproksimacije petlji State Merging State merging is a technique that merges different paths into a single state. For example, 1. void foo(int x, int y) { 2. if (x < 5) 3. y = y * 2; 4. else 5. y = y * 3; 6. return y; 7. } without state merging with state merging

30 Odsecanje nedostižnih putanja Spajanje stanja Aproksimacije petlji State Merging Given two states (stmt, σ 1, π 1 ) and (stmt, σ 2, π 2 ), the merged state is (stmt, σ, π 1 π 2 ) where σ merges σ 1 and σ 2 with ite expressions. State merging has trade-offs: merging decreases the number of paths to explore but also put a burden on constraints solvers. State merging heuristics: See Query cost estimation, Veritesting, etc See also (Efficient State Merging in Symbolic Execution. PLDI 2012)

31 Odsecanje nedostižnih putanja Spajanje stanja Aproksimacije petlji Handling Loops Consider the program, where we do not know the loop bound: void f (unsigned int n) { i = 0; while (i < n) { i = i + 1; } } Symbolic execution would keep forking and running forever.

32 Odsecanje nedostižnih putanja Spajanje stanja Aproksimacije petlji Handling Loops A common solution in practice is to unroll the loop for a fixed bound, e.g., k = 2: void f (unsigned int n) { i = 0; if (i < n) { i = i + 1; } if (i < n) { i = i + 1; } } The resulting analysis compromises soundness.

33 Odsecanje nedostižnih putanja Spajanje stanja Aproksimacije petlji Handling Loops Another solution is to provide a loop invariant and let symbolic execution use it to skip the analysis of the loop: void f (unsigned int n) { i = 0; while (i < n) { // inv: i <= n i = i + 1; } } The resulting analysis is either semi-automatic or over-approximated.

34 Pregled Modelovanje memorije 1 Modelovanje memorije 2 3 4

35 Simboličko izvršavanje binarnog koda Na postojeće probleme i tehnike, dodaje se: Lifting to an Intermediate Representation VEX, LLVM Reconstructing the Control Flow Graph Code Obfuscation

36 Pregled Modelovanje memorije 1 Modelovanje memorije 2 3 4

37 Constraint Solving A key component of symbolic execution is a constraint solver. Two problems: Invoking an SMT solver is expensive. Symbolic execution maintains a mapping from formulas to satisfying assignments: e.g., x + y < 10 x > 5 {x = 6, y = 3} When we query a weaker formula, e.g., x + y < 10, we can reuse the previously computed solution, without invoking an SMT solver. When the formula is stronger, e.g., x + y < 10 x > 5 y 0, then we first try the solution in the cache. If it does not work, call the SMT solver. Constraints from real-world software are hard to solve. E.g., non-linear constraints

38 Tehnike smanjivanja opterećenja rešavača Reducing the demands on the solver On-the-fly expression simplification Incremental solving Solution caching Substituting concrete values for symbolic in complex path conditions

39 Literatura Literatura Tkest je zasnovan na radu A Survey of Symbolic Execution Techniques autori: Roberto Baldoni, Emilio Coppa, Daniele Cono D Elia, Camil Demetrescu, and Irene Finocchi

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt Funkcionalno programiranje Interoperabilnost jezika Scala i Java Prevođenje u Java bajt kod Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući

More information

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi DELEGATI Bezbedni pokazivači na funkcije Jer garantuju vrednost deklarisanog tipa. Prevodilac prijavljuje grešku ako pokušate da povežete

More information

Računarske osnove Interneta (SI3ROI, IR4ROI)

Računarske osnove Interneta (SI3ROI, IR4ROI) Računarske osnove terneta (SI3ROI, IR4ROI) Vežbe MPLS Predavač: 08.11.2011. Dražen Drašković, drazen.draskovic@etf.rs Autori: Dražen Drašković Naučili ste na predavanjima MPLS (Multi-Protocol Label Switching)

More information

Programiranje III razred

Programiranje III razred Tehnička škola 9. maj Bačka Palanka Programiranje III razred Naredbe ciklusa for petlja Naredbe ciklusa Veoma često se ukazuje potreba za ponavljanjem nekih naredbi više puta tj. za ponavljanjem nekog

More information

PREDMET. Osnove Java Programiranja. Čas JAVADOC

PREDMET. Osnove Java Programiranja. Čas JAVADOC PREDMET Osnove Java Programiranja JAVADOC Copyright 2010 UNIVERZITET METROPOLITAN, Beograd. Sva prava zadržana. Bez prethodne pismene dozvole od strane Univerziteta METROPOLITAN zabranjena je reprodukcija,

More information

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1 NIZOVI Niz deklarišemo navođenjemtipa elemenata za kojim sledi par srednjih zagrada[] i naziv niza. Ako je niz višedimenzionalni između zagrada[] se navode zarezi, čiji je broj za jedan manji od dimenzija

More information

VHDLPrimeri Poglavlje5.doc

VHDLPrimeri Poglavlje5.doc 5. VHDL opis kola koja obavljaju osnovne aritmetičke funkcije Sabirači Jednobitni potpuni sabirač definisan je tablicom istinitosti iz Tabele 5.1. Tabela 5.1. cin a b sum cout 0 0 0 0 0 0 0 1 1 0 0 1 0

More information

Programiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010

Programiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010 Programiranje Programski jezik C prof.dr.sc. Ivo Ipšić 2009/2010 Sadržaj Ulazno-izlazne funkcije Datoteke Formatirane datoteke Funkcije za rad s datotekama Primjeri Datoteke komunikacija između programa

More information

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo Nasledjivanje klasa Modifikator new class A { public virtual void F() { Console.WriteLine("I am A"); } } class B : A { public override void F()

More information

Mašinska vizija. Dr Nenad Jovičić tnt.etf.rs/~mv

Mašinska vizija. Dr Nenad Jovičić tnt.etf.rs/~mv Mašinska vizija Dr Nenad Jovičić 2017. tnt.etf.rs/~mv Linearne 2D geometrijske transformacije 2D geometrijske transformacije Pretpostavka: Objekti u 2D prostoru se sastoje iz tačaka i linija. Svaka tačka

More information

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET Katedra za elektroniku Računarska elektronika Grupa br. 11 Projekat br. 8 Studenti: Stefan Vukašinović 466/2013 Jelena Urošević 99/2013 Tekst projekta :

More information

Symbolic Execution for Bug Detection and Automated Exploit Generation

Symbolic Execution for Bug Detection and Automated Exploit Generation Symbolic Execution for Bug Detection and Automated Exploit Generation Daniele Cono D Elia Credits: Emilio Coppa SEASON Lab season-lab.github.io May 27, 2016 1 / 29 Daniele Cono D Elia Symbolic Execution

More information

Uputstvo za podešavanje mail klijenta

Uputstvo za podešavanje mail klijenta Uputstvo za podešavanje mail klijenta 1. Podešavanje Thunderbird mail klijenta 1.1 Dodavanje mail naloga Da biste podesili Vaš mail klijent (u ovom slučaju Thunderbird) da prima i šalje mail-ove potrebno

More information

Uputstvo za korišćenje logrotate funkcije

Uputstvo za korišćenje logrotate funkcije Copyright AMRES Sadržaj Uvod 3 Podešavanja logrotate konfiguracionog fajla 4 Strana 2 od 5 Uvod Ukoliko je aktivirano logovanje za RADIUS proces, može se desiti da posle određenog vremena server bude preopterećen

More information

Uvod u relacione baze podataka

Uvod u relacione baze podataka Uvod u relacione baze podataka Ana Spasić 5. čas 1 Podupiti, operatori exists i in 1. Izdvojiti imena i prezimena studenata koji su položili predmet čiji je identifikator 2001. Rešenje korišćenjem spajanja

More information

Symbolic and Concolic Execution of Programs

Symbolic and Concolic Execution of Programs Symbolic and Concolic Execution of Programs Information Security, CS 526 Omar Chowdhury 10/7/2015 Information Security, CS 526 1 Reading for this lecture Symbolic execution and program testing - James

More information

Vežbe - XII nedelja PHP Doc

Vežbe - XII nedelja PHP Doc Vežbe - XII nedelja PHP Doc Dražen Drašković, asistent Elektrotehnički fakultet Univerziteta u Beogradu Verzija alata JavaDoc za programski jezik PHP Standard za komentarisanje PHP koda Omogućava generisanje

More information

VRIJEDNOSTI ATRIBUTA

VRIJEDNOSTI ATRIBUTA VRIJEDNOSTI ATRIBUTA Svaki atribut (bilo da je primarni ključ, vanjski ključ ili običan atribut) može i ne mora imati ograničenja na svojim vrijednostima. Neka od ograničenja nad atributima: Null / Not

More information

Programske paradigme Funkcionalna paradigma

Programske paradigme Funkcionalna paradigma Programske paradigme Funkcionalna paradigma 1. čas: Uvod u funkcionalno programiranje. Programski jezik Haskel. Upoznavanje sa razvojnim okruženjem. Tipovi podataka. Funkcionalno programiranje Stil u programiranju

More information

Sberbank Business Online na Mozilla FireFox

Sberbank Business Online na Mozilla FireFox Sberbank Business Online na Mozilla FireFox Verzija 1.6 Srpanj 2016. Sberbank d.d. Stranica 1 SADRŽAJ 1 INSTALACIJA... 2 2 POKRETANJE MOZILLE FIREFOX... 3 2.1 IMPORT SECURITY MODULA... 4 2.2 AUTOMATSKI

More information

VB komande. Programiranje 1

VB komande. Programiranje 1 VB komande Programiranje 1 Zadatak 1: Sastaviti program koji se sastoji iz jedne ListBox kontrole, jedne Textbox kontrole i dva komandna dugmeta. Klikom na prvo komandno dugme umeće se u ListBox sadržaj

More information

x y = z Zadaci - procedure

x y = z Zadaci - procedure Zadaci - procedure Zad1. Data je kvadratna meta u koordinatnom sistemu sa koordinatama A(0,0), B(1,0), C(1,1), D(0,1). Sastaviti proceduru Gadjanje koja će odrediti broj poena na sledeći način: ako je

More information

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje.

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje. Univerzitet u Nišu Građevinsko-arhitektonski fakultet Informatika 2 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje Milica Ćirić Ciklična algoritamska struktura Ciklična struktura (petlja)

More information

n HW7 due in about ten days n HW8 will be optional n No CLASS or office hours on Tuesday n I will catch up on grading next week!

n HW7 due in about ten days n HW8 will be optional n No CLASS or office hours on Tuesday n I will catch up on grading next week! Announcements SMT Solvers, Symbolic Execution n HW7 due in about ten days n HW8 will be optional n No CLASS or office hours on Tuesday n I will catch up on grading next week! n Presentations n Some of

More information

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a Webmail sistem ima podršku za SSL (HTTPS). Korištenjem ovog protokola sva komunikacija između Webmail sistema i vašeg Web čitača je kriptovana. Prilikom pristupa

More information

NIZOVI.

NIZOVI. NIZOVI LINKOVI ZA KONZOLNI C# OSNOVNO http://www.mycity.rs/net/programiranje-u-c-za-osnovce-i-srednjoskolce.html http://milan.milanovic.org/skola/csharp-00.htm Niz deklarišemo navođenjem tipa elemenata

More information

Jezik Baze Podataka SQL. Jennifer Widom

Jezik Baze Podataka SQL. Jennifer Widom Jezik Baze Podataka SQL SQL o Jezik koji se koristi u radu sa relacionim bazama podataka o Nije programski jezik i manje je kompleksan. o Koristi se isključivo u radu za bazama podataka. o SQL nije case

More information

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa Uvod u programiranje - vežbe Kontrola toka izvršavanja programa Naredbe za kontrolu toka if, if-else, switch uslovni operator (?:) for, while, do-while break, continue, return if if (uslov) naredba; if

More information

2. Linijska algoritamska struktura

2. Linijska algoritamska struktura Univerzitet u Nišu Građevinsko-arhitektonski fakultet Informatika 2 2. Linijska algoritamska struktura Milica Ćirić Blokovi za prikaz algoritma Algoritam se vizuelno može prikazati pomoću blok dijagrama,

More information

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); } Spojnice using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO;

More information

VDSL modem Zyxel VMG1312-B10A/B30A

VDSL modem Zyxel VMG1312-B10A/B30A VDSL modem Zyxel VMG1312-B10A/B30A Default Login Details LAN IP Address http://192.168.2.1 User Name user Password 1234 Funkcionalnost lampica Power lampica treperi kratko vrijeme nakon uključivanja modema,

More information

... ; ako je a n parno. ; ako je a n neparno

... ; ako je a n parno. ; ako je a n neparno Zadaci vezani za ciklus sa preduslovom (WHILE) Zad. Napisati program za izračunavanje n_tog stepena broja a. Zad2. Napisati program za izračunavanje sume S kvadrata parnih i kubova neparnih prirodnih brojeva

More information

Osnovne strukture podataka

Osnovne strukture podataka Osnovne strukture podataka Osnovni pojmovi Promenljive i konstante su osnovni oblici podataka sa kojima se operiše u programu Deklaracije listaju spisak promenljivih koje ce se koristiti, određuju kog

More information

Prirodno-matematički fakultet u Nišu Departman za fiziku. dr Dejan S. Aleksić Programiranje u fizici

Prirodno-matematički fakultet u Nišu Departman za fiziku. dr Dejan S. Aleksić Programiranje u fizici Programiranje u fizici Prirodno-matematički fakultet u Nišu Departman za fiziku dr Dejan S. Aleksić Programiranje u fizici 7-8 Definicija, inicijalizacija promenljivih 2/21 u C-u Program napisan u programskog

More information

Variable Neighborhood Descent - VND (Metoda promenljivog spusta)

Variable Neighborhood Descent - VND (Metoda promenljivog spusta) Variable Neighborhood Descent - VND (Metoda promenljivog spusta) Izabrati skup okolina N k, k = 1,..., k max koje će se koristiti za pretragu; Na slučajan način izabrati početno rešenje x X i postaviti

More information

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets CSS CSS CSS: Cascading Style Sheets - Opisuje izgled (appearance) i raspored (layout) stranice - Sastoji se od CSS pravila, koji defini[u skup stilova selector { property: value; 1 Font face: font-family

More information

1/42 SQL DDL. CREATE ALTER DROP Schema Table Tablespace Index View Domain Constraint... DECLARE TABLE (DB2)

1/42 SQL DDL. CREATE ALTER DROP Schema Table Tablespace Index View Domain Constraint... DECLARE TABLE (DB2) 1/42 SQL DDL CREATE ALTER DROP Schema Table Tablespace Index View Domain Constraint... DECLARE TABLE (DB2) 2/42 SQL DDL: CREATE SCHEMA CREATE SCHEMA ime-sheme [ AUTHORIZATION ime-vlasnika-sheme] [ CREATE

More information

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end.

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end. NAREDBA CIKLUSA SA PREDUSLOVOM WHILE 1.Odrediti vrednosti s i p nakon izvrsenja sledecih naredbi za dato a=43, a=34, a=105 program p1; var a,s,p:integer; write('unesite a:');readln(a); p:=a; s:=0; while

More information

8. NIZOVI. // deklaracija niza od 10 elemenata: data[0], data[1],..data[9] int data[10] ; S elementima niza se operira kao s prostim varijablama

8. NIZOVI. // deklaracija niza od 10 elemenata: data[0], data[1],..data[9] int data[10] ; S elementima niza se operira kao s prostim varijablama 8. NIZOVI Niz je indeksirani skup podataka - elemenata niza. Niz se deklarira imenom iza kojeg se u uglatim zagradama zapisuje broj elemenata niza, a ispred imena se zapisuje tip elemenata. // deklaracija

More information

Informacioni sistemi i baze podataka

Informacioni sistemi i baze podataka Fakultet tehničkih nauka, Novi Sad Predmet: Informacioni sistemi i baze podataka Dr Slavica Kordić Milanka Bjelica Vojislav Đukić Rad u učionici (1/2) Baze podataka (db2015): Studentska korisnička šema

More information

24/03/2018. Deklaracija promenljivih. Inicijalizacija promenljivih. Deklaracija i inicijalizacija promenljivih

24/03/2018. Deklaracija promenljivih. Inicijalizacija promenljivih. Deklaracija i inicijalizacija promenljivih Deklaracija promenljivih Inicijalizacija promenljivih Deklaracija promenljive obuhvata: dodelu simboličkog imena promenljivoj i određivanje tipa promenljive (tip određuje koja će vrsta memorijskog registra

More information

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list.

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list. Ime i prezime: Asistent: Predava : Programiranje (C) 1. kolokvij 14. 4. 2003. 1. 2. 3. 4. 5. 6. 7. Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj

More information

PROGRAMIRANJE. Amir Hajdar

PROGRAMIRANJE. Amir Hajdar PROGRAMIRANJE Amir Hajdar Teme 2 Klase i objekti u Javi Primjer kroz klasu Krug Atributi i metode Inicijalizacija objekata (konstruktori) Polymorphism Statičke varijable i metode This Klase i objekti u

More information

Izrada VI laboratorijske vježbe

Izrada VI laboratorijske vježbe Izrada VI laboratorijske vježbe 1. Programirati proceduru koja se aktivira sa Standard palete alatki klikom na button Fajlovi. Prilikom startovanja procedure prikazuje se forma koja sadrži jedan list box

More information

Algoritmi i strukture podataka 2. Čas, Uvod u C++

Algoritmi i strukture podataka 2. Čas, Uvod u C++ Algoritmi i strukture podataka 2. Čas, Uvod u C++ Aleksandar Veljković 2017/2018 1 Uvod Jezik C++ je jezik koji pripada objektno orijentisanoj paradigmi, ipak, u okviru ovog kursa naglasak neće biti na

More information

Lecture Notes: Unleashing MAYHEM on Binary Code

Lecture Notes: Unleashing MAYHEM on Binary Code Lecture Notes: Unleashing MAYHEM on Binary Code Rui Zhang February 22, 2017 1 Finding Exploitable Bugs 1.1 Main Challenge in Exploit Generation Exploring enough of the state space of an application to

More information

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365 Windows 8 Licenciranje, razlike u verzijama Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje Serverski proizvodi Server 2012, System centar 2012, SQL 2012, Sharepoint

More information

Numerical Computation

Numerical Computation GNU Octave Numerical Computation vrlo često u tehnici retko stvarni problemi imaju closed-form solution čak i kad imaju, pitanje upotrebljivosti mnogo detalja numerički pristup u početku tretirano kao

More information

DETERMINATION OF THE CHARACTERISTIC PARAMETERS IN THE GENERAL COLLINEAR SPACES IN THE GENERAL CASE UDC (045)=20

DETERMINATION OF THE CHARACTERISTIC PARAMETERS IN THE GENERAL COLLINEAR SPACES IN THE GENERAL CASE UDC (045)=20 FACTA UNIVERSITATIS Series: Architecture and Civil Engineering Vol. 3, N o, 005, pp. 09-7 DETERMINATION OF THE CHARACTERISTIC PARAMETERS IN THE GENERAL COLLINEAR SPACES IN THE GENERAL CASE UDC 54.75 (045)=0

More information

PRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA

PRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA PRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA SPECIFIKACIJA BAZE PODATAKA ZA PROJEKAT NAZIV_PROJEKTA Veb knjižara - Specifikacija baze podataka 1 10.04.2017. Verzija V 1.0 Datum: 20. mart 2017. Istorija

More information

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević Sveučilište u Zagrebu PMF Matematički odsjek Mreže računala Vježbe 08 Zvonimir Bujanović Slaven Kožić Vinko Petričević Uvod: (X)HTML i CSS Na ovim i idućim vježbama naučit ćemo osnove jezika za opisivanje

More information

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0.

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0. Kontrolne naredbe Primjeri: Opšti oblik razgranate strukture (if sa ) if (uslov) Naredba 1 ili blok naredbi1 Naredba 2 ili blok naredbi2 Učitati broj x i štampati vrijednost double x, z; Scanner in=new

More information

CREATE DATABASE naziv-baze-podataka [IN naziv-dbspace]

CREATE DATABASE naziv-baze-podataka [IN naziv-dbspace] SQL Vežbe V CREATE DATABASE CREATE DATABASE naziv-baze-podataka [IN naziv-dbspace] [WITH LOG LOG MODE ANSI] [ ON < filespec > [,...n ] ] [ LOG ON < filespec > [,...n ] ] < filespec > ::= ( [ NAME = logical_file_name,

More information

GUI - događaji (Events) i izuzeci. Bojan Tomić

GUI - događaji (Events) i izuzeci. Bojan Tomić GUI - događaji (Events) i izuzeci Bojan Tomić Događaji GUI reaguje na događaje (events) Događaj je neka akcija koju korisnik programa ili neko drugi izvrši korišćenjem perifernih uređaja (uglavnom miša

More information

Sadržaj. Verzija 03/2017 Primjenjuje se od 20. novembra godine

Sadržaj. Verzija 03/2017 Primjenjuje se od 20. novembra godine Sadržaj 1 Web hosting 3 2 Registracija domena 3 3 Internet marketing 3 4 E mail paketi 4 5 Virtuoz 4 6 Internet Security servis 5 7 Kolokacija servera 6 8 Cloud usluge 6 9 Aktivni servisi koji nijesu u

More information

Vidljivost TipPovratneVrednosti ImeFunkcije (NizParametara) { TeloFunkcije }

Vidljivost TipPovratneVrednosti ImeFunkcije (NizParametara) { TeloFunkcije } 1. FUNKCIJE I STRUKTRUE PROGRAMA Složeni problemi lakše se rašavaju ako se podele na manje celine koje mogu nezavisno da se rešavaju. Rešenje celokupnog složenog problema dobija se kombinovanjem rešenja

More information

NISKE (stringovi) u C-u: podsećanje. 1. Primer programa koji uvodi niske karaktera terminisane nulom

NISKE (stringovi) u C-u: podsećanje. 1. Primer programa koji uvodi niske karaktera terminisane nulom NISKE (stringovi) u C-u: podsećanje 1. Primer programa koji uvodi niske karaktera terminisane nulom #include main() /* Poslednji bajt niske karaktera s se postavlja na '\0' tj. 0 char s[] = 'a',

More information

Ovde će se raditi na funkcijama konverzija: konverzija tipa datuma u znak tip i obrnuto, konverzija broja u karakter tip i obrnuto

Ovde će se raditi na funkcijama konverzija: konverzija tipa datuma u znak tip i obrnuto, konverzija broja u karakter tip i obrnuto Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 5-1 Conversion Functions U db formatiranje i promene izgleda se izvode pomoću funkcija konverzija Ove

More information

Cjenovnik usluga informacionog društva

Cjenovnik usluga informacionog društva Cjenovnik usluga informacionog društva Verzija: 01/2018 Sadržaj 1 Web hosting 3 2 Registracija domena 3 3 Internet marketing 3 4 E mail paketi 4 5 Virtuoz 4 6 Internet Security servis 5 7 Kolokacija servera

More information

Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak...

Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak... Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak... Prof. dr. sc. Tomislav Pribanić Izv. prof. dr. sc. Vedran Podobnik Doc. dr. sc. Marija Seder Sveučilište u Zagrebu Fakultet elektrotehnike

More information

Numeričke metode i praktikum

Numeričke metode i praktikum Numeričke metode i praktikum Aleksandar Maksimović IRB / 23/03/2006 / Str. 1 vektori Vektor u 3D prostoru. C: int v1[3]; v1[0]=a;v1[1]=b;v1[2]=c; Fortran: INTEGER V1(3) V1(1)=a V1(2)=b V1(3)=c Skalarni

More information

Objektno orijentisano programiranje

Objektno orijentisano programiranje Matematički fakultet, Univerzizet u Beogradu Katedra za računarstvo i informatiku Objektno orijentisano programiranje vežbe Biljana Stojanović Nemanja Mićović Nikola Milev 1 Stringovi String literali i

More information

Računarske mreže. Čas 7. Ivana Tanasijević Matematički fakultet, Beograd

Računarske mreže. Čas 7. Ivana Tanasijević   Matematički fakultet, Beograd Računarske mreže Čas 7 Ivana Tanasijević e-mail: ivana@matf.bg.ac.rs Matematički fakultet, Beograd 1 Konvertovanje imena adresa i servisa Kako se pronalazi ime ili vrednost IP adrese ili servisa Konverzija

More information

Aspektno programiranje u Javi. AOP + AspectJ

Aspektno programiranje u Javi. AOP + AspectJ 1 Aspektno programiranje u Javi AOP + AspectJ Posledice nemodularnosti? slabo praćenje toka izvršavanja smanjenja produktivnost smanjen code reuse smanjen krajnji kvalitet celog sistema teško održavanje

More information

PHP? PHP (recursive acronym "PHP: Hypertext Preprocessor") Open Source general-purpose scripting language Web development

PHP? PHP (recursive acronym PHP: Hypertext Preprocessor) Open Source general-purpose scripting language Web development Intro to PHP PHP? PHP (recursive acronym "PHP: Hypertext Preprocessor") Open Source general-purpose scripting language Web development Ugrađen u HTML. HTML script sa kodom koji nešto radi Izvršavanje na

More information

12. Uskladištene procedure (Stored Procedures)

12. Uskladištene procedure (Stored Procedures) 12. Uskladištene procedure (Stored Procedures) Uskladištena procedura je skup SQL iskaza koji su kompajlirani i sačuvani u trenutku njenog kreiranja. Veoma su moćne i preko njih mogu da se izvršavaju sve

More information

PITANJA ZA II KOLOKVIJUM KLASE I OBJEKTI

PITANJA ZA II KOLOKVIJUM KLASE I OBJEKTI PITANJA ZA II KOLOKVIJUM KLASE I OBJEKTI 1. Enkapsulacija je podataka. skrivanje apstrakcija nasledivanje 2. Unutar deklaracije klase navode se: definicije funkcija clanica prototipovi (deklaracije) funkcija

More information

4. Fajlovi i direktorijumi

4. Fajlovi i direktorijumi 4.2 stat, fstat i lstat funkcije 4. Fajlovi i direktorijumi int stat(const char *path, struct stat *buf); int fstat(int fd, struct stat *buf); int lstat(const char *path, struct stat *buf); Ove 3 funkcije

More information

f2() f6() main() f3() f7() f4()

f2() f6() main() f3() f7() f4() VI Potprogrami i funkcije Uobičajeno je da se pri pisanju programa koji treba da reše složene probleme, problemi razlažu na niz jednostavnijih(elementarnih) delova Za njihovo rešavanje se pišu nezavisni

More information

Modbus TCP i dva PLC S7 1200

Modbus TCP i dva PLC S7 1200 Industrijski sistemi i protokoli Modbus TCP i dva PLC S7 1200 1 Modbus TCP i dva PLC S7 1200 Laboratorijski deo - obavezno: Detaljno proučiti i testirati već napravljeni projekat za PLC-ove, koji se nalazi

More information

Lekcija 07 C++ funkcije, stringovi, imenski prostor, memorija i fajlovi. Miljan Milošević

Lekcija 07 C++ funkcije, stringovi, imenski prostor, memorija i fajlovi. Miljan Milošević Lekcija 07 C++ funkcije, stringovi, imenski prostor, memorija i fajlovi Miljan Milošević C++ FUNKCIJE, STRINGOVI, IMENSKI PROSTOR, UPRAVLJANJE MEMORIJOM I FAJLOVI 01 02 03 04 Uvod Reference Funkcije u

More information

Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi.

Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi. Obrada izuzetaka Šta je izuzetak? Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi. Prosleđuje izuzetak,

More information

16. Sigurnije programiranje

16. Sigurnije programiranje 16. Sigurnije programiranje 16.1 Pretvorba tipova Pretvorba realnog broja u cijeli broj se može izvršiti naredbama: int i; double d; ili: i = (int) d; i = int(d); U cilju bolje kontrole pretvorbe tipova

More information

Program Verification using Templates over Predicate Abstraction. Saurabh Srivastava and Sumit Gulwani

Program Verification using Templates over Predicate Abstraction. Saurabh Srivastava and Sumit Gulwani Program Verification using Templates over Predicate Abstraction Saurabh Srivastava and Sumit Gulwani ArrayInit(Array A, int n) i := 0; while (i < n) A[i] := 0; i := i + 1; Assert( j: 0 j

More information

Internet programiranje JavaScript - školska 2017/2018

Internet programiranje JavaScript - školska 2017/2018 Internet programiranje JavaScript - školska 2017/2018 Dražen Drašković, Elektrotehnički fakultet u Beogradu Sanja Delčev, Elektrotehnički fakultet u Beogradu Zašto JavaScript Nedostatak HTML strana je

More information

Editovanje registra u Windowsu

Editovanje registra u Windowsu Editovanje registra u Windowsu Pre bilo kakvog menjanja registra,pravljenja novih kljuceva u njemu,menjanja vrednosti u raznoraznim kljucevima preporuka je da se uradi beckup registra.beckup registra mozete

More information

Z1. Dati RDF graf predstavljen u JSON-LD sintaksi potrebno je grafički predstaviti u skladu sa RDF notacijom. (5 poena)

Z1. Dati RDF graf predstavljen u JSON-LD sintaksi potrebno je grafički predstaviti u skladu sa RDF notacijom. (5 poena) Z1. Dati RDF graf predstavljen u JSON-LD sintaksi potrebno je grafički predstaviti u skladu sa RDF notacijom. (5 poena) "@context": "http://schema.org", "@type": "JobPosting", @id : http://example.com/person/ab12,

More information

Mikrokontroleri. Poglavlje IV. Skup instrukcija mikrokontrolera familije MCS-51

Mikrokontroleri. Poglavlje IV. Skup instrukcija mikrokontrolera familije MCS-51 Mikrokontroleri Poglavlje IV Skup instrukcija mikrokontrolera familije MCS-51 Uvod Instrukciju računara čine kod operacije (op-code) iza koga mogu da slede jedan ili dva operanda Op-cod identifikuje tip

More information

Kodiranje GUI aplikacija u Visual C#

Kodiranje GUI aplikacija u Visual C# Kodiranje GUI aplikacija u Visual C# UVOD Uvod Kodiranje grafičke aplikacije u Visual C#: Ova lekcija se bavi dogadjajima, programiranjem dogadjaja. Daćemo jedan primer event-driven-programming-a, u vidu

More information

PARALELNO PROGRAMIRANJE

PARALELNO PROGRAMIRANJE Predavanje 09 Odjel za matematiku 1 PARALELNO PROGRAMIRANJE POSIX threadovi za C++ Predavanje 09 Odjel za matematiku 2 Programske niti (thread) unutar procesa Danas ćemo se upoznati s POSIX thread bibliotekom

More information

Program Analysis and Constraint Programming

Program Analysis and Constraint Programming Program Analysis and Constraint Programming Joxan Jaffar National University of Singapore CPAIOR MasterClass, 18-19 May 2015 1 / 41 Program Testing, Verification, Analysis (TVA)... VS... Satifiability/Optimization

More information

A Context-Sensitive Memory Model for Verification of C/C++ Programs

A Context-Sensitive Memory Model for Verification of C/C++ Programs A Context-Sensitive Memory Model for Verification of C/C++ Programs Arie Gurfinkel and Jorge A. Navas University of Waterloo and SRI International SAS 17, August 30th, 2017 Gurfinkel and Navas (UWaterloo/SRI)

More information

Programiranje III razred

Programiranje III razred Tehnička škola 9. maj Bačka Palanka Programiranje III razred Konverzija tipova Konverzija tipova Prilikom komunikacije aplikacije sa korisnikom, korisnik najčešće unosi ulazne podatke koristeći tastaturu.

More information

C++ minitutorial. Osnovni elementi i koncepti programskog jezika C++ uz primere

C++ minitutorial. Osnovni elementi i koncepti programskog jezika C++ uz primere C++ minitutorial Osnovni elementi i koncepti programskog jezika C++ uz primere Sadržaj I. Ugrađeni tipovi podataka II. Doseg (scope) III. Životni vek objekta IV. Konverzija tipa (casting) V. Struktura

More information

Fizičko projektovanje baza podataka prema knjizi: Database Management Systems, Ramakrishnan Raghu, Gehrke Johannes

Fizičko projektovanje baza podataka prema knjizi: Database Management Systems, Ramakrishnan Raghu, Gehrke Johannes Fizičko projektovanje baza podataka prema knjizi: Database Management Systems, Ramakrishnan Raghu, Gehrke Johannes Ivana Tanasijević, ivana@matf.bg.ac.rs Matematički fakultet, Beograd Najbitnije merilo

More information

A short manual for the tool Accumulator

A short manual for the tool Accumulator A short manual for the tool Accumulator ZHAO Jianhua State Key Laboratory of Novel Software Technology Dept. of Computer Sci. and Tech. Nanjing University Nanjing, Jiangsu, P.R.China 210093 zhaojh@nju.edu.cn

More information

Funkcije, prenos parametara i dinamička alokacija memorije

Funkcije, prenos parametara i dinamička alokacija memorije Tema 04 Funkcije, prenos parametara i dinamička alokacija memorije dr Vladislav Miškovic vmiskovic@singidunum.ac.rs Fakultet za informatiku i računarstvo - Tehnički fakultet OBJEKTNO ORIJENTISANO PROGRAMIRANJE

More information

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb,

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb, Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb, 13.04.2017. Podešavanje Hyper-V Servera 2016 za RSAT upravljanje Dario Štefek Lokacije za preuzimanje: Microsoft Hyper-V Server 2016 https://www.microsoft.com/en-us/evalcenter/evaluate-hyper-v-server-2016

More information

Oracle Proprietary Joins Za upite nad više od jedne tabele korišćenjem Oracle proprietary sintakse koristiti join uslov u WHERE izrazu:

Oracle Proprietary Joins Za upite nad više od jedne tabele korišćenjem Oracle proprietary sintakse koristiti join uslov u WHERE izrazu: Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 7-1 Oracle Equijoin and Cartesian Product Prethodna sekcija se bavila upitima preko više od jedne tabele

More information

For. 1) program ispis; {ispisuje brojeve od 1 do 5 jedan ispod drugog} uses wincrt; var s,i:integer; begin for i:=1 to 5do writeln(i); end.

For. 1) program ispis; {ispisuje brojeve od 1 do 5 jedan ispod drugog} uses wincrt; var s,i:integer; begin for i:=1 to 5do writeln(i); end. For 1) program ispis; {ispisuje brojeve od 1 do 5 jedan ispod drugog} for i:=1 to 5do writeln(i); 2) program ispis; {ispisuje brojeve od 5 do 1 jedan ispod drugog} for i:=5 downto 1 do writeln(i); 3) program

More information

Symbolic Execution. Wei Le April

Symbolic Execution. Wei Le April Symbolic Execution Wei Le 2016 April Agenda What is symbolic execution? Applications History Interal Design: The three challenges Path explosion Modeling statements and environments Constraint solving

More information

Lekcija 4. Java programiranje sa bazama podataka. dr Svetlana Cvetanović

Lekcija 4. Java programiranje sa bazama podataka. dr Svetlana Cvetanović Lekcija 4 Java programiranje sa bazama podataka dr Svetlana Cvetanović JAVA PROGRAMIRANJE SA BAZAMA PODATAKA Uvod 01 02 03 04 Uvod JDBC Interfejsi Vežba: Preduslovi za pisanje Java koda Zaključak Kreiranje

More information

Dežurni nastavnik: Kolokvijum traje 1.5 sat, prvih sat vremena nije dozvoljeno napuštanje kolokvijuma. Upotreba literature nije dozvoljena.

Dežurni nastavnik: Kolokvijum traje 1.5 sat, prvih sat vremena nije dozvoljeno napuštanje kolokvijuma. Upotreba literature nije dozvoljena. Dežurni nastavnik: Elektrotehnički fakultet u Beogradu Katedra za računarsku tehniku i informatiku Predmet: Testiranje Softvera (SI3TS) Nastavnik: doc. dr Dragan Bojić Asistent: dipl. ing. Dražen Drašković

More information

Why Use C? In today's world of computer

Why Use C? In today's world of computer Why Use C? In today's world of computer programming, there are many highlevel languages to choose from, such as C, Pascal, BASIC, and Java. These are all excellent languages suited for most programming

More information

Emulator arhitekture računara Milantex Tx16

Emulator arhitekture računara Milantex Tx16 UNIVERZITET SINGIDUNUM FAKULTET ZA INFORMATIKU I RAČUNARSTVO - Diplomski rad - Mentor: Prof. dr Mladen Veinović Student: Milan Tair Br. indeksa: 2008213514 Beograd, 2012 UNIVERZITET SINGIDUNUM FAKULTET

More information

JavaScript i HTML DOM

JavaScript i HTML DOM 4. vježbe iz WEB programiranja četvrtak, 22. ožujka 2012. JavaScript 1. dio JavaScript i Što je DOM? Kako JS koristi DOM? Pristup elementima dokumenta Promjena i učitavanje vrijednosti tagova Primjer 1.

More information

KLASIFIKACIJA JELENA JOVANOVIĆ. Web:

KLASIFIKACIJA JELENA JOVANOVIĆ.   Web: KLASIFIKACIJA JELENA JOVANOVIĆ Email: jeljov@gmail.com Web: http://jelenajovanovic.net PREGLED PREDAVANJA Šta je klasifikacija? Binarna i više-klasna klasifikacija Algoritmi klasifikacije Mere uspešnosti

More information

KREDITI ZA POLJOPRIVREDNIKE

KREDITI ZA POLJOPRIVREDNIKE UNICREDIT BANK SRBIJA AD 11 000 Beograd, Rajićeva 27-29 Telefon: 011/ 3777 888 www.unicreditbank.rs e-mail:office@unicreditgroup.rs KREDITI ZA POLJOPRIVREDNIKE Vlasnik ste ili zakupac 6 hektara obradive

More information

SOFTWARE TOOLS FOR MANIPULATING FE MESH, VIRTUAL SURGERY AND POST-PROCESSING*

SOFTWARE TOOLS FOR MANIPULATING FE MESH, VIRTUAL SURGERY AND POST-PROCESSING* DANKO Z. MILAŠINOVIĆ 1,2 VLADIMIR M. CVJETKOVIĆ 2 DITTMAR BÖCKLER 3 HENDRIK VON TENGG-KOBLIGK 4,5 NENAD D. FILIPOVIĆ 1,6,7 1 Bioengineering Research and Development Center BioIRC, Kragujevac 2 Faculty

More information

Symbolic Execution. Joe Hendrix Galois, Inc SMT Summer School galois

Symbolic Execution. Joe Hendrix Galois, Inc SMT Summer School galois Symbolic Execution Joe Hendrix Galois, Inc SMT Summer School 2015 Galois, Inc We solve hard research problems for clients. Symbolic Execution is a technique for mapping code into logic. is widely used

More information