Department of Computer Science. AIMS Verification HT 2018
|
|
- Meredith Janel Park
- 5 years ago
- Views:
Transcription
1 Department of Computer Science AIMS Verification HT 2018
2 Outine Back Hats Back Hats Exempars for entry points of attacks Symboic Execution Basic idea of soving the formuas Path-based Merging paths Automated Back Hats Symboic execution on x86 Exempars Acceeration Outook: open probems
3 Back Hats Obtain contro over eectronic devices Ideay targeted, but mass market has appea as we Your phone, aptop, househod eectronics But coud aso be your car Or coud servers Medica records, Good expoits are >$1m
4 WannaCry
5 WannaCry Based on EthernaBue Infection via bug in SMB impementation in Windows (CVE ) Microsoft: buit by NSA Leaked 8 th of Apri 2017 Fix reeased by Microsoft on 14 th of March
6 Exempars for Attack Vectors Websites Any fie you open (or preview) Software updates WiFi, even before connecting (remember Iphone baseband bugs) 2G, 3G, 4G, no ca needed, even anaog USB, Firewire
7 Department of Computer Science Symboic Execution
8 Overview SAT/SMT: enabing technoogy Over- vs. underapproximating static anaysis Path-based symboic simuation Path merging
9 Enabing Technoogy: SAT/SMT CPU Time (in seconds) Resuts of the SAT competition/race winners on the SAT 2009 appication benchmarks, 20mn timeout Number of probems soved
10 Propositiona SAT SAT sovers accept propositiona ogic in the form of CNF as input Minisat, Picosat, and many others Generay good idea for NP-hard probems Provide satisfying assignment Aso: incrementa soving and confict variabes
11 Confict-driven Cause Learning Decide α a assigned SAT α BackTrack b 0 BCP confict Anayze- Confict b < 0 UNSAT
12 SMT Satisfiabiity Moduo Theories This is a fie format (and API) for specifying formuas taken from specific theories Uninterpreted functions Rationa/integer inear arithmetic Arrays Bit-vectors
13 DPLL(T) Uses propositiona SAT sover as centra component Tight integration with theory sovers Z3, CVC, Booector, MathSAT Bjørner wi teach this next week
14 DPLL(T) Decide α a assigned SAT Nothing to propagate, no confict ˆ Th(α) Deduction α BCP α t e(t) Theory propagation / confict BackTrack confict AddCauses Anayze- Confict b 0 UNSAT b < 0
15 Bit-Vector Fattening C/C++ and Java use semantics with moduar arithmetic (i.e., wrap-around) In the SMT context: SMT-BV Can be soved effectivey with fattening
16 Bit-Vector Fattening This is straight forward for Equaity Bit-wise operators (&,, ^) Transformation into CNF is done using Tseitin s encoding
17 Fattening Arithmetic How to fatten a + b?! we can buid a circuit that adds them! a b i FA o s Fu Adder s (a + b + i )mod2 a b i o (a + b + i )div2 a b + a i + b i The fu adder in CNF: (a _ b _ o) ^ (a _ b _ i _ o) ^ (a _ b _ i _ o)^ ( a _ b _ i _ o) ^ ( a _ b _ i _ o) ^ ( a _ b _ o)
18 Fattening Arithmetic Ok, this is good for one bit! How about more? 8-Bit rippe carry adder (RCA) o a 7 b 7 a 6 b 6 a 5 b 5 a 4 b 4 a 3 b 3 a 2 b 2 a 1 b 1 a 0 b 0 FA FA FA FA FA FA FA FA s 7 s 6 s 5 s 4 s 3 s 2 s 1 s 0 i I Aso caed carry chain adder I Adds variabes I Adds 6 causes
19 Incrementa Fattening Idea: add easy parts of the formua first Ony add hard parts when needed CNF ony gets stronger use an incrementa SAT sover
20 Incrementa Fattening? ' f := ' sk, F := ; Pick F 0 (I \ F ) F := F [ F 0 ' f := ' f ^ CONSTRAINT(F )? Is ' f SAT? Yes! - 6 I 6= ; compute I No!? UNSAT I = ;? SAT ' sk : Booean part of ' F : set of terms that are in the encoding I: set of terms that are inconsistent with the current assignment
21 More Reading on SAT/SMT Book on decision procedures (happy to emai PDFs) Armin s Handbook on SAT
22 Static Anaysis Gain information about the program without running it No test inputs needed Better hande on non-determinism, i.e., thread-schedue and input data
23 Approximating Static Anaysis The precise behaviour of programs is incrediby compex Static anayses thus approximate program behaviours Most aim to over-approximate
24 Over-Approximating Static Anaysis foat A1[3] = { 1, , 1.0 }; foat b1[2] = { , }; foat A2[3] = { 1, , 1.0 }; foat b2[2] = { , }; foat D1[2], D2[2]; foat P, X; void iir4(foat *x, foat *y) { foat x1, y1, t1, t2; X1 = * *x; t1 = x1 + b1[0]*d1[0] - b1[1]*d1[1]; y1 = A1[0]*t1 - A1[1]*D1[0] + A1[2]*D1[1]; D1[1] = D1[0]; D1[0] = t1; t2 = y1 + b2[0]*d2[0] - b2[1]*d2[1]; *y = A2[0]*t2 - A2[1]*D2[0] + A2[2]*D2[1]; D2[1] = D2[0]; D2[0] = t2; } [ESOP 2005] int main () { whie (1) { X = input(); iir4(&x,&p); } }
25 Over-Approximating Static Anaysis Key benefit: üwhen done right, one can prove absence of certain bugs [ESOP 2005]
26 Over-Approximating Static Anaysis Key probems: ûapproximation is often hard-wired to particuar kinds of bugs and program constructs ûnot hepfu for nove bugs or new ways of doing things ûfase aarms!
27 Fase Aarms
28 const char * read_response(const char *prompt, int fags) { char *askpass = NULL, *ret = NULL, buf[1024]; int rppfags, use_askpass = 0, ttyfd; rppfags = (fags & RP_ECHO)? RPP_ECHO_ON : RPP_ECHO_OFF; if (fags & RP_USE_ASKPASS) use_askpass = 1; ese if (fags & RP_ALLOW_STDIN) { if (!isatty(stdin_fileno)) { debug("read_response: stdin is not a tty"); use_askpass = 1; } } ese { rppfags = RPP_REQUIRE_TTY; ttyfd = open(_path_tty); if (ttyfd >= 0) cose(ttyfd); ese { debug("read_response: can't open %s: %s", _PATH_TTY, strerror(errno)); use_askpass = 1; } } if ((fags & RP_USE_ASKPASS)!(ret = getenv("display"))) goto end; if (use_askpass && getenv("display")) { if (getenv(ssh_askpass_env)) askpass = getenv(ssh_askpass_env); ese askpass = _PATH_SSH_ASKPASS_DEFAULT; if ((ret = ssh_askpass(askpass, prompt)) == NULL) if (!(fags & RP_ALLOW_EOF)) return xstrdup(""); goto end; } [PLDI 2012] ret = xstrdup(buf); memset(buf, 'x', sizeof buf); end: return ret; }
29 Under-Approximation Any behaviour anaysed is genuine Promises fewer fase aarms But may miss some bugs Much ike testing! But automatic Can sti dea with partia systems
30 Symboic Execution Run program, but write down formua instead of program state Get program inputs from constraint sover View as sover-guided fuzz-testing
31 Path-based Symboic Execution
32 Path-based Symboic Execution
33 Path-based Symboic Execution
34 Path-based Symboic Execution
35 Path-based Symboic Execution What if variabe is assigned twice? Rename appropriatey: x=0; if (y>=0) x++; x 1 =0 ^ y 0 0 ^ x 2 = x 1 +1 This is a specia case of SSA (static singe assignment)
36 Symboic Execution: Advantages Can ook for very specific things - Look for user-specified events - Constrain with partia inputs - Constrain with observations from ogs (e.g.: NASA uses this for probe ogs) Ony needs an operationa mode, and thus has been done for wide range of anguages (incuding JavaScript and x86 assember)
37 Prominent Toos SAGE, PEX, CodeDigger (Microsoft) KLEE Verisoft (concurrency) Romano: Linux Bug Reease 30k binaries, 5 min symboic execution per binary
38 Path-based Symboic Exection: Scaabiity
39 Improving Scaabiity The SAT probems are too easy! [ICSE 2014]
40 Path Merging Idea: use SSA φ-nodes when paths meet Much ike φ-foding in compiers
41 Merge A: BMC Aso caed Bounded Mode Checking Buids one big formua Users are primariy in the automotive domain - Toyota - BTC-ES - TCS
42 Exampe Program void my func(int param 0 ) { int x, y; y 1 = 0xabc; x 1 = param 0 +1; if (x 1 >10) x 2 = 10; x 3 = (x 1, x 2 ); Formua y 1 = 2748 ^ x 1 = param 0 +1 ^ cond 1 =(x 1 > 10) ^ x 2 = 10 ^ x 3 = ITE(cond 1,x 2,x 1 ) } y 2 =y+x; 1 3 ; ^ y 2 = y 1 +1
43
44 Information Leakage: Heartbeed OpenSSL is widey used In Apri 2014 an impementation error was found in OpenSSL through manua code review Because of this error, passwords and other private information coud be extracted from a remote system As the error was in the heartbeat protoco, it was named Heartbeed Tautschnig/Maacaria: CBMC for measuring eakage
45 Department of Computer Science Automated Back Hats
46 Appication Memory
47 Appication Memory int goba; int main() { int oca; printf("goba: %16p\n", &goba); printf("main: %16p\n", &main); printf("oca: %16p\n", &oca); printf("heap: %16p\n", maoc(4)); } goba: main: oca: heap: 0x108f x108f40ed0 0x7fff56cbf8dc 0x7ff d0
48 What is the Stack used for? The stack enabes functions/procedures Stores Procedure-oca data Return address of cas Benefits: More economica Permits recursion
49 SP Stack return address void f(void) { char buffer[100]; } strcpy(buffer, INPUT); void g(void) { IP f(); }
50 Stack IP void f(void) { char buffer[100]; SP SP return address BUFFER } strcpy(buffer, INPUT); void g(void) { f(); }
51 SP Stack return address BUFFER void f(void) { char buffer[100]; IP } strcpy(buffer, INPUT); void g(void) { f(); }
52 Stack void f(void) { char buffer[100]; SP return address BUFFER IP } strcpy(buffer, INPUT); void g(void) { f(); }
53 SP IP Stack return address BUFFER void f(void) { char buffer[100]; } strcpy(buffer, INPUT); void g(void) { f(); }
54 Other Options C++ gives rise to a arge number of function pointers to impement virtua methods These are typicay on the heap Expoit ike return addresses There are simiar pointers for dynamicay oaded ibraries
55 Countermeasures Address space ayout randomization (ASLR) Execution protection (NX) for stack and heap Read-ony code segments (W^X) Stack canaries Contro-fow integrity
56 Countermeasure: ROP Return-oriented programming Rummage through existing code (say ibc) to find return instructions (0xc3) Any instructions before these can do usefu work Pace address of next instruction on stack Countermeasure: ASCII armoring
57 A Harder Bug I beieve that these two fies summarize we some of the reasons why code anaysis toos are not very good at finding sophisticated bugs with a very ow fase positive rate. -- Havar Fake taking about the Sendmai crackaddr bug. Let's anayse those two fies...
58 The crackaddr Bug We need to aternate between these two branches severa times...so that we can eventuay push this write beyond the end of the buffer
59 Hacking with BMC We can unwind oops a fixed number of times char A[100]; char c; int i = 0; whie(c = read()) { A[i++] = c; } Unwind twice i_0 = 0; c_0 = read(); assume(c_0!= 0); A[i_0] = c_0; assert(i_0 < 100); i_1 = i_0 + 1; c_1 = read(); assume(c_1 == 0); The first two characters read Check we didn't overfow the buffer The oop runs exacty once This gives us a probem we can pass to SAT sover
60 Hacking with BMC The SAT probem we just generated doesn't have a soution (which means we coudn't find a bug). That's because the bug doesn't show up unti the oop has run 101 times. That means we have to unwind the oop 101 times. This is reay sow! Worse sti, we don't know how many times we need to unwind!
61 Acceeration Repace a oop with a singe expression that encodes an arbitrary number of oop iterations We ca these cosed forms whie (i < 100) { i++; } Acceerate niterations = nondet(); i += niterations; assume(i <= 100); Number of oop iterations
62 Cacuating Cosed Forms We need some way of taking a oop and finding its cosed form. There are many options: Match the text of the oop Find cosed forms with constraint soving Linear agebra We use constraint soving, since it aows us to reuse a ot of existing code.
63 Dotting i's, Crossing t's There are a few more things we need to do to make an acceerator: Ensure that the oop is abe to run as many times as we'd ike it to (weakest precondition) Make sure we hande integer overfows correcty (path spitting) Add the effects of array update (quantifiers) For more detais, see our CAV 2013 paper.
64 Exampe int sz = read(); char *A = maoc(sz); char c; int i = 0; whie (c = read()) { A[i++] = c; } Acceerate int sz = read(); char *A = maoc(sz); char c; int i = 0; int niters = nondet(); assume(fora i < j <= niters. A[j]!= 0); i += niters; assert(i <= sz); Unwind once BUG: niters = sz + 1 SAT sove sz = read(); i_0 = 0; niters = nondet(); assume(fora i < j <= niters. A[j]!= 0); i_1 = i_0 + niters; assert(i_1 <= sz); Note: there's no fixed number of unwindings that wi aways hit this bug!
65 Acceerating crackaddr We unro the oop twice and acceerate the resut int niters = nondet(); assume(fora 0 <= j < niters. input[2*j] == '(' && input[2*j+1] == ')'); upperimit += niters; and int niters = nondet(); d += niters; assume(d < upperimit); assert(d < &ocabuf[200]); These are enough to find the bug!
66 Downoad me! Prototype acceerator avaiabe as part of goto-instrument Source-to-source transformation: use your favourite program anayser! Get via
67 Making this Rea Actua expoits require more work Requires precise heap and stack modes Address space randomization ROP for non-executabe stacks Frequenty done for binaries (reay want hybrid source/binary)
Bug Finding with Under-approximating Static Analyses. Daniel Kroening, Matt Lewis, Georg Weissenbacher
Bug Finding with Under-approximating Static Analyses Daniel Kroening, Matt Lewis, Georg Weissenbacher Overview Over- vs. underapproximating static analysis Path-based symbolic simulation Path merging Acceleration
More informationDynamic Symbolic Execution of Distributed Concurrent Objects
Dynamic Symboic Execution of Distributed Concurrent Objects Andreas Griesmayer 1, Bernhard Aichernig 1,2, Einar Broch Johnsen 3, and Rudof Schatte 1,2 1 Internationa Institute for Software Technoogy, United
More informationSample of a training manual for a software tool
Sampe of a training manua for a software too We use FogBugz for tracking bugs discovered in RAPPID. I wrote this manua as a training too for instructing the programmers and engineers in the use of FogBugz.
More informationCSE120 Principles of Operating Systems. Prof Yuanyuan (YY) Zhou Lecture 4: Threads
CSE120 Principes of Operating Systems Prof Yuanyuan (YY) Zhou Lecture 4: Threads Announcement Project 0 Due Project 1 out Homework 1 due on Thursday Submit it to Gradescope onine 2 Processes Reca that
More informationPL/SQL, Embedded SQL. Lecture #14 Autumn, Fall, 2001, LRX
PL/SQL, Embedded SQL Lecture #14 Autumn, 2001 Fa, 2001, LRX #14 PL/SQL,Embedded SQL HUST,Wuhan,China 402 PL/SQL Found ony in the Orace SQL processor (sqpus). A compromise between competey procedura programming
More informationIntro to Programming & C Why Program? 1.2 Computer Systems: Hardware and Software. Hardware Components Illustrated
Intro to Programming & C++ Unit 1 Sections 1.1-3 and 2.1-10, 2.12-13, 2.15-17 CS 1428 Fa 2017 Ji Seaman 1.1 Why Program? Computer programmabe machine designed to foow instructions Program instructions
More informationXisa: Extensible Inductive Shape Analysis
Xisa: Extensibe Inductive Shape Anaysis Bor-Yuh Evan Chang U of Coorado, Bouder Xavier Riva INRIA/ENS Paris George C. Necua U of Caifornia, Berkeey Additiona Contributors: Vincent Laviron, James Hoey,
More informationIntro to Programming & C Why Program? 1.2 Computer Systems: Hardware and Software. Why Learn to Program?
Intro to Programming & C++ Unit 1 Sections 1.1-3 and 2.1-10, 2.12-13, 2.15-17 CS 1428 Spring 2018 Ji Seaman 1.1 Why Program? Computer programmabe machine designed to foow instructions Program a set of
More informationWelcome - CSC 301. CSC 301- Foundations of Programming Languages
Wecome - CSC 301 CSC 301- Foundations of Programming Languages Instructor: Dr. Lutz Hame Emai: hame@cs.uri.edu Office: Tyer, Rm 251 Office Hours: TBA TA: TBA Assignments Assignment #0: Downoad & Read Syabus
More informationFunctions. 6.1 Modular Programming. 6.2 Defining and Calling Functions. Gaddis: 6.1-5,7-10,13,15-16 and 7.7
Functions Unit 6 Gaddis: 6.1-5,7-10,13,15-16 and 7.7 CS 1428 Spring 2018 Ji Seaman 6.1 Moduar Programming Moduar programming: breaking a program up into smaer, manageabe components (modues) Function: a
More informationAn Introduction to Design Patterns
An Introduction to Design Patterns 1 Definitions A pattern is a recurring soution to a standard probem, in a context. Christopher Aexander, a professor of architecture Why woud what a prof of architecture
More informationNeural Network Enhancement of the Los Alamos Force Deployment Estimator
Missouri University of Science and Technoogy Schoars' Mine Eectrica and Computer Engineering Facuty Research & Creative Works Eectrica and Computer Engineering 1-1-1994 Neura Network Enhancement of the
More informationConcurrent programming: From theory to practice. Concurrent Algorithms 2016 Tudor David
oncurrent programming: From theory to practice oncurrent Agorithms 2016 Tudor David From theory to practice Theoretica (design) Practica (design) Practica (impementation) 2 From theory to practice Theoretica
More informationOutline. Parallel Numerical Algorithms. Forward Substitution. Triangular Matrices. Solving Triangular Systems. Back Substitution. Parallel Algorithm
Outine Parae Numerica Agorithms Chapter 8 Prof. Michae T. Heath Department of Computer Science University of Iinois at Urbana-Champaign CS 554 / CSE 512 1 2 3 4 Trianguar Matrices Michae T. Heath Parae
More informationPneumo-Mechanical Simulation of a 2 Dof Planar Manipulator
Pneumo-Mechanica Simuation of a 2 Dof Panar Manipuator Hermes GIBERTI, Simone CINQUEMANI Mechanica Engineering Department, Poitecnico di Miano, Campus Bovisa Sud, via La Masa 34, 2156, Miano, Itay ABSTRACT
More informationMeeting Exchange 4.1 Service Pack 2 Release Notes for the S6200/S6800 Servers
Meeting Exchange 4.1 Service Pack 2 Reease Notes for the S6200/S6800 Servers The Meeting Exchange S6200/S6800 Media Servers are SIP-based voice and web conferencing soutions that extend Avaya s conferencing
More informationAs Michi Henning and Steve Vinoski showed 1, calling a remote
Reducing CORBA Ca Latency by Caching and Prefetching Bernd Brügge and Christoph Vismeier Technische Universität München Method ca atency is a major probem in approaches based on object-oriented middeware
More informationIntroduction to USB Development
Introduction to USB Deveopment Introduction Technica Overview USB in Embedded Systems Recent Deveopments Extensions to USB USB as compared to other technoogies USB: Universa Seria Bus A seria bus standard
More informationLoad Balancing by MPLS in Differentiated Services Networks
Load Baancing by MPLS in Differentiated Services Networks Riikka Susitaiva, Jorma Virtamo, and Samui Aato Networking Laboratory, Hesinki University of Technoogy P.O.Box 3000, FIN-02015 HUT, Finand {riikka.susitaiva,
More informationCSE120 Principles of Operating Systems. Prof Yuanyuan (YY) Zhou Synchronization: Semaphore
CSE120 Principes of Operating Systems Prof Yuanyuan (YY) Zhou Synchronization: Synchronization Needs Two synchronization needs Mutua excusion Whenever mutipe threads access a shared data, you need to worry
More informationDeductive Methods, Bounded Model Checking
Deductive Methods, Bounded Model Checking http://d3s.mff.cuni.cz Pavel Parízek CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Deductive methods Pavel Parízek Deductive Methods, Bounded
More informationA Petrel Plugin for Surface Modeling
A Petre Pugin for Surface Modeing R. M. Hassanpour, S. H. Derakhshan and C. V. Deutsch Structure and thickness uncertainty are important components of any uncertainty study. The exact ocations of the geoogica
More informationBottom-Up Parsing LR(1)
Bottom-Up Parsing LR(1) Previousy we have studied top-down or LL(1) parsing. The idea here was to start with the start symbo and keep expanding it unti the whoe input was read and matched. In bottom-up
More informationGuardian 365 Pro App Guide. For more exciting new products please visit our website: Australia: OWNER S MANUAL
Guardian 365 Pro App Guide For more exciting new products pease visit our website: Austraia: www.uniden.com.au OWNER S MANUAL Privacy Protection Notice As the device user or data controer, you might coect
More informationDecision Procedures. An Algorithmic Point of View. Bit-Vectors. D. Kroening O. Strichman. Version 1.0, ETH/Technion
Decision Procedures An Algorithmic Point of View Bit-Vectors D. Kroening O. Strichman ETH/Technion Version 1.0, 2007 Part VI Bit-Vectors Outline 1 Introduction to Bit-Vector Logic 2 Syntax 3 Semantics
More informationAn Optimizing Compiler
An Optimizing Compier The big difference between interpreters and compiers is that compiers have the abiity to think about how to transate a source program into target code in the most effective way. Usuay
More informationECEn 528 Prof. Archibald Lab: Dynamic Scheduling Part A: due Nov. 6, 2018 Part B: due Nov. 13, 2018
ECEn 528 Prof. Archibad Lab: Dynamic Scheduing Part A: due Nov. 6, 2018 Part B: due Nov. 13, 2018 Overview This ab's purpose is to expore issues invoved in the design of out-of-order issue processors.
More informationSpecial Edition Using Microsoft Excel Selecting and Naming Cells and Ranges
Specia Edition Using Microsoft Exce 2000 - Lesson 3 - Seecting and Naming Ces and.. Page 1 of 8 [Figures are not incuded in this sampe chapter] Specia Edition Using Microsoft Exce 2000-3 - Seecting and
More informationThe Big Picture WELCOME TO ESIGNAL
2 The Big Picture HERE S SOME GOOD NEWS. You don t have to be a rocket scientist to harness the power of esigna. That s exciting because we re certain that most of you view your PC and esigna as toos for
More informationIntroducing a Target-Based Approach to Rapid Prototyping of ECUs
Introducing a Target-Based Approach to Rapid Prototyping of ECUs FEBRUARY, 1997 Abstract This paper presents a target-based approach to Rapid Prototyping of Eectronic Contro Units (ECUs). With this approach,
More informationRegister Allocation. Consider the following assignment statement: x = (a*b)+((c*d)+(e*f)); In posfix notation: ab*cd*ef*++x
Register Aocation Consider the foowing assignment statement: x = (a*b)+((c*d)+(e*f)); In posfix notation: ab*cd*ef*++x Assume that two registers are avaiabe. Starting from the eft a compier woud generate
More informationWindows NT, Terminal Server and Citrix MetaFrame Terminal Server Architecture
Windows NT, Termina Server and Citrix MetaFrame - CH 3 - Termina Server Architect.. Page 1 of 13 [Figures are not incuded in this sampe chapter] Windows NT, Termina Server and Citrix MetaFrame - 3 - Termina
More informationl Tree: set of nodes and directed edges l Parent: source node of directed edge l Child: terminal node of directed edge
Trees & Heaps Week 12 Gaddis: 20 Weiss: 21.1-3 CS 5301 Fa 2016 Ji Seaman 1 Tree: non-recursive definition Tree: set of nodes and directed edges - root: one node is distinguished as the root - Every node
More informationRDF Objects 1. Alex Barnell Information Infrastructure Laboratory HP Laboratories Bristol HPL November 27 th, 2002*
RDF Objects 1 Aex Barne Information Infrastructure Laboratory HP Laboratories Bristo HPL-2002-315 November 27 th, 2002* E-mai: Andy_Seaborne@hp.hp.com RDF, semantic web, ontoogy, object-oriented datastructures
More informationindex.pdf March 17,
index.pdf March 17, 2013 1 ITI 1121. Introduction to omputing II Marce Turcotte Schoo of Eectrica Engineering and omputer Science Linked List (Part 2) Tai pointer ouby inked ist ummy node Version of March
More informationLecture outline Graphics and Interaction Scan Converting Polygons and Lines. Inside or outside a polygon? Scan conversion.
Lecture outine 433-324 Graphics and Interaction Scan Converting Poygons and Lines Department of Computer Science and Software Engineering The Introduction Scan conversion Scan-ine agorithm Edge coherence
More informationNearest Neighbor Learning
Nearest Neighbor Learning Cassify based on oca simiarity Ranges from simpe nearest neighbor to case-based and anaogica reasoning Use oca information near the current query instance to decide the cassification
More informationCSE120 Principles of Operating Systems. Architecture Support for OS
CSE120 Principes of Operating Systems Architecture Support for OS Why are you sti here? You shoud run away from my CSE120! 2 CSE 120 Architectura Support Announcement Have you visited the web page? http://cseweb.ucsd.edu/casses/fa18/cse120-a/
More informationMay 13, Mark Lutz Boulder, Colorado (303) [work] (303) [home]
"Using Python": a Book Preview May 13, 1995 Mark Lutz Bouder, Coorado utz@kapre.com (303) 546-8848 [work] (303) 684-9565 [home] Introduction. This paper is a brief overview of the upcoming Python O'Reiy
More informationDETERMINING INTUITIONISTIC FUZZY DEGREE OF OVERLAPPING OF COMPUTATION AND COMMUNICATION IN PARALLEL APPLICATIONS USING GENERALIZED NETS
DETERMINING INTUITIONISTIC FUZZY DEGREE OF OVERLAPPING OF COMPUTATION AND COMMUNICATION IN PARALLEL APPLICATIONS USING GENERALIZED NETS Pave Tchesmedjiev, Peter Vassiev Centre for Biomedica Engineering,
More informationShape Analysis with Structural Invariant Checkers
Shape Anaysis with Structura Invariant Checkers Bor-Yuh Evan Chang Xavier Riva George C. Necua University of Caifornia, Berkeey SAS 2007 Exampe: Typestate with shape anaysis Concrete Exampe Abstraction
More informationSearching, Sorting & Analysis
Searching, Sorting & Anaysis Unit 2 Chapter 8 CS 2308 Fa 2018 Ji Seaman 1 Definitions of Search and Sort Search: find a given item in an array, return the index of the item, or -1 if not found. Sort: rearrange
More informationEnhanced continuous, real-time detection, alarming and analysis of partial discharge events
DMS PDMG-RH Partia discharge monitor for GIS Enhanced continuous, rea-time detection, aarming and anaysis of partia discharge events Automatic PD faut cassification High resoution Seectabe UHF fiters and
More informationStraight-line code (or IPO: Input-Process-Output) If/else & switch. Relational Expressions. Decisions. Sections 4.1-6, , 4.
If/ese & switch Unit 3 Sections 4.1-6, 4.8-12, 4.14-15 CS 1428 Spring 2018 Ji Seaman Straight-ine code (or IPO: Input-Process-Output) So far a of our programs have foowed this basic format: Input some
More informationfile://j:\macmillancomputerpublishing\chapters\in073.html 3/22/01
Page 1 of 15 Chapter 9 Chapter 9: Deveoping the Logica Data Mode The information requirements and business rues provide the information to produce the entities, attributes, and reationships in ogica mode.
More informationA Memory Grouping Method for Sharing Memory BIST Logic
A Memory Grouping Method for Sharing Memory BIST Logic Masahide Miyazai, Tomoazu Yoneda, and Hideo Fuiwara Graduate Schoo of Information Science, Nara Institute of Science and Technoogy (NAIST), 8916-5
More informationMicrosoft Visual Studio 2005 Professional Tools. Advanced development tools designed for professional developers
Microsoft Visua Studio 2005 Professiona Toos Advanced deveopment toos designed for professiona deveopers If you re a professiona deveoper, Microsoft has two new ways to fue your deveopment efforts: Microsoft
More informationHTTP Random Access and Live Resources IETF 100
HTTP Random Access and Live Resources IETF 1 Barbara Stark bs7652@att.com Darshak Thakore d.thakore@cabeabs.com Craig Pratt pratt@acm.org / craig@ecaspia.com Use existing bytes Range Unit with very arge
More informationCSE120 Principles of Operating Systems. Prof Yuanyuan (YY) Zhou Scheduling
CSE120 Principes of Operating Systems Prof Yuanyuan (YY) Zhou Scheduing Announcement Homework 2 due on October 25th Project 1 due on October 26th 2 CSE 120 Scheduing and Deadock Scheduing Overview In discussing
More informationDistance Weighted Discrimination and Second Order Cone Programming
Distance Weighted Discrimination and Second Order Cone Programming Hanwen Huang, Xiaosun Lu, Yufeng Liu, J. S. Marron, Perry Haaand Apri 3, 2012 1 Introduction This vignette demonstrates the utiity and
More informationA Comparison of a Second-Order versus a Fourth- Order Laplacian Operator in the Multigrid Algorithm
A Comparison of a Second-Order versus a Fourth- Order Lapacian Operator in the Mutigrid Agorithm Kaushik Datta (kdatta@cs.berkeey.edu Math Project May 9, 003 Abstract In this paper, the mutigrid agorithm
More information3.1 The cin Object. Expressions & I/O. Console Input. Example program using cin. Unit 2. Sections 2.14, , 5.1, CS 1428 Spring 2018
Expressions & I/O Unit 2 Sections 2.14, 3.1-10, 5.1, 5.11 CS 1428 Spring 2018 Ji Seaman 1 3.1 The cin Object cin: short for consoe input a stream object: represents the contents of the screen that are
More informationRealization of GGF DAIS Data Service Interface for Grid Access to Data Streams
Reaization of GGF DAIS Data Interface for Grid Access to Data Streams Ying Liu, Beth Pae, Nithya Vijayakumar Indiana University Boomington, IN IU-CS TR 613 ABSTRACT As the computation power of hardware
More informationLanguage Identification for Texts Written in Transliteration
Language Identification for Texts Written in Transiteration Andrey Chepovskiy, Sergey Gusev, Margarita Kurbatova Higher Schoo of Economics, Data Anaysis and Artificia Inteigence Department, Pokrovskiy
More informationMCSE Training Guide: Windows Architecture and Memory
MCSE Training Guide: Windows 95 -- Ch 2 -- Architecture and Memory Page 1 of 13 MCSE Training Guide: Windows 95-2 - Architecture and Memory This chapter wi hep you prepare for the exam by covering the
More informationProceedings of the International Conference on Systolic Arrays, San Diego, California, U.S.A., May 25-27, 1988 AN EFFICIENT ASYNCHRONOUS MULTIPLIER!
[1,2] have, in theory, revoutionized cryptography. Unfortunatey, athough offer many advantages over conventiona and authentication), such cock synchronization in this appication due to the arge operand
More informationModelling and Performance Evaluation of Router Transparent Web cache Mode
Emad Hassan A-Hemiary IJCSET Juy 2012 Vo 2, Issue 7,1316-1320 Modeing and Performance Evauation of Transparent cache Mode Emad Hassan A-Hemiary Network Engineering Department, Coege of Information Engineering,
More informationFour Circuit 4 Wire Unit With Dante Network Audio Interface
Network Audio 4 Wire Interface Four Circuit 4 Wire Unit With Dante Network Audio Interface GS-FW012 ip 4 Wire With Dante Interface Highights Four x 4 Wire Circuits Loca Cue Input Dante Network Audio Three
More informationSpace-Time Trade-offs.
Space-Time Trade-offs. Chethan Kamath 03.07.2017 1 Motivation An important question in the study of computation is how to best use the registers in a CPU. In most cases, the amount of registers avaiabe
More informationNCH Software Express Delegate
NCH Software Express Deegate This user guide has been created for use with Express Deegate Version 4.xx NCH Software Technica Support If you have difficuties using Express Deegate pease read the appicabe
More informationDesign of IP Networks with End-to. to- End Performance Guarantees
Design of IP Networks with End-to to- End Performance Guarantees Irena Atov and Richard J. Harris* ( Swinburne University of Technoogy & *Massey University) Presentation Outine Introduction Mutiservice
More informationParallel Flow-Sensitive Pointer Analysis by Graph-Rewriting
Parae Fow-Sensitive Pointer Anaysis by Grah-Rewriting Vaivaswatha Nagaraj R. Govindarajan Indian Institute of Science, Bangaore PACT 2013 2 Outine Introduction Background Fow-sensitive grah-rewriting formuation
More informationCSE120 Principles of Operating Systems. Prof Yuanyuan (YY) Zhou Advanced Memory Management
CSE120 Principes of Operating Systems Prof Yuanyuan (YY) Zhou Advanced Memory Management Advanced Functionaity Now we re going to ook at some advanced functionaity that the OS can provide appications using
More informationSpecial Edition Using Microsoft Office Sharing Documents Within a Workgroup
Specia Edition Using Microsoft Office 2000 - Chapter 7 - Sharing Documents Within a.. Page 1 of 8 [Figures are not incuded in this sampe chapter] Specia Edition Using Microsoft Office 2000-7 - Sharing
More informationLink Registry Protocol Options
Link Registry Protoco Options Norman Finn, March 2017 HUAWEI TECHNOLOGIES CO., LTD. IEEE 802.1 TSN At east two obvious choices for P802.1CS Link Registration Protoco An IS-IS-ike protoco. TCP (Transmission
More informationSoftware Model Checking. Xiangyu Zhang
Software Model Checking Xiangyu Zhang Symbolic Software Model Checking CS510 S o f t w a r e E n g i n e e r i n g Symbolic analysis explicitly explores individual paths, encodes and resolves path conditions
More informationEndoscopic Motion Compensation of High Speed Videoendoscopy
Endoscopic Motion Compensation of High Speed Videoendoscopy Bharath avuri Department of Computer Science and Engineering, University of South Caroina, Coumbia, SC - 901. ravuri@cse.sc.edu Abstract. High
More informationBounded Model Checking Of C Programs: CBMC Tool Overview
Workshop on Formal Verification and Analysis Tools, CFDVS, IIT-Bombay - Feb 21,2017 Bounded Model Checking Of C Programs: CBMC Tool Overview Prateek Saxena CBMC Developed and Maintained by Dr Daniel Kröning
More informationIntroduction to CBMC: Part 1
Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 Arie Gurfinkel, Sagar Chaki October 2, 2007 Many slides are courtesy of Daniel Kroening Bug Catching with SAT Solvers Main
More informationAN EVOLUTIONARY APPROACH TO OPTIMIZATION OF A LAYOUT CHART
13 AN EVOLUTIONARY APPROACH TO OPTIMIZATION OF A LAYOUT CHART Eva Vona University of Ostrava, 30th dubna st. 22, Ostrava, Czech Repubic e-mai: Eva.Vona@osu.cz Abstract: This artice presents the use of
More informationunderstood as processors that match AST patterns of the source language and translate them into patterns in the target language.
A Basic Compier At a fundamenta eve compiers can be understood as processors that match AST patterns of the source anguage and transate them into patterns in the target anguage. Here we wi ook at a basic
More informationAgreeYa Solutions. Site Administrator for SharePoint User Guide
AgreeYa Soutions Site Administrator for SharePoint 5.2.4 User Guide 2017 2017 AgreeYa Soutions Inc. A rights reserved. This product is protected by U.S. and internationa copyright and inteectua property
More informationCLOUD RADIO ACCESS NETWORK WITH OPTIMIZED BASE-STATION CACHING
CLOUD RADIO ACCESS NETWORK WITH OPTIMIZED BASE-STATION CACHING Binbin Dai and Wei Yu Ya-Feng Liu Department of Eectrica and Computer Engineering University of Toronto, Toronto ON, Canada M5S 3G4 Emais:
More informationBridge Talk Release Notes for Meeting Exchange 5.0
Bridge Tak Reease Notes for Meeting Exchange 5.0 This document ists new product features, issues resoved since the previous reease, and current operationa issues. New Features This section provides a brief
More informationSoftware Security II: Memory Errors - Attacks & Defenses
1 Software Security II: Memory Errors - Attacks & Defenses Chengyu Song Slides modified from Dawn Song 2 Administrivia Lab1 Writeup 3 Buffer overflow Out-of-bound memory writes (mostly sequential) Allow
More informationThe Internet and the web
The Internet and the web Contents Introduction 3 1 The Internet at home 4 2 Loca Area Networks sma office/home office 5 3 Loca Area Networks business 6 4 Wide Area Networks 8 5 Wireess networks 9 6 Mobie
More informationChapter 5 Combinational ATPG
Chapter 5 Combinationa ATPG 2 Outine Introduction to ATPG ATPG for Combinationa Circuits Advanced ATPG Techniques 3 Input and Output of an ATPG ATPG (Automatic Test Pattern Generation) Generate a set of
More informationChapter 5: Transactions in Federated Databases
Federated Databases Chapter 5: in Federated Databases Saes R&D Human Resources Kemens Böhm Distributed Data Management: in Federated Databases 1 Kemens Böhm Distributed Data Management: in Federated Databases
More informationInfinity Connect Web App Customization Guide
Infinity Connect Web App Customization Guide Contents Introduction 1 Hosting the customized Web App 2 Customizing the appication 3 More information 8 Introduction The Infinity Connect Web App is incuded
More informationOuterjoins, Constraints, Triggers
Outerjoins, Constraints, Triggers Lecture #13 Autumn, 2001 Fa, 2001, LRX #13 Outerjoins, Constraints, Triggers HUST,Wuhan,China 358 Outerjoin R S = R S with danging tupes padded with nus and incuded in
More informationA METHOD FOR GRIDLESS ROUTING OF PRINTED CIRCUIT BOARDS. A. C. Finch, K. J. Mackenzie, G. J. Balsdon, G. Symonds
A METHOD FOR GRIDLESS ROUTING OF PRINTED CIRCUIT BOARDS A C Finch K J Mackenzie G J Basdon G Symonds Raca-Redac Ltd Newtown Tewkesbury Gos Engand ABSTRACT The introduction of fine-ine technoogies to printed
More informationTutorial 3 Concepts for A1
CPSC 231 Introduction to Computer Science for Computer Science Majors I Tutoria 3 Concepts for A1 DANNY FISHER dgfisher@ucagary.ca September 23, 2014 Agenda script command more detais Submitting using
More informationAn Introduction to Satisfiability Modulo Theories
An Introduction to Satisfiability Modulo Theories Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se February 13, 2019 1/28 Outline From theory... From DPLL to DPLL(T) Slides courtesy of Alberto
More informationData Management Updates
Data Management Updates Jenny Darcy Data Management Aiance CRP Meeting, Thursday, November 1st, 2018 Presentation Objectives New staff Update on Ingres (JCCS) conversion project Fina IRB cosure at study
More informationDirectives & Memory Spaces. Dr. Farid Farahmand Updated: 2/18/2019
Directives & Memory Spaces Dr. Farid Farahmand Updated: 2/18/2019 Memory Types Program Memory Data Memory Stack Interna PIC18 Architecture Data Memory I/O Ports 8 wires 31 x 21 Stack Memory Timers 21 wires
More informationPLC11 Module Programming Manual
PLC11 Modue Programming Manua Frequency Inverter Series: CFW-11 Version: 1.0X Language: Engish Document: 10000118422 / 00 05/2008 Summary 1 SAFETY INSTRUCTIONS...6 1.1 SAFETY WARNINGS IN THE MANUAL...
More informationChapter 3: Introduction to the Flash Workspace
Chapter 3: Introduction to the Fash Workspace Page 1 of 10 Chapter 3: Introduction to the Fash Workspace In This Chapter Features and Functionaity of the Timeine Features and Functionaity of the Stage
More informationNo connection establishment Do not perform Flow control Error control Retransmission Suitable for small request/response scenario E.g.
UDP & TCP 2018/3/26 UDP Header Characteristics of UDP No connection estabishment Do not perform Fow contro Error contro Retransmission Suitabe for sma request/response scenario E.g., DNS Remote Procedure
More informationA Robust Sign Language Recognition System with Sparsely Labeled Instances Using Wi-Fi Signals
A Robust Sign Language Recognition System with Sparsey Labeed Instances Using Wi-Fi Signas Jiacheng Shang, Jie Wu Center for Networked Computing Dept. of Computer and Info. Sciences Tempe University Motivation
More informationArithmetic Coding. Prof. Ja-Ling Wu. Department of Computer Science and Information Engineering National Taiwan University
Arithmetic Coding Prof. Ja-Ling Wu Department of Computer Science and Information Engineering Nationa Taiwan University F(X) Shannon-Fano-Eias Coding W..o.g. we can take X={,,,m}. Assume p()>0 for a. The
More informationHour 3: The Network Access Layer Page 1 of 10. Discuss how TCP/IP s Network Access layer relates to the OSI networking model
Hour 3: The Network Access Layer Page 1 of 10 Hour 3: The Network Access Layer At the base of the TCP/IP protoco stack is the Network Access ayer, the coection of services and specifications that provide
More informationCylanceOPTICS. Frequently Asked Questions
CyanceOPTICS Frequenty Asked Questions Question What is CyanceOPTICS? CyanceOPTICS is an AI driven endpoint detection and response component providing consistent visibiity, root cause anaysis, scaabe threat
More informationECE544: Communication Networks-II, Spring Transport Layer Protocols Sumathi Gopal March 31 st 2006
ECE544: Communication Networks-II, Spring 2006 Transport Layer Protocos Sumathi Gopa March 31 st 2006 Lecture Outine Introduction to end-to-end protocos UDP RTP TCP Programming detais 2 End-To-End Protocos
More informationA Local Optimal Method on DSA Guiding Template Assignment with Redundant/Dummy Via Insertion
A Loca Optima Method on DSA Guiding Tempate Assignment with Redundant/Dummy Via Insertion Xingquan Li 1, Bei Yu 2, Jiani Chen 1, Wenxing Zhu 1, 24th Asia and South Pacific Design T h e p i c Automation
More informationIndustrial Process Control Trainers with Discovery software PROCON PROCESS CONTROL TRAINERS
SYSTEMS Edition 1 I 38S-1 PROCON PROCESS CONTROL TRAINERS Industria Process Contro Trainers with Discovery software Leve & Fow Contro Temperature Contro Pressure Contro SYSTEMS-1 1 Temperature Rig 38-600
More informationDistributed Hierarchical Control for Parallel Processing
Distributed Hierarchica Contro for Parae Processing Dror G. Feiteson and Larry Rudoph Hebrew University of Jerusaem T he deveopment of operating systems for parae computers has cosey foowed that for seria
More informationCommunity-Aware Opportunistic Routing in Mobile Social Networks
IEEE TRANSACTIONS ON COMPUTERS VOL:PP NO:99 YEAR 213 Community-Aware Opportunistic Routing in Mobie Socia Networks Mingjun Xiao, Member, IEEE Jie Wu, Feow, IEEE, and Liusheng Huang, Member, IEEE Abstract
More informationReal-Time Image Generation with Simultaneous Video Memory Read/Write Access and Fast Physical Addressing
Rea-Time Image Generation with Simutaneous Video Memory Read/rite Access and Fast Physica Addressing Mountassar Maamoun 1, Bouaem Laichi 2, Abdehaim Benbekacem 3, Daoud Berkani 4 1 Department of Eectronic,
More informationMemory Safety (cont d) Software Security
Memory Safety (cont d) Software Security CS 161: Computer Security Prof. Raluca Ada Popa January 17, 2016 Some slides credit to David Wagner and Nick Weaver Announcements Discussion sections and office
More informationArrays. Array Data Type. Array - Memory Layout. Array Terminology. Gaddis: 7.1-4,6
Arrays Unit 5 Gaddis: 7.1-4,6 CS 1428 Fa 2017 Ji Seaman Array Data Type Array: a variabe that contains mutipe vaues of the same type. Vaues are stored consecutivey in memory. An array variabe definition
More information