A SAT-BASED BOUNDED MODEL CHECKER FOR CONCURRENT ASSEMBLY PROGRAMS. Guodong Li, Ganesh Gopalakrishnan, Konrad Slind

Size: px
Start display at page:

Download "A SAT-BASED BOUNDED MODEL CHECKER FOR CONCURRENT ASSEMBLY PROGRAMS. Guodong Li, Ganesh Gopalakrishnan, Konrad Slind"

Transcription

1 A SAT-BASED BOUNDED MODEL CHECKER FOR CONCURRENT ASSEMBLY PROGRAMS Guodong L, Ganesh Gopalakrshnan, Konrad Slnd School of Computng, Unversty of Utah ABSTRACT A SAT-based bounded model checker s developed to verfy safety propertes of smple concurrent ARM assembly programs and ther abstracts over predcates. Transton relatons for both concrete systems and abstract systems are bult automatcally accordng to the operatonal semantcs of nstructons and control flow of the programs. The unfolded transton relatons (wthn a specfc nterval) along wth safe propertes are represented by a logcal formula that s then dumped to a SAT solver for satsfablty check. Predcate abstracton s calculated usng a SAT solver rather than makng calls to a theorem prover. We show the applcaton of these technques to realstc concurrent ARM assembly programs. We also explore how to adjust the model checker to relaxed memory consstent models.. INTRODUCTION In classcal model checkng for software, the targets under consderaton are usually programs wrtten n hgh level language, esp. C. Snce they would be compled to bnary codes for underlyng archtectures, the models bult from these programs may not represent accurately the behavors of real executons on hardware. In partcular, when mult-processes or mult-threads are executed on shared-memory machnes, the analyss on programs n hgh-level languages lacks suffcent granularty to acqure accurate nformaton about the nterleavng of memory access operatons. As an example, consder the followng statement n C: a = b + c These methods assume that the addton of b and c and the assgnment of the sum of b and c to a are performed atomcally n an ndvsble step. However, n a real machne model, ths statement may be mplemented by a sequence of machne nstructons: ldr r, [fp, #] ; load a ldr r, [fp, #] ; load b add r, r, r ; a + b str r, [fp,#2] ; store the sum to c Apparently, when these four nstructons are executng, other processes may take ther turns to execute ther own memory access nstructons that modfy the values of some shared varables. For nstance, after a s loaded nto r and before b nto r, the value at [fp,#] may be altered by other processes, makng the value loaded nto r not equal to the orgnal value of b. Workng at assembly level enables more accurate modelng of the nterleavng behavors of executons on real machnes. And, most modern archtectures support ndrect address modes (the address of a memory slot s based on a base regster, and the value of the base regster may change from tme to tme). Ths makes the analyss based on varable names (as n the methods dealng wth C programs) nstead of actual memory locatons naccurate. Thus, t s desrable to work at assembly language level when we desgn a model checker. Concurrency errors (as well as errors caused by the nondetermnstc executon) are among the most dffcult to fnd by testng. For nstance, date races are a major source n concurrent programs, and detectng them by hand or automatcally s a bg challenge. Exstng race checkers fall nto two categores: statc, type-based tools and dynamc, lockset-based tools. However, these tools often report false postves (.e. fnd a false race). We may model accurately the behavors of the current programs by constructng concrete transton relatons over machne states so that no false postve wll be reported. On the other hand, n order to reduce the sze of state space, we can abstract the system whle preservng the propertes of the orgnal system, then model check the abstract system. In ths approach, refnement s appled to remove spurous counter-examples so as to elmnate false postves. We employ two approaches to model the system: wthout predcate abstracton and wth predcate abstracton. The former approach bulds, accordng to the operatonal semantcs of the nstructons, a transton

2 relaton on machne states consstng of all regsters and memory locatons accessed by a process. Ths method has the advantage of accurate modelng: no nformaton s lost durng the modelng and thus no false postve wll occur. The predcate-abstracton based approach [-7], nstead, abstracts the program nto a Boolean program based on the atomc predcates detected automatcally or gven by the users. Abstracton reduces the state space by dealng wth abstract states rather than machne states, and t maps concrete transtons over machne states to abstract transtons over predcates. If the set of predcates s too small, over-approxmaton may happen durng abstracton. For ths, refnement by ncludng more predcates s performed repeatedly untl an accurate abstracton s acheved. Obtanng accurate abstracton s not an easy job. Exstng software verfcaton tools [-5] have to call a theorem prover for each potental assgnment to the current and next state predcates, thus requrng an exponental number of theorem prover calls to obtan precse relaton. What s more, exstng tools model program varables as unbounded nteger values, thus neglectng possble arthmetc overflow. Ths wll leads to false postves. To crcumvent these lmtatons, we use a SAT solver to calculate the abstracton such that the abstract transton s obtaned by satsfyng checks. For both approaches, we apply the bounded model checkng technques [-9] to reduce the complexty of verfcaton: the basc dea s to search for a counterexample n executons whose length s bounded by some nteger k. If no bug s found then k s ncreased untl ether a bug s found, or some pre-defned upper bound,.e. the threshold, s reached. The verfcaton problem can be effcently reduced to a propostonal satsfablty problem, and can therefore be solved by SAT methods effcently. SAT solvers are hghly effcent and allow a large number of varables, and do not suffer from the space exploson problem of BDD-based methods. The bounded model checker (BMC) begns wth organzng the nstructons n each program (or process) nto blocks. Then for each block a transton relaton s obtaned by analyzng the operatonal semantcs of all nstructons n the block and the control flow of these nstructons. And then a symbolc representaton of the transton relaton of the entre system over a fnte nterval s obtaned and encoded as a propostonal formula. Next the Boolean formula s constructed from the relatons by replacng arthmetc operatons and logcal operatons on typed data structures wth equvalent bt-wse operatons. Fnally, the approach enumerates symbolcally on the values of the Boolean varables, usng a SAT solver, to locate a counter-example. As shown n fgure, ths procedure s repeated untl a real bug s found or the threshold s reached. Note that the predcate abstracton approach requres extra work ncludng dentfcaton of approprate predcates and abstracton of the concrete system over these predcates. k = k=k+ Obtan a transton relaton for ndvdual block Convert the unrolled transton relaton to a Boolean formula no Group nstructons nto blocks Unfold the transton relaton for the entre system for k rounds Convert the Boolean formula to Defntonal CNFs Dump the CNFs to Zchaff Fnd a soluton? yes report a bug Fgure. Procedure of bounded model checkng The proposed BMC s desgned for sequentally consstent shared memory model. We also explore the deas to extend our BMC to more relaxed memory consstency models that are supported by commercally avalable archtectures such as Dgtal Alpha, SPARC V8 and V9, IBM PowerPC and Intel Itanum [9,2]. The rest of the artcle s structured as follows. In the next secton we ntroduce the ARM assembly language. In secton 3 we descrbe the BMC for concrete transton systems. Secton 4 descrbes the technque of abstractng programs over predcates to obtan abstract transton systems. In secton 5 we dscuss how to buld transton relatons on relaxed memory consstent models. We survey related work and gve the concluson n secton 6 and secton 7 respectvely. 2. CONCURRENT ASSEMBLY PROGRAMS We use ARM assembly language as the source language. One of ts key features s that only load and store nstructons can access memory, and arthmetc and logcal nstructons can only operate on regsters. Specfcally, the sngle data transfer nstructons ldr and str load and store the content of a sngle regster to and from memory. The memory address s based on a base regster (r n the examples below) plus an offset: str r7, [r, #2] All nstructons are executed condtonally on the state of the Current Program Status Regster (CPSR) ncludng flag Z, C and so on. Instructon cmp r, r updates flags n CPSR based on the result of r - r. Some of the condton codes are eq set Z (equal) 2

3 ne clear Z (not equal) For nstance, nstructon beq label sets the value of pc to label f Z s set and pc+ otherwse. The followng shows the assembly codes generated by the GCC crosscompler arm-elf-gcc (an extenson of GCC that comples C programs nto ARM assembly programs) wth opton S (Comple only; do not assemble or lnk; our analyzer wll do the lnkng for shared memory models) and O2 (optmze) for the Peterson algorthm: Source program n C vod ThreadA () { locka = true; turn = false; whle (lockb && (!turn)) { locka = false; Object program n ARM assembly language ; the ntal value of locka = ThreadA: ldr r,.l6 ldr r2,.l6+4 mov r3, # str r3, [r, #] ldr r2, [r2, #].L3: cmp r2, # beq.l4 ldr r3, [r, #] cmp r3, # beq.l3.l4: ldr r3,.l6+8 mov r2, # str r2, [r3, #] mov pc, lr.l7:.algn 2.L6:.word turn.word lockb.word locka ThreadB: (Symmetrc to the code of ThreadA).comm locka,4,4.comm lockb,4,4.comm turn,4,4 There are three shared varables: locka, lockb and turn (prefxed by the drectve.comm). turn specfes who s supposed to run next: f turn = then t s ThreadB s turn; otherwse t s ThreadA s turn. Intally ThreadA sets locka to be and turn be (thus forfetng the turn to B), then keeps watng when condton lockb && (!turn) s true. Its counterpart ThreadB behaves n a symmetrc way: sets lockb to be and turn to be (thus forfets the turn) before enterng the loop spnnng on locka && turn. Above program accesses only three memory slots, turn, lockb, and locka. From now on we use 32-word based addresses rather than 8-bt word based address. Wthout losng generalty we can assume that ther addresses are, and 2. Then we can use the symbolc notatons m, m and m2 to refer to these memory slots. Now ThreadA s code becomes (the concept of block wll be ntroduced n next secton): ThreadA: {block {block b mov r, # ;turn s address mov r2, # ;lockb s address mov r3, # str r3, [r, #] ;reset turn ldr {block b2.l3: cmp r2, # beq.l4 {block b3 ldr cmp r3, # beq.l3 r2, [r2, #] ;load lockb s value r3, [r, #] ;load turn s value {block b4.l4: ;enter and then ext crtcal secton mov r3, #2 ;locka s address mov r2, # str r2, [r3, #] ;reset locka {block b5 mov pc, lr ;return 3. CONCRETE TRANSISTION SYSTEM We frst ntroduce the approach wthout predcate abstracton: transton relatons over concrete states are bult. 3. Blocks A concrete transton relaton maps current state to next state for each nstructon. For a process, ts state conssts of regsters, stack varables and shared varables. Consder an nstructon mov r, # the transton relaton for t should be (r = ) /\ all other varables are unchanged Unfortunately, specfyng the clam all other varables are unchanged nvolves settng up an equaton for each varable, thus ncreasng tremendously the sze of the state space. And the resultng logcal formula becomes extremely long. Hence, we adopt two approaches to reduce the length of the resultng logcal formula: () Calculate the set of regsters and memory space beng accessed durng the entre executon, and consder only ths set whle buldng the transton relatons. (2) Group 3

4 nstructons nto blocks and derve transton relaton based on blocks nstead of nstructons. Snce memory access n ARM use ndrect addressng mode, the exact addresses of memory slots depend on the value of base regsters whose values are set by prevous nstructons, we don t know exactly the constant addresses of these slots. Fortunately, as n the case of Peterson algorthm, n general we know the memory space n advance, and we can enumerate all the memory space when handlng an ndrect addressng memory access. Ths s smlar the way ponters are handled n C programs [5]. Groupng nstructons nto blocks smplfes the logcal expresson derved from transton relatons. For nstance, consder the followng program p that accesses only one memory slot, m: ; program p mov r, # mov r, r mov r, r3 add r, r, r2 str r, [r, #] Snce we am at verfyng propertes about shared varables rather than local varables, we may group nstructons nto blocks each of whch contans at most one memory access. For nstance, the frst fve nstructons of program p consttute a block. The rest load nstructon consttutes another block. Durng groupng regster renamng may be needed: whenever a regster s wrtten (.e. as the destnaton operand), we assgn t a new name by ntroducng a vrtual regster. Exceptons are for nput regsters and output regsters of the block because they should keep ther names so that neghborng blocks are able to read and wrte ther values. For nstance, after renamng, the frst block of program p becomes mov r7, # mov r8, r7 mov r, r3 add r, r8, r2 str r, [r, #] Then the transton relaton from round k to round k+ for ths block becomes r7 = /\ r8 = r7 /\ r k+ = r3 k /\ r k+ = r8+r2 k /\ r2 k+ = r2 k /\ m k+ = r k+ We remove all ntermedate regsters lke r7 and r8 r k+ = r3 k /\ r k+ = +r2 k /\ r2 k+ = r2 k /\ m k+ = r2 k+ Each block should contan at most one memory access nstructon, and the target of a jump should be the begnnng pont of a block. 3.2 Concrete Transton Relatons The bounded model checker generates a logcal formula that s satsfable f and only f the underlyng state transton system can realze a fnte sequence of state transtons that reaches certan states of nterest. If such a path segment cannot be found at a gven length, k, the search s contnued for larger k. The search s comprehensve wthn nterval [,k]: all executons whose length are less than k have been examned. For state transton system M and length bound k, the unfolded transton relaton s k k = + = [[ M ]] : Is ( ) /\ Ts ( ; s ) where I(s ) s the characterstc functon on the set of ntal states, and T(s ; s + ) s the characterstc functon of the transton relaton. A logc formula f provded by the user s checked to see whether t s vald along some computaton path of M wthn length k. Let [[ f ]] k be a formula that wll be true f and only f the formula f s vald along a path of length k. The conjuncton of [[M ]]k and [[f ]]k s the formula we should check for round k [8]. In ths paper we concern only safety propertes,.e. EF p where p s the safety property specfed by the user. For nstance, f we wsh to check whether EF p can be verfed n two tme rounds,.e., k = 2. We would then form the followng formula: [[ M, f]] : = I( s ) T( s ; s) T( s; s ) ( p( s ) p( s) p( s )) Each state s the product of the states of all processes, and each process s state conssts of a program ponter (pc), current process status regster (cpsr), regsters and memory slots ths process accessed: s = (pc, cpsr, regster set, memory slot set ) For a program whose nstructons have been grouped nto block, we smplfy the structure of the state by replacng the pc wth the block number blk and removng the cpsr nformaton: s = (bn, regster set, memory slot set ) The transton relaton for ndvdual block s obtaned by symbolcally executng the nstructons n ths block. Note that the new state for block contanng branch s the conjuncton of the possble two outcomes of the branch. The formula for an arthmetc or logcal operaton nstructon op dst, src, src2, s dst = op_f (src,src2, ) where op_f s the characterstc functon relevant to the operator. For nstance, the formula for add r, r2, r s (r = r2 + r). The formula for memory access nstructon needs to enumerate all possble address. For nstance, the formula for ldr r, [r2+2] s \/ k k (2 r + 2 = k/\ r = m ). The effect of a jump nstructon s modeled by the relaton between the old block number and the new block number (.e from the old blk to the new blk). 4

5 The transton from current state s to state s + for the blocks n ThreadA (wth pd ) s as followng. block5 s gnored because t nvolves no data processng. T(s ; s + ) block = blk = /\ blk + = /\ r + = /\ r2 + = /\ r3 + = /\ m_ + = /\ m_ + = m_ /\ m2_ + = m2_ T(s ; s + ) block = blk = /\ blk + = 2 /\ ((r2 = /\ r2 + = m_ ) \/( r2 = /\ r2 + = m_ ) \/ (r2 = 2 /\ r2 + = m2_ )) /\ r + = r /\ r3 + = r3 /\ ( mk + = mk ) /\ k =,,2 T(s ; s + ) block2 = blk = 2 /\ ((r2 = /\ blk + = 3) \/ (~(r2 = ) /\ blk + = 4)) /\ ( rk + = rk ) /\ /\ k =,2,3 /\ ( mk + = mk ) k =,,2 T(s ; s + ) block3 = blk = 3 /\ ( r = k /\ r3 + = mk ) /\ \/ k =,,2 ((r3 + = /\ blk + = 2) \/( ~(r3 + = ) /\ blk + = 4)) /\ r + = r /\ r2 + = r2 /\ ( mk = mk ) /\ + k =,,2 T(s ; s + ) block4 = blk = 4 /\ blk + = 5 /\ r + = r /\ r2 + = /\ r3 + = 2 /\ (m2_ + = ) /\ (m_ + = m_ ) /\ (m_ + = m_ ) s Then the characterstc functon for the entre ThreadA \/ blockk T(s ; s + ) _ = T( s, s + ) k =,...,4 Analogously, we get the characterstc functon for the entre process ThreadB, T(s ; s + )_. Then, snce ThreadA and ThreadB execute n an nterleavng fashon, at each tme ether ThreadA or ThreadB could make a transton whle the other stays (that s, ts state doesn t change). Thus the overall characterstc functon for the entre system s T(s ; s + ) = (T(s ; s + )_ /\ STAY_ ) \/ (T(s ; s + )_ /\ STAY_ ) where /\ k k j=,2,3 STAY_ k = ((blk_ k _ + = blk_ k _ ) /\ ( rj + = rj )) Note that predcates about memory slots are not ncluded n the STAY_ k because they have been specfed by the actve process and should not be ncluded n the STAY formulas. 3.3 Safety Propertes We check safety propertes wthn certan rounds of transton. For the Peterson algorthm, suppose we want to check whether there s an executon whose length s less than k that volates the mutual excluson requrement. The clam for ths s blk_ = 4 /\ blk_ = 4. That s, both ThreadA and ThreadB enter ther crtcal sectons. Then p(s) = p( s ) \/ =,..., k, k+ where p(s ) = blk = 4 /\ blk = 4 The ntal condton s I(s ) = blk = /\ blk = /\ m_ = /\ m2_ = The unfolded transton relatons are combned wth the ntal condton and the clam for satsfyng check: k I(s ) /\ /\ T( s; s + ) /\ p(s) = 3.4 Boolean Formulas and Defntonal CNF We buld crcut representaton for basc arthmetc operatons and logcal operatons on bt-vectors so that logcal formulas nvolvng these operatons could be converted to equvalent Boolean formulas. For an n-bt varable x, we represent t wth n Boolean varables: x = (x n-,x n-2,,x ). In practce, basc arthmetc operatons and logcal operatons are mplemented by crcuts. The Boolean formula for the equaton a = b where both a and b are n-bt vectors s: a n- = b n- /\ a n-2 = b n-2 /\ /\ a = b For nstance, x = 7 s converted to x 3 = F /\ x 2 = T /\ x = T /\ x = T As another example, addton over n-bt words, Z = X+Y, s mplemented as an n-bt carry rpple adder: Z = (X /\~Y /\~C ) \/ (~X /\Y /\~C ) \/ (~X /\~Y /\C ) \/ (X /\Y /\C ) and C + = X /\Y \/ X /\C \/ Y /\C for =,,,n- Many propostonal decson procedures assume the nput problem to be n CNF (conjunctve normal form). Usually, t s a goal to reduce the sze of the CNF verson of the formula, although ths may not always reduce the complexty of the search. A formula f n CNF s represented as a set of clauses. Each clause s a set of lterals, and each lteral s ether a postve or negatve propostonal varable. In other words, a formula s a conjuncton of clauses, and a clause s a dsjuncton of lterals. The sze of the converted formula can be exponental wth respect to the sze of f, and the worst case s when f s n dsjunctve normal form. We convert Boolean formulas to a format of defntonal CNF: a normal form smlar to CNF n whch the result formulas are only lnearly larger than the nput formulas. For nstance, Boolean formula ~(a:bool = (b:bool = c:bool)) 5

6 s equvalent to the followng defntonal CNFs (x \/ a \/ v) /\ (x \/ ~a \/ ~v) /\ (a \/ ~v \/ ~x) /\ (v \/ ~a \/ ~x) /\ (v \/ b \/ ~c) /\ (v \/ ~b \/ c) /\ (b \/ c \/ ~v) /\ (~c \/ ~b \/ ~v) /\ x Next, the CNF-based formulas are dumped to a SAT solver, e.g. Zchaff [8], for satsfablty check. 4. BMC WITH PREDICATE ABSTRACTION As a method for systematc abstracton, predcate abstracton s wdely appled to a varety of systems [- 9]. It maps concrete data types to abstract data types through predcates over the concrete data. The abstract system may over-approxmate the concrete system and thus leads to spurous counter-examples. In ths case, refnement s requred to be performed by adjustng the set of predcates to rule out the spurous counter-examples. 4. SAT-based Predcate Abstracton In the exstng software verfcaton tools such as SLAM [9], the generaton of the abstract Boolean program from a program n hgh level language and a set of predcates requres an exponental number of theorem prover calls to obtan precse transton relaton. And varables are modeled as unbounded nteger values, neglectng possble arthmetc overflow. They also only provde a lmted support for ndrect addressng. In fact, the possble assgnments to the values of the predcates can be searched by the SAT solver, and the hgh effcency of SAT solvers enables checkng many more possble assgnments, resultng n a more precse abstract transton relaton. Snce the abstracton s based on bt vectors nstead of ntegers, false postves due to the naccurate assumpton that the range of varable values s avoded. We apply SAT-based approach n fndng accurate predcates for blocks. The predcates are added n current and next state form to the concrete relaton, resultng n a Boolean formula. Then we enumerate symbolcally on the values of the predcates, usng a SAT solver. Let P = {p,..., p n be the gven set of predcates, and let B = {b,..., b n be the correspondng set of boolean varables. The abstracton s performed by applyng exstental abstracton: let T(cs,cs ) be the concrete relaton relatng old concrete state cs and new concrete state cs, and f s the projectve functon mappng a concrete state cs to the correspondng abstract state as. The abstract transton relaton T (as, as ) relates as to as by T (as,as ) ff cs,cs.t(cs,cs ) /\ f(cs)= as /\ f(cs ) =as To fnd the set of predcates, we nspect the structure of a program to look for canddates. Consder the control flow of ThreadA, the nstructon "cmp r2, #" gves us a hnt that r2 = s a canddate predcate, the nstructon "ldr r3, [r, #]" followed by "cmp r3, #" leads to canddates m =, m = and m2 = snce r3 s value may be loaded from slot, slot or slot 2. Another load nstructon ldr r2, [r2, #] ndcates that r2 s value may loaded from memory slot (when r2 = ), (when r2 = ) and 2 (when r2 = 2). Thus addng predcate r2 = may be approprate. After r2 = and r2 = have been added t s unnecessary to add r2 = 2 because (r2 = ) /\ (r2 = ) => (r2 = 2) provded that r2 s used as base regster and there are only three memory slots avalable. Snce r serves as the base regsters of two memory access nstructons str r3, [r,#] and ldr r3, [r,#], r = may be another canddate to be added. In sum, we have the followng set of predcates P = {p = (r = ), p = (r2 = ), p2 = (r2 = ), p3= (m = ), p4 = (m = ), p5 = (m2 = ) To abstract the frst block of ThreadA, we frst add the constrants for the predcates n P to ths block s concrete transton relaton b = p /\ b = p /\ b2 = p2 /\ b3 = p3 /\ b4 = p4 /\b5= p5 /\ r /\ ;mov r, # r2 /\ ;mov r2, # r3 /\ ;mov r3, # [] r3 /\ ;str r3, [r, #] b = p /\ b = p /\ b 2 = p2 /\ b 3 = p3 /\ b 4 = p4 /\ b 5=b5 The correspondng logcal formula s b = (r = ) /\ b = (r2 = ) /\ b2 = (r2 = ) /\ b3 = (m_ = ) /\ b4 = (m_ = ) /\ b5 = (m2_ = ) /\ r + = /\ r2 + = /\ r3 + = /\ m_ + = /\ m_ + = m_ /\ m2_ + = m2_ /\ b = (r + = ) /\ b = (r2 + = ) /\ b 2 = (r2 + = ) /\ b 3 = (m_ + = ) /\ b 4 = (m_ + = ) /\ b 5 = (m2_ + = ) The satsfyng assgnments for ths equaton over the varables b,, b 5, b,, b 5 are: b b b2 b3 b4 b5 b' b' b' 2 b' 3 b' 4 b' 5 x x x2 x3 x2 x3 x x x2 x3 x2 x3 x x x x x x where x, x, are Boolean varables whose values could be or. Ths table ndcates that the followng assgnments over b,, b 5, b,, b 5 n that order are all vald:,,,, Ths table s obtaned by havng the SAT solver fnd out all satsfyng assgnments. However, once the SAT solver dentfes a vald assgnment, t wll stop searchng by default. Thus we need to add the negaton of dentfed 6

7 assgnment as a blockng clause, and then contnue searchng untl no more satsfyng assgnment s found. Technques to modfy the SAT solver to enumerate a complete set of vald assgnments have been commonly used [] [2]. To make t more readable, we gve a Boolean formula correspondng to above truth table ~(b /\ b 2 ) /\ b /\ ~b /\ b 2 /\ b 3 /\ b 4 = b 4 /\ b 5 = b 5 Takng the control flow nto account, we obtan the abstract relaton for ths block T(s ; s + ) block = blk = /\ blk + = /\ ~(b /\ b2 ) /\ b + /\ ~b + /\ b2 + /\ b3 + /\ b4 + = b4 /\ b5 + = b5 In a smlar way, we get the assgnment table for block consstng of one sngle load nstructon b b b2 b3 b4 b5 b' b' b' 2 b' 3 b' 4 b' 5 x x x2 x x x x2 x x x2 x x x2 x x x2 x x x x2 x x x2 x x x2 x x x2 x x x x2 x x x x x x 2 2 Ths table descrbes a Boolean formula: ~(b /\ b 2 ) /\ ((~b /\ ~b 2 /\ b 2 = b 5 ) \/ ( ~b /\ b 2 /\ b 2 = b 3 ) \/ (b /\ ~b 2 /\ b 2 = b 4 ) /\ ~(b 2 /\ b ) /\ (b = b ) /\ (b 3 = b 3 ) /\ (b 4 = b 4 ) /\ (b 5 = b 5 ) Thus the abstract relaton for block s T(s ; s + ) block = blk = /\ blk + = 2 /\ ~(b /\ b2 ) /\ ( (~b /\ ~b2 /\ b2 + = b5 ) \/ (~b /\ b2 /\ b2 + = b3 ) \/ (b /\ ~b2 /\ b2 + = b4 )) /\ ~(b2 + /\ b + ) /\ ( bk = bk ) /\ + k =,3,4,5 By applyng ths technque we get the abstract transton relaton for other blocks: T(s ; s + ) block2 = blk = 2 /\ ~(b /\ b2 ) /\ (b2 /\ blk + = 4) /\ (~b2 /\ blk + = 3) /\ ( bk = bk ) /\ + k =,,..,5 T(s ; s + ) block3 = blk = 3 /\ ~(b /\ b2 ) /\ (b /\ b3 /\ blk + = 2) /\ (b /\ ~b3 /\ blk + = 4) /\ ( bk = bk ) /\ + k =,,..,5 T(s ; s + ) block4 = blk = 4 /\ blk + = 5 /\ ~(b /\ b2 ) /\ ~b + /\ b2 + /\ b5 + /\ ( bk = bk ) /\ + k =,3,4 The remanng phases of the BMC are the same as what we have done n the prevous secton for concrete transton system. Suppose agan we want to check the mutual excluson property on the abstract system, we unroll the abstract transtons, buld a logcal formula, and dump t to the SAT solver for satsfablty check. The BMC doesn t fnd a bug wth small thresholds. Our method s a conservatve over-approxmaton of the orgnal program wth respect to the set of gven predcates. Ths method produces consderable reductons n the state space but may produce a spurous counterexample that does not correspond to a concrete counterexample. For nstance, f the set of gven predcates s {p = (m=), p2 = (m=), p3 = (m2=), then the abstracted transton for block2 over these predcates s ( bk = bk ). Thus the nformaton /\ + k =,,2 about r2 s lost durng the abstracton. Then ThreadA advances to ts crtcal secton no matter what the values of m, m and m2 are because the condton r2 = s always satsfable. In a smlar way ThreadB enters ts crtcal secton at the same tme, thus leadng to a spurous volaton of the mutual excluson. To rule out ths false postve, refnement s needed by addng extra predcates to remove ths spurous counter-example. A basc prncple f always to add predcates correspondng to the condtons of condtonal jumps. How to derve addtonal approprate predcates s left for future research. 4.2 Resolvng Alas for Memory Access Compared wth languages allowng only drectaddressng modes, ARM assembly language support only ndrect-addressng, makng the state space grow rapdly and abstracton of the program much more complcated. Fortunately, most ARM programs could be converted nto equvalent programs wth alas of memory access beng resolved by mappng ndrect addresses to correspondng drect addresses. Although load and store nstructons are based on ndrect addressng mode, wthout the scope of a procedure the values of base regsters are easy to know (e.g. these values are set at the begnnng of the procedure), by addng ther values and the offsets together we know the drect addresses of nvolved memory slots. In other words, the alas s resolved by mappng an ndrect address to a drect address that can be represented by constants. After that, nstructons for settng the values of base regsters may be deleted. For nstance, after all alases are resolved, the code ThreadA becomes: ; m turn ; m lockb ; m2 locka { block : mov r3, # : str r3, m (m = ) { block 2: ldr r2, m (r2 = m) 7

8 { block2.l3: 3: cmp r2, # (r2 = )? 4: beq.l4 { block3 5: ldr r3, m 6: cmp r3, # (m = )? 7: beq.l3.l4: { block4 8: mov r2, # 9: str r2, m (m = ) Then by analyzng the control flow and data flow of ths program we nfer a set of predcates for ThreadA: P = {m =, r2_ = m, r2_ =, m = ; analogously the set of predcates for ThreadB s {m =, r2_ = m2, r2_ =, m2 =. The unon of these two sets,{r2_ = m, r2_ = m2, r2_ =, r2_ =, m =, m =, m2 =, s an approprate set of predcates over whch abstracton s performed. It s easy to abstract the program over these predcates snce there s no ndrect-addressng any more. 5. RELAXED MEMORY CONSISTENCY MODELS Up to now our proposed approach targets at the tradtonal shared memory model: all memory access nstructons are executed n the order specfed by the control flow of the orgnal program. These tradtonal models satsfes sequental consstency [22][23]: the result of any executon s the same as f the operatons of all the processors were executed n some sequental order, and the operatons of each ndvdual processor appear n ths sequence n the order specfed by ts program. The BMC we have developed perform comprehensve checkng for sequentally consstent memory models: Clam. For each fnte executon allowed by sequentally consstent memory model, our BMC s able to generate an executon that s dstngushable from t n the vew of users. That s, for ths model, the searchng performed by our BMC s comprehensve. Snce sequental consstency enforces a strct order among shared memory operatons, t dsallows many possble hardware and compler optmzatons. For ths reason, a number of more relaxed memory consstency models have been proposed, ncludng some that are supported by commercally avalable archtectures such as Dgtal Alpha, SPARC V9, and IBM PowerPC [22]. There are two ways to relax memory consstency models: relax the program order requrement, and relax the wrte atomcty requrement. We study only the case of program order relaxaton. There are three common relaxatons wth respect to program order: relax the order from a wrte to a followng read (raw relaxaton), between two wrtes, and fnally from a read to a followng read or wrte. To an extreme degree, full relaxaton relaxes the order between read and wrte. In all cases, the relaxaton only apples to operaton pars wth dfferent addresses. It s easy to see that the Peterson algorthm doesn t guarantee mutual excluson on full relaxaton models snce the wrte on locka and lockb may happen before ThreadA and ThreadB start spnnng. It s desrable to develop a model checker beng able to check executons on relaxed models. In order to adjust our BMC model to relaxed memory consstency models, we frst construct the dependence graph of a program to represent the control flow of nstructons wth respect to relaxed models. It s ensured that the reorderng of the executons of these nstructons s consstent wth the relaxed models. In the dependence graph, nodes correspond to nstructons, and drected edges (arrows) specfy the dependence between nstructons. The nstructon at the end of the arrow must be executed before the nstructon at the head. How to construct automatcally dependence graphs s out of the scope of ths paper. In general modern complers support creatng dependence graphs for relaxed memory models and out-of-order processors. Consder the followng program p2 : str r, m : ldr r, m 2: add r2, r, r 3: str r, m 4: ldr r, m2 5: str r, m The dependence graphs on raw relaxed memory models and full relaxed memory model are shown n fgure raw relaxaton full relaxaton Fgure 2. Dependency Graphs for Relaxed Memory Consstent Models In prevous sectons we descrbe how to obtan the logcal expresson representng the transton relaton related to an nstructon by nvestgatng ts operaton semantcs. The same technque s appled here to obtan the relaton transts from round to round + for the k th nstructon, e.g. tr(,+,k). For a block consstng of n nstructons, varable flag s a n-bt vector recordng whch nstructons have been executed. Predcate setf k ndcates that the th bt of flag s set to be (true),.e. setf k = (flag + = flag n ), where s the btwse dsjuncton, and n denotes a word wth all bts except for bt 8

9 beng. Predcate readf k ndcates that the value of bt n flag s. Now, the transton relatons n the raw relaxaton case are T(s ; s + )_ = ~(readf ) /\ (setf ) /\ tr(,+,) T(s ; s + )_ = ~(readf ) /\ setf /\ tr(,+,) T(s ; s + )_ 2 = ~(readf ) /\ (readf ) /\ (readf ) /\ setf 2 /\ tr(,+,2) T(s ; s + )_ 3 = ~(readf 3) /\ (readf ) /\ setf 3 /\ tr(,+,2) T(s ; s + )_ 4 = ~(readf 4) /\ setf 4 /\ tr(,+,4) T(s ; s + )_ 5 = ~(readf 5) /\ (readf ) /\ (readf 3) /\ (readf 4) /\ setf 5 /\ tr(,+,5) The ntal state s characterzed by I(S ) = (flag = ) Then our BMC s able to model check ths confguraton. We are tryng to ncorporate ths technque nto our BMC, and the long term goal s to provde a mechanzed BMC for a varety of relaxed memory consstency models. 6. RELATED WORKS Bounded Model Checkng (BMC), was frst proposed by Bere et al. n 999 [], and bounded model checkng wth satsfablty solvng [2] [3] has been shown to have remarkable effcency n fndng counterexamples on systems that BDD based model checkng methods are dffcult for. And t requres less by-hand manpulaton from the user than BDD based verfcatons do. Intel developed a bounded model checker THUNDER (based on a SAT solver called SIMO) for crcut desgns. [4]. Compaq used bounded model checkng wth the PROVER SAT solver for fndng bugs n the memory system of an advanced Alpha mcroprocessor [5]. G. Audemard et al. [6] extended bounded model checkng to tmed systems by extendng the SAT solver to deal wth lnear constrants over real varables. To make BMC complete for a large class of hardware desgns, Baumgartener et al. [7] performed a structural analyss of the desgn n order to derve an over approxmaton of the reachablty dameter. They showed that the reachablty dameters of many crcuts are small and sutable for bounded model checkng. E. Clarke el al. [8] developed a bounded model checker to support automated checkng of safety propertes of crcut desgn. For these BMCs, experments have shown that t can solve many cases that cannot be solved by BDD-based technques. Specfcally, f k s small enough (typcally not more than 6 to 8 cycles, dependng on the model tself and the SAT solver), t outperforms BDD-based technques. A. Bere et al. gave a good survey on Bounded Model Checkng technques [9]. However, no bounded checker s developed for concurrent assembly programs so far, not to menton abstractng them over predcates and then modelng the abstract system. Predcate abstracton was frst proposed by Graf and Sad []. S. Bensalem el al. [] has used predcate abstracton n the verfcaton of cache coherence protocols. Both of these works target at languages wth guarded commands. Earler abstract nterpretaton approach [-3] reled on the user to supply predcates, and general-purpose theorem provng s utlzed to compute the abstract program. A method for constructng abstract models from Java programs has been developed n the Bandera project [4]. T.Ball el al. [5] demonstrated automatc predcate abstracton on C programs. A tool called C2bp automatcally creates a Boolean program whch s an abstracton of C programs ncludng structures such as ponters and procedures. Ther abstracton mantans the control-flow structure of programs. E. Clarke et al. [6][7] proposed to use a SAT solver to generate the abstract program for ANSI C programs so that the potentally exponental number of theorem prover calls s replaced by a sngle SAT nstance. Ther approach s smlar to what we present n ths paper. The dfference s that we work at ARM assembly programs. 7. CONCLUSION We present a SAT-based bounded model checker to model check concurrent ARM assembly programs. It has several advantages: () SAT tools do not requre exponental space and large desgns can be checked very fast (snce the state space s searched n an arbtrary order). (2) It s able to fnd paths of mnmal length, makng understandng of the counter-example easer. (3) It apples predcate abstract to attack the state space exploson problem. (4) Abstracton s SAT-based and no theorem prover call s necessary. And we explore the ssue of performng checkng over relaxed memory consstent models. REFERENCES [] A. Bere, A. Cmatt, E. Clarke, and Y. Zhu. Symbolc model checkng wthout BDDs. In Proc. of the Workshop on Tools and Algorthms for the Constructon and Analyss of Systems (TACAS 99), 999. [2] A. Bere, E. M. Clarke, R. Ram, and Y. Zhu. Verfyng Safety Propertes of a PowerPC Mcroprocessor Usng Symbolc Model Checkng wthout BDDs. In Intl. Conference on Computer-Aded Verfcaton (CAV 99), July, 999. [3] A. Bere, A. Cmatt, E. M. Clarke, M. Fujta, and Y. Zhu. Symbolc Model Checkng usng SAT procedures nstead of BDDs. In Proc. of Desgn Automaton Conference, (DAC 99), June,

10 [4] F. Copty, L. Fx, R. Fraer, E. Gunchgla, G. Kamh, A. Tacchella, and M. Y. Vard. Benefts of bounded model checkng at an ndustral settng. In Intl. Conference on Computer Aded Verfcaton (CAV ), 2. [5] P. Bjesse, T. Leonard, and A. Mokkedem. Fndng bugs n an alpha mcroprocessor usng satsfablty solvers. In Intl. Conference on Computer Aded Verfcaton (CAV ), 2. [6] G. Audemard, A. Cmatt, A. Kornlowcz, and R. Sebastan. Bounded model checkng for tmed systems. In 22nd Jont Internatonal Conference on Formal Technques for Networked and Dstrbuted Systems (FORTE 22), November 22. [7] J. Baumgartner, A. Kuehlmann, and J. Abraham. Property Checkng Va Structural Analyss. In Intl. Conference on Computer Aded Verfcaton (CAV 2), 22. [8] E. Clarke, A. Bere, R. Ram, and Y. Zhu. Bounded model checkng usng satsfablty solvng. Formal Methods n System Desgn, 9():7--34, 2. [9] A. Bere, A. Cmatt, E. M. Clarke, O. Strchman and Y. Zhu., Bounded Model Checkng. Vol. 58 of Advances n Computers, 23. Academc Pres [] S. Graf and H. Sad. Constructon of abstract state graphs wth PVS. In Proc. Intl. Conference on Computer Aded Verfcaton (CAV 97), 997. [] S. Bensalem, Y. Lakhnech, and S. Owre. Computng abstractons of nfnte state systems compostonally and automatcally. In Intl. Conference on Computer Aded Verfcaton (CAV 98), 998. [2] M. Colon and T.E. Urbe. Generatng fnte-state abstractons of reactve systems usng decson procedures. In Intl. Conference on Computer Aded Verfcaton (CAV 98), 998. [3] S. Das, D. L. Dll, and S. Park. Experence wth predcate abstracton. Intl. Conference on Computer Aded Verfcaton (CAV 99), 999. [4] M. Dwyer, J. Hatcl, R. Joehanes, S. Laubach, C. Pasareanu, Robby, W. Vsser, and H. Zheng. Tool-supported program abstracton for fnte-state verfcaton. In Internatonal Conference on Software Engneerng (ICSE ), 2 [5] T. Ball, R. Majumdar, T.D. Mllsten, and S.K. Rajaman. Automatc predcate abstracton of C programs. In SIGPLAN Conference on Programmng Language Desgn and Implementaton (PLDI ), 2 [6] E. Clarke, D. Kroenng, N. Sharygna and K. Yorav. Predcate Abstracton of ANSI C Programs usng SAT. Formal Methods n System Desgn, 24. [7] E. Clarke, D. Kroenng, N. Sharygna and K. Yorav. SAT- Based Predcate Abstracton of Programs. Techncal Report CMU/SEI-25-TR-6. [8] E.M. Clarke, O. Grumberg, S. Jha, Y. Lu, and H. Veth. Counterexample-guded abstracton refnement. In Intl. Conference on Computer Aded Verfcaton (CAV ), 2 [9] S. Lahr, T. Ball and B. Cook. Predcate Abstracton va Symbolc Decson Procedures. In Intl. Conference on Computer Aded Verfcaton (CAV 5), 25 [2] M.W. Moskewcz, C. Madgan, Y. Zhao, L. Zhang and S. Malk. Chaff: Engneerng an Effcent SAT Solver. In Proceedngs of Desgn Automaton Conference (DAC ), 2. [2] K.L. McMllan. Applyng SAT methods n unbounded symbolc model checkng. In Intl. Conference on Computer Aded Verfcaton (CAV 2.), 22. [22] S.V. Adve and K. Gharachorloo. Shared memory consstency models: a tutoral. IEEE Computer, 29(2), pp.66-76, December 996. [23] M. Ahamad, R. Bazz, R. John, P. Kohl, and G. Neger. The Power of Processor Consstency. In Proc. of the 5th ACM Symp. on Parallel Algorthms and Archtectures (SPAA'93), 993.

Assembler. Building a Modern Computer From First Principles.

Assembler. Building a Modern Computer From First Principles. Assembler Buldng a Modern Computer From Frst Prncples www.nand2tetrs.org Elements of Computng Systems, Nsan & Schocken, MIT Press, www.nand2tetrs.org, Chapter 6: Assembler slde Where we are at: Human Thought

More information

Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz

Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz Compler Desgn Sprng 2014 Regster Allocaton Sample Exercses and Solutons Prof. Pedro C. Dnz USC / Informaton Scences Insttute 4676 Admralty Way, Sute 1001 Marna del Rey, Calforna 90292 pedro@s.edu Regster

More information

Virtual Memory. Background. No. 10. Virtual Memory: concept. Logical Memory Space (review) Demand Paging(1) Virtual Memory

Virtual Memory. Background. No. 10. Virtual Memory: concept. Logical Memory Space (review) Demand Paging(1) Virtual Memory Background EECS. Operatng System Fundamentals No. Vrtual Memory Prof. Hu Jang Department of Electrcal Engneerng and Computer Scence, York Unversty Memory-management methods normally requres the entre process

More information

The Codesign Challenge

The Codesign Challenge ECE 4530 Codesgn Challenge Fall 2007 Hardware/Software Codesgn The Codesgn Challenge Objectves In the codesgn challenge, your task s to accelerate a gven software reference mplementaton as fast as possble.

More information

CMPS 10 Introduction to Computer Science Lecture Notes

CMPS 10 Introduction to Computer Science Lecture Notes CPS 0 Introducton to Computer Scence Lecture Notes Chapter : Algorthm Desgn How should we present algorthms? Natural languages lke Englsh, Spansh, or French whch are rch n nterpretaton and meanng are not

More information

For instance, ; the five basic number-sets are increasingly more n A B & B A A = B (1)

For instance, ; the five basic number-sets are increasingly more n A B & B A A = B (1) Secton 1.2 Subsets and the Boolean operatons on sets If every element of the set A s an element of the set B, we say that A s a subset of B, or that A s contaned n B, or that B contans A, and we wrte A

More information

Harvard University CS 101 Fall 2005, Shimon Schocken. Assembler. Elements of Computing Systems 1 Assembler (Ch. 6)

Harvard University CS 101 Fall 2005, Shimon Schocken. Assembler. Elements of Computing Systems 1 Assembler (Ch. 6) Harvard Unversty CS 101 Fall 2005, Shmon Schocken Assembler Elements of Computng Systems 1 Assembler (Ch. 6) Why care about assemblers? Because Assemblers employ some nfty trcks Assemblers are the frst

More information

Hermite Splines in Lie Groups as Products of Geodesics

Hermite Splines in Lie Groups as Products of Geodesics Hermte Splnes n Le Groups as Products of Geodescs Ethan Eade Updated May 28, 2017 1 Introducton 1.1 Goal Ths document defnes a curve n the Le group G parametrzed by tme and by structural parameters n the

More information

Data Representation in Digital Design, a Single Conversion Equation and a Formal Languages Approach

Data Representation in Digital Design, a Single Conversion Equation and a Formal Languages Approach Data Representaton n Dgtal Desgn, a Sngle Converson Equaton and a Formal Languages Approach Hassan Farhat Unversty of Nebraska at Omaha Abstract- In the study of data representaton n dgtal desgn and computer

More information

6.854 Advanced Algorithms Petar Maymounkov Problem Set 11 (November 23, 2005) With: Benjamin Rossman, Oren Weimann, and Pouya Kheradpour

6.854 Advanced Algorithms Petar Maymounkov Problem Set 11 (November 23, 2005) With: Benjamin Rossman, Oren Weimann, and Pouya Kheradpour 6.854 Advanced Algorthms Petar Maymounkov Problem Set 11 (November 23, 2005) Wth: Benjamn Rossman, Oren Wemann, and Pouya Kheradpour Problem 1. We reduce vertex cover to MAX-SAT wth weghts, such that the

More information

Assembler. Shimon Schocken. Spring Elements of Computing Systems 1 Assembler (Ch. 6) Compiler. abstract interface.

Assembler. Shimon Schocken. Spring Elements of Computing Systems 1 Assembler (Ch. 6) Compiler. abstract interface. IDC Herzlya Shmon Schocken Assembler Shmon Schocken Sprng 2005 Elements of Computng Systems 1 Assembler (Ch. 6) Where we are at: Human Thought Abstract desgn Chapters 9, 12 abstract nterface H.L. Language

More information

Petri Net Based Software Dependability Engineering

Petri Net Based Software Dependability Engineering Proc. RELECTRONIC 95, Budapest, pp. 181-186; October 1995 Petr Net Based Software Dependablty Engneerng Monka Hener Brandenburg Unversty of Technology Cottbus Computer Scence Insttute Postbox 101344 D-03013

More information

Parallelism for Nested Loops with Non-uniform and Flow Dependences

Parallelism for Nested Loops with Non-uniform and Flow Dependences Parallelsm for Nested Loops wth Non-unform and Flow Dependences Sam-Jn Jeong Dept. of Informaton & Communcaton Engneerng, Cheonan Unversty, 5, Anseo-dong, Cheonan, Chungnam, 330-80, Korea. seong@cheonan.ac.kr

More information

A Binarization Algorithm specialized on Document Images and Photos

A Binarization Algorithm specialized on Document Images and Photos A Bnarzaton Algorthm specalzed on Document mages and Photos Ergna Kavalleratou Dept. of nformaton and Communcaton Systems Engneerng Unversty of the Aegean kavalleratou@aegean.gr Abstract n ths paper, a

More information

Conditional Speculative Decimal Addition*

Conditional Speculative Decimal Addition* Condtonal Speculatve Decmal Addton Alvaro Vazquez and Elsardo Antelo Dep. of Electronc and Computer Engneerng Unv. of Santago de Compostela, Span Ths work was supported n part by Xunta de Galca under grant

More information

Mathematics 256 a course in differential equations for engineering students

Mathematics 256 a course in differential equations for engineering students Mathematcs 56 a course n dfferental equatons for engneerng students Chapter 5. More effcent methods of numercal soluton Euler s method s qute neffcent. Because the error s essentally proportonal to the

More information

Memory Modeling in ESL-RTL Equivalence Checking

Memory Modeling in ESL-RTL Equivalence Checking 11.4 Memory Modelng n ESL-RTL Equvalence Checkng Alfred Koelbl 2025 NW Cornelus Pass Rd. Hllsboro, OR 97124 koelbl@synopsys.com Jerry R. Burch 2025 NW Cornelus Pass Rd. Hllsboro, OR 97124 burch@synopsys.com

More information

Chapter 6 Programmng the fnte element method Inow turn to the man subject of ths book: The mplementaton of the fnte element algorthm n computer programs. In order to make my dscusson as straghtforward

More information

An Optimal Algorithm for Prufer Codes *

An Optimal Algorithm for Prufer Codes * J. Software Engneerng & Applcatons, 2009, 2: 111-115 do:10.4236/jsea.2009.22016 Publshed Onlne July 2009 (www.scrp.org/journal/jsea) An Optmal Algorthm for Prufer Codes * Xaodong Wang 1, 2, Le Wang 3,

More information

Assignment # 2. Farrukh Jabeen Algorithms 510 Assignment #2 Due Date: June 15, 2009.

Assignment # 2. Farrukh Jabeen Algorithms 510 Assignment #2 Due Date: June 15, 2009. Farrukh Jabeen Algorthms 51 Assgnment #2 Due Date: June 15, 29. Assgnment # 2 Chapter 3 Dscrete Fourer Transforms Implement the FFT for the DFT. Descrbed n sectons 3.1 and 3.2. Delverables: 1. Concse descrpton

More information

TN348: Openlab Module - Colocalization

TN348: Openlab Module - Colocalization TN348: Openlab Module - Colocalzaton Topc The Colocalzaton module provdes the faclty to vsualze and quantfy colocalzaton between pars of mages. The Colocalzaton wndow contans a prevew of the two mages

More information

Programming in Fortran 90 : 2017/2018

Programming in Fortran 90 : 2017/2018 Programmng n Fortran 90 : 2017/2018 Programmng n Fortran 90 : 2017/2018 Exercse 1 : Evaluaton of functon dependng on nput Wrte a program who evaluate the functon f (x,y) for any two user specfed values

More information

The Greedy Method. Outline and Reading. Change Money Problem. Greedy Algorithms. Applications of the Greedy Strategy. The Greedy Method Technique

The Greedy Method. Outline and Reading. Change Money Problem. Greedy Algorithms. Applications of the Greedy Strategy. The Greedy Method Technique //00 :0 AM Outlne and Readng The Greedy Method The Greedy Method Technque (secton.) Fractonal Knapsack Problem (secton..) Task Schedulng (secton..) Mnmum Spannng Trees (secton.) Change Money Problem Greedy

More information

Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from Hennessy & Patterson / 2003 Elsevier

Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from Hennessy & Patterson / 2003 Elsevier Some materal adapted from Mohamed Youns, UMBC CMSC 611 Spr 2003 course sldes Some materal adapted from Hennessy & Patterson / 2003 Elsever Scence Performance = 1 Executon tme Speedup = Performance (B)

More information

Sum of Linear and Fractional Multiobjective Programming Problem under Fuzzy Rules Constraints

Sum of Linear and Fractional Multiobjective Programming Problem under Fuzzy Rules Constraints Australan Journal of Basc and Appled Scences, 2(4): 1204-1208, 2008 ISSN 1991-8178 Sum of Lnear and Fractonal Multobjectve Programmng Problem under Fuzzy Rules Constrants 1 2 Sanjay Jan and Kalash Lachhwan

More information

A mathematical programming approach to the analysis, design and scheduling of offshore oilfields

A mathematical programming approach to the analysis, design and scheduling of offshore oilfields 17 th European Symposum on Computer Aded Process Engneerng ESCAPE17 V. Plesu and P.S. Agach (Edtors) 2007 Elsever B.V. All rghts reserved. 1 A mathematcal programmng approach to the analyss, desgn and

More information

GSLM Operations Research II Fall 13/14

GSLM Operations Research II Fall 13/14 GSLM 58 Operatons Research II Fall /4 6. Separable Programmng Consder a general NLP mn f(x) s.t. g j (x) b j j =. m. Defnton 6.. The NLP s a separable program f ts objectve functon and all constrants are

More information

Complex Numbers. Now we also saw that if a and b were both positive then ab = a b. For a second let s forget that restriction and do the following.

Complex Numbers. Now we also saw that if a and b were both positive then ab = a b. For a second let s forget that restriction and do the following. Complex Numbers The last topc n ths secton s not really related to most of what we ve done n ths chapter, although t s somewhat related to the radcals secton as we wll see. We also won t need the materal

More information

Module Management Tool in Software Development Organizations

Module Management Tool in Software Development Organizations Journal of Computer Scence (5): 8-, 7 ISSN 59-66 7 Scence Publcatons Management Tool n Software Development Organzatons Ahmad A. Al-Rababah and Mohammad A. Al-Rababah Faculty of IT, Al-Ahlyyah Amman Unversty,

More information

Lecture 5: Multilayer Perceptrons

Lecture 5: Multilayer Perceptrons Lecture 5: Multlayer Perceptrons Roger Grosse 1 Introducton So far, we ve only talked about lnear models: lnear regresson and lnear bnary classfers. We noted that there are functons that can t be represented

More information

Outline. Digital Systems. C.2: Gates, Truth Tables and Logic Equations. Truth Tables. Logic Gates 9/8/2011

Outline. Digital Systems. C.2: Gates, Truth Tables and Logic Equations. Truth Tables. Logic Gates 9/8/2011 9/8/2 2 Outlne Appendx C: The Bascs of Logc Desgn TDT4255 Computer Desgn Case Study: TDT4255 Communcaton Module Lecture 2 Magnus Jahre 3 4 Dgtal Systems C.2: Gates, Truth Tables and Logc Equatons All sgnals

More information

Tsinghua University at TAC 2009: Summarizing Multi-documents by Information Distance

Tsinghua University at TAC 2009: Summarizing Multi-documents by Information Distance Tsnghua Unversty at TAC 2009: Summarzng Mult-documents by Informaton Dstance Chong Long, Mnle Huang, Xaoyan Zhu State Key Laboratory of Intellgent Technology and Systems, Tsnghua Natonal Laboratory for

More information

Parallel matrix-vector multiplication

Parallel matrix-vector multiplication Appendx A Parallel matrx-vector multplcaton The reduced transton matrx of the three-dmensonal cage model for gel electrophoress, descrbed n secton 3.2, becomes excessvely large for polymer lengths more

More information

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision SLAM Summer School 2006 Practcal 2: SLAM usng Monocular Vson Javer Cvera, Unversty of Zaragoza Andrew J. Davson, Imperal College London J.M.M Montel, Unversty of Zaragoza. josemar@unzar.es, jcvera@unzar.es,

More information

Optimization Methods: Integer Programming Integer Linear Programming 1. Module 7 Lecture Notes 1. Integer Linear Programming

Optimization Methods: Integer Programming Integer Linear Programming 1. Module 7 Lecture Notes 1. Integer Linear Programming Optzaton Methods: Integer Prograng Integer Lnear Prograng Module Lecture Notes Integer Lnear Prograng Introducton In all the prevous lectures n lnear prograng dscussed so far, the desgn varables consdered

More information

Type-2 Fuzzy Non-uniform Rational B-spline Model with Type-2 Fuzzy Data

Type-2 Fuzzy Non-uniform Rational B-spline Model with Type-2 Fuzzy Data Malaysan Journal of Mathematcal Scences 11(S) Aprl : 35 46 (2017) Specal Issue: The 2nd Internatonal Conference and Workshop on Mathematcal Analyss (ICWOMA 2016) MALAYSIAN JOURNAL OF MATHEMATICAL SCIENCES

More information

Problem Set 3 Solutions

Problem Set 3 Solutions Introducton to Algorthms October 4, 2002 Massachusetts Insttute of Technology 6046J/18410J Professors Erk Demane and Shaf Goldwasser Handout 14 Problem Set 3 Solutons (Exercses were not to be turned n,

More information

Subspace clustering. Clustering. Fundamental to all clustering techniques is the choice of distance measure between data points;

Subspace clustering. Clustering. Fundamental to all clustering techniques is the choice of distance measure between data points; Subspace clusterng Clusterng Fundamental to all clusterng technques s the choce of dstance measure between data ponts; D q ( ) ( ) 2 x x = x x, j k = 1 k jk Squared Eucldean dstance Assumpton: All features

More information

ON SOME ENTERTAINING APPLICATIONS OF THE CONCEPT OF SET IN COMPUTER SCIENCE COURSE

ON SOME ENTERTAINING APPLICATIONS OF THE CONCEPT OF SET IN COMPUTER SCIENCE COURSE Yordzhev K., Kostadnova H. Інформаційні технології в освіті ON SOME ENTERTAINING APPLICATIONS OF THE CONCEPT OF SET IN COMPUTER SCIENCE COURSE Yordzhev K., Kostadnova H. Some aspects of programmng educaton

More information

Concurrent models of computation for embedded software

Concurrent models of computation for embedded software Concurrent models of computaton for embedded software and hardware! Researcher overvew what t looks lke semantcs what t means and how t relates desgnng an actor language actor propertes and how to represent

More information

Cluster Analysis of Electrical Behavior

Cluster Analysis of Electrical Behavior Journal of Computer and Communcatons, 205, 3, 88-93 Publshed Onlne May 205 n ScRes. http://www.scrp.org/ournal/cc http://dx.do.org/0.4236/cc.205.350 Cluster Analyss of Electrcal Behavor Ln Lu Ln Lu, School

More information

an assocated logc allows the proof of safety and lveness propertes. The Unty model nvolves on the one hand a programmng language and, on the other han

an assocated logc allows the proof of safety and lveness propertes. The Unty model nvolves on the one hand a programmng language and, on the other han UNITY as a Tool for Desgn and Valdaton of a Data Replcaton System Phlppe Quennec Gerard Padou CENA IRIT-ENSEEIHT y Nnth Internatonal Conference on Systems Engneerng Unversty of Nevada, Las Vegas { 14-16

More information

ELEC 377 Operating Systems. Week 6 Class 3

ELEC 377 Operating Systems. Week 6 Class 3 ELEC 377 Operatng Systems Week 6 Class 3 Last Class Memory Management Memory Pagng Pagng Structure ELEC 377 Operatng Systems Today Pagng Szes Vrtual Memory Concept Demand Pagng ELEC 377 Operatng Systems

More information

Circuit Analysis I (ENGR 2405) Chapter 3 Method of Analysis Nodal(KCL) and Mesh(KVL)

Circuit Analysis I (ENGR 2405) Chapter 3 Method of Analysis Nodal(KCL) and Mesh(KVL) Crcut Analyss I (ENG 405) Chapter Method of Analyss Nodal(KCL) and Mesh(KVL) Nodal Analyss If nstead of focusng on the oltages of the crcut elements, one looks at the oltages at the nodes of the crcut,

More information

Construction of ROBDDs. area. that such graphs, under some conditions, can be easily manipulated.

Construction of ROBDDs. area. that such graphs, under some conditions, can be easily manipulated. A Study of Composton Schemes for Mxed Apply/Compose Based Constructon of s A Narayan 1 S P Khatr 1 J Jan 2 M Fujta 2 R K Brayton 1 A Sangovann-Vncentell 1 Abstract Reduced Ordered Bnary Decson Dagrams

More information

S1 Note. Basis functions.

S1 Note. Basis functions. S1 Note. Bass functons. Contents Types of bass functons...1 The Fourer bass...2 B-splne bass...3 Power and type I error rates wth dfferent numbers of bass functons...4 Table S1. Smulaton results of type

More information

Support Vector Machines

Support Vector Machines /9/207 MIST.6060 Busness Intellgence and Data Mnng What are Support Vector Machnes? Support Vector Machnes Support Vector Machnes (SVMs) are supervsed learnng technques that analyze data and recognze patterns.

More information

On Some Entertaining Applications of the Concept of Set in Computer Science Course

On Some Entertaining Applications of the Concept of Set in Computer Science Course On Some Entertanng Applcatons of the Concept of Set n Computer Scence Course Krasmr Yordzhev *, Hrstna Kostadnova ** * Assocate Professor Krasmr Yordzhev, Ph.D., Faculty of Mathematcs and Natural Scences,

More information

Verification by testing

Verification by testing Real-Tme Systems Specfcaton Implementaton System models Executon-tme analyss Verfcaton Verfcaton by testng Dad? How do they know how much weght a brdge can handle? They drve bgger and bgger trucks over

More information

CPE 628 Chapter 2 Design for Testability. Dr. Rhonda Kay Gaede UAH. UAH Chapter Introduction

CPE 628 Chapter 2 Design for Testability. Dr. Rhonda Kay Gaede UAH. UAH Chapter Introduction Chapter 2 Desgn for Testablty Dr Rhonda Kay Gaede UAH 2 Introducton Dffcultes n and the states of sequental crcuts led to provdng drect access for storage elements, whereby selected storage elements are

More information

Solving two-person zero-sum game by Matlab

Solving two-person zero-sum game by Matlab Appled Mechancs and Materals Onlne: 2011-02-02 ISSN: 1662-7482, Vols. 50-51, pp 262-265 do:10.4028/www.scentfc.net/amm.50-51.262 2011 Trans Tech Publcatons, Swtzerland Solvng two-person zero-sum game by

More information

An Entropy-Based Approach to Integrated Information Needs Assessment

An Entropy-Based Approach to Integrated Information Needs Assessment Dstrbuton Statement A: Approved for publc release; dstrbuton s unlmted. An Entropy-Based Approach to ntegrated nformaton Needs Assessment June 8, 2004 Wllam J. Farrell Lockheed Martn Advanced Technology

More information

CHAPTER 2 DECOMPOSITION OF GRAPHS

CHAPTER 2 DECOMPOSITION OF GRAPHS CHAPTER DECOMPOSITION OF GRAPHS. INTRODUCTION A graph H s called a Supersubdvson of a graph G f H s obtaned from G by replacng every edge uv of G by a bpartte graph,m (m may vary for each edge by dentfyng

More information

A Fast Content-Based Multimedia Retrieval Technique Using Compressed Data

A Fast Content-Based Multimedia Retrieval Technique Using Compressed Data A Fast Content-Based Multmeda Retreval Technque Usng Compressed Data Borko Furht and Pornvt Saksobhavvat NSF Multmeda Laboratory Florda Atlantc Unversty, Boca Raton, Florda 3343 ABSTRACT In ths paper,

More information

Reducing Frame Rate for Object Tracking

Reducing Frame Rate for Object Tracking Reducng Frame Rate for Object Trackng Pavel Korshunov 1 and We Tsang Oo 2 1 Natonal Unversty of Sngapore, Sngapore 11977, pavelkor@comp.nus.edu.sg 2 Natonal Unversty of Sngapore, Sngapore 11977, oowt@comp.nus.edu.sg

More information

Transaction-Consistent Global Checkpoints in a Distributed Database System

Transaction-Consistent Global Checkpoints in a Distributed Database System Proceedngs of the World Congress on Engneerng 2008 Vol I Transacton-Consstent Global Checkponts n a Dstrbuted Database System Jang Wu, D. Manvannan and Bhavan Thurasngham Abstract Checkpontng and rollback

More information

FUNCTIONAL verification is one of the most timeconsuming

FUNCTIONAL verification is one of the most timeconsuming 396 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 29, NO. 3, MARCH 2010 Functonal Test Generaton Usng Effcent Property Clusterng and Learnng Technques Mngsong Chen,

More information

Fault Detection in Rule-Based Software Systems

Fault Detection in Rule-Based Software Systems Fault Detecton n Rule-Based Software Systems Dong Wang, Rubng Hao and Davd Lee Bell Labs Research Chna Bejng, Chna, 100080 {wangd, rbhao, leedavd}@lucent.com Abstract Motvated by packet flterng of frewall

More information

Meta-heuristics for Multidimensional Knapsack Problems

Meta-heuristics for Multidimensional Knapsack Problems 2012 4th Internatonal Conference on Computer Research and Development IPCSIT vol.39 (2012) (2012) IACSIT Press, Sngapore Meta-heurstcs for Multdmensonal Knapsack Problems Zhbao Man + Computer Scence Department,

More information

Sequential search. Building Java Programs Chapter 13. Sequential search. Sequential search

Sequential search. Building Java Programs Chapter 13. Sequential search. Sequential search Sequental search Buldng Java Programs Chapter 13 Searchng and Sortng sequental search: Locates a target value n an array/lst by examnng each element from start to fnsh. How many elements wll t need to

More information

RADIX-10 PARALLEL DECIMAL MULTIPLIER

RADIX-10 PARALLEL DECIMAL MULTIPLIER RADIX-10 PARALLEL DECIMAL MULTIPLIER 1 MRUNALINI E. INGLE & 2 TEJASWINI PANSE 1&2 Electroncs Engneerng, Yeshwantrao Chavan College of Engneerng, Nagpur, Inda E-mal : mrunalngle@gmal.com, tejaswn.deshmukh@gmal.com

More information

Oracle Database: SQL and PL/SQL Fundamentals Certification Course

Oracle Database: SQL and PL/SQL Fundamentals Certification Course Oracle Database: SQL and PL/SQL Fundamentals Certfcaton Course 1 Duraton: 5 Days (30 hours) What you wll learn: Ths Oracle Database: SQL and PL/SQL Fundamentals tranng delvers the fundamentals of SQL and

More information

Agenda & Reading. Simple If. Decision-Making Statements. COMPSCI 280 S1C Applications Programming. Programming Fundamentals

Agenda & Reading. Simple If. Decision-Making Statements. COMPSCI 280 S1C Applications Programming. Programming Fundamentals Agenda & Readng COMPSCI 8 SC Applcatons Programmng Programmng Fundamentals Control Flow Agenda: Decsonmakng statements: Smple If, Ifelse, nested felse, Select Case s Whle, DoWhle/Untl, For, For Each, Nested

More information

The stream cipher MICKEY-128 (version 1) Algorithm specification issue 1.0

The stream cipher MICKEY-128 (version 1) Algorithm specification issue 1.0 The stream cpher MICKEY-128 (verson 1 Algorthm specfcaton ssue 1. Steve Babbage Vodafone Group R&D, Newbury, UK steve.babbage@vodafone.com Matthew Dodd Independent consultant matthew@mdodd.net www.mdodd.net

More information

A MOVING MESH APPROACH FOR SIMULATION BUDGET ALLOCATION ON CONTINUOUS DOMAINS

A MOVING MESH APPROACH FOR SIMULATION BUDGET ALLOCATION ON CONTINUOUS DOMAINS Proceedngs of the Wnter Smulaton Conference M E Kuhl, N M Steger, F B Armstrong, and J A Jones, eds A MOVING MESH APPROACH FOR SIMULATION BUDGET ALLOCATION ON CONTINUOUS DOMAINS Mark W Brantley Chun-Hung

More information

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS ARPN Journal of Engneerng and Appled Scences 006-017 Asan Research Publshng Network (ARPN). All rghts reserved. NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS Igor Grgoryev, Svetlana

More information

Investigation of Transformations and Landscapes for Combinatorial Optimization Problems

Investigation of Transformations and Landscapes for Combinatorial Optimization Problems Investgaton of Transformatons and Landscapes for Combnatoral Optmzaton Problems Abstract - Ths paper deals wth an analyss of transformatons between combnatoral optmzaton problems and proposes an approach

More information

Loop Transformations, Dependences, and Parallelization

Loop Transformations, Dependences, and Parallelization Loop Transformatons, Dependences, and Parallelzaton Announcements Mdterm s Frday from 3-4:15 n ths room Today Semester long project Data dependence recap Parallelsm and storage tradeoff Scalar expanson

More information

A fault tree analysis strategy using binary decision diagrams

A fault tree analysis strategy using binary decision diagrams Loughborough Unversty Insttutonal Repostory A fault tree analyss strategy usng bnary decson dagrams Ths tem was submtted to Loughborough Unversty's Insttutonal Repostory by the/an author. Addtonal Informaton:

More information

Review of approximation techniques

Review of approximation techniques CHAPTER 2 Revew of appromaton technques 2. Introducton Optmzaton problems n engneerng desgn are characterzed by the followng assocated features: the objectve functon and constrants are mplct functons evaluated

More information

EECS 730 Introduction to Bioinformatics Sequence Alignment. Luke Huan Electrical Engineering and Computer Science

EECS 730 Introduction to Bioinformatics Sequence Alignment. Luke Huan Electrical Engineering and Computer Science EECS 730 Introducton to Bonformatcs Sequence Algnment Luke Huan Electrcal Engneerng and Computer Scence http://people.eecs.ku.edu/~huan/ HMM Π s a set of states Transton Probabltes a kl Pr( l 1 k Probablty

More information

5.1 The ISR: Overvieui. chapter

5.1 The ISR: Overvieui. chapter chapter 5 The LC-3 n Chapter 4, we dscussed the basc components of a computer ts memory, ts processng unt, ncludng the assocated temporary storage (usually a set of regsters), nput and output devces, and

More information

Wishing you all a Total Quality New Year!

Wishing you all a Total Quality New Year! Total Qualty Management and Sx Sgma Post Graduate Program 214-15 Sesson 4 Vnay Kumar Kalakband Assstant Professor Operatons & Systems Area 1 Wshng you all a Total Qualty New Year! Hope you acheve Sx sgma

More information

Brave New World Pseudocode Reference

Brave New World Pseudocode Reference Brave New World Pseudocode Reference Pseudocode s a way to descrbe how to accomplsh tasks usng basc steps lke those a computer mght perform. In ths week s lab, you'll see how a form of pseudocode can be

More information

Learning the Kernel Parameters in Kernel Minimum Distance Classifier

Learning the Kernel Parameters in Kernel Minimum Distance Classifier Learnng the Kernel Parameters n Kernel Mnmum Dstance Classfer Daoqang Zhang 1,, Songcan Chen and Zh-Hua Zhou 1* 1 Natonal Laboratory for Novel Software Technology Nanjng Unversty, Nanjng 193, Chna Department

More information

An Application of the Dulmage-Mendelsohn Decomposition to Sparse Null Space Bases of Full Row Rank Matrices

An Application of the Dulmage-Mendelsohn Decomposition to Sparse Null Space Bases of Full Row Rank Matrices Internatonal Mathematcal Forum, Vol 7, 2012, no 52, 2549-2554 An Applcaton of the Dulmage-Mendelsohn Decomposton to Sparse Null Space Bases of Full Row Rank Matrces Mostafa Khorramzadeh Department of Mathematcal

More information

Array transposition in CUDA shared memory

Array transposition in CUDA shared memory Array transposton n CUDA shared memory Mke Gles February 19, 2014 Abstract Ths short note s nspred by some code wrtten by Jeremy Appleyard for the transposton of data through shared memory. I had some

More information

Machine Learning: Algorithms and Applications

Machine Learning: Algorithms and Applications 14/05/1 Machne Learnng: Algorthms and Applcatons Florano Zn Free Unversty of Bozen-Bolzano Faculty of Computer Scence Academc Year 011-01 Lecture 10: 14 May 01 Unsupervsed Learnng cont Sldes courtesy of

More information

F Geometric Mean Graphs

F Geometric Mean Graphs Avalable at http://pvamu.edu/aam Appl. Appl. Math. ISSN: 1932-9466 Vol. 10, Issue 2 (December 2015), pp. 937-952 Applcatons and Appled Mathematcs: An Internatonal Journal (AAM) F Geometrc Mean Graphs A.

More information

Analysis of Non-coherent Fault Trees Using Ternary Decision Diagrams

Analysis of Non-coherent Fault Trees Using Ternary Decision Diagrams Analyss of Non-coherent Fault Trees Usng Ternary Decson Dagrams Rasa Remenyte-Prescott Dep. of Aeronautcal and Automotve Engneerng Loughborough Unversty, Loughborough, LE11 3TU, England R.Remenyte-Prescott@lboro.ac.uk

More information

Simple March Tests for PSF Detection in RAM

Simple March Tests for PSF Detection in RAM Smple March Tests for PSF Detecton n RAM Ireneusz Mroze Balysto Techncal Unversty Computer Scence Department Wejsa 45A, 5-35 Balysto POLAND mroze@.pb.balysto.pl Eugena Buslowsa Balysto Techncal Unversty

More information

Simulation Based Analysis of FAST TCP using OMNET++

Simulation Based Analysis of FAST TCP using OMNET++ Smulaton Based Analyss of FAST TCP usng OMNET++ Umar ul Hassan 04030038@lums.edu.pk Md Term Report CS678 Topcs n Internet Research Sprng, 2006 Introducton Internet traffc s doublng roughly every 3 months

More information

Private Information Retrieval (PIR)

Private Information Retrieval (PIR) 2 Levente Buttyán Problem formulaton Alce wants to obtan nformaton from a database, but she does not want the database to learn whch nformaton she wanted e.g., Alce s an nvestor queryng a stock-market

More information

Virtual Machine Migration based on Trust Measurement of Computer Node

Virtual Machine Migration based on Trust Measurement of Computer Node Appled Mechancs and Materals Onlne: 2014-04-04 ISSN: 1662-7482, Vols. 536-537, pp 678-682 do:10.4028/www.scentfc.net/amm.536-537.678 2014 Trans Tech Publcatons, Swtzerland Vrtual Machne Mgraton based on

More information

Load Balancing for Hex-Cell Interconnection Network

Load Balancing for Hex-Cell Interconnection Network Int. J. Communcatons, Network and System Scences,,, - Publshed Onlne Aprl n ScRes. http://www.scrp.org/journal/jcns http://dx.do.org/./jcns.. Load Balancng for Hex-Cell Interconnecton Network Saher Manaseer,

More information

Active Contours/Snakes

Active Contours/Snakes Actve Contours/Snakes Erkut Erdem Acknowledgement: The sldes are adapted from the sldes prepared by K. Grauman of Unversty of Texas at Austn Fttng: Edges vs. boundares Edges useful sgnal to ndcate occludng

More information

Efficient Distributed File System (EDFS)

Efficient Distributed File System (EDFS) Effcent Dstrbuted Fle System (EDFS) (Sem-Centralzed) Debessay(Debsh) Fesehaye, Rahul Malk & Klara Naherstedt Unversty of Illnos-Urbana Champagn Contents Problem Statement, Related Work, EDFS Desgn Rate

More information

Intra-Parametric Analysis of a Fuzzy MOLP

Intra-Parametric Analysis of a Fuzzy MOLP Intra-Parametrc Analyss of a Fuzzy MOLP a MIAO-LING WANG a Department of Industral Engneerng and Management a Mnghsn Insttute of Technology and Hsnchu Tawan, ROC b HSIAO-FAN WANG b Insttute of Industral

More information

A Heuristic for Mining Association Rules In Polynomial Time*

A Heuristic for Mining Association Rules In Polynomial Time* Complete reference nformaton: Ylmaz, E., E. Trantaphyllou, J. Chen, and T.W. Lao, (3), A Heurstc for Mnng Assocaton Rules In Polynomal Tme, Computer and Mathematcal Modellng, No. 37, pp. 9-33. A Heurstc

More information

Behavior-Level Observability Analysis for Operation Gating in Low-Power Behavioral Synthesis

Behavior-Level Observability Analysis for Operation Gating in Low-Power Behavioral Synthesis Behavor-Level Observablty Analyss for Operaton Gatng n Low-Power Behavoral Synthess JASON CONG, BIN LIU, RUPAK MAJUMDAR Unversty of Calforna, Los Angeles and ZHIRU ZHANG AutoESL Desgn Technologes, Inc.

More information

Introduction. Leslie Lamports Time, Clocks & the Ordering of Events in a Distributed System. Overview. Introduction Concepts: Time

Introduction. Leslie Lamports Time, Clocks & the Ordering of Events in a Distributed System. Overview. Introduction Concepts: Time Lesle Laports e, locks & the Orderng of Events n a Dstrbuted Syste Joseph Sprng Departent of oputer Scence Dstrbuted Systes and Securty Overvew Introducton he artal Orderng Logcal locks Orderng the Events

More information

Collaboratively Regularized Nearest Points for Set Based Recognition

Collaboratively Regularized Nearest Points for Set Based Recognition Academc Center for Computng and Meda Studes, Kyoto Unversty Collaboratvely Regularzed Nearest Ponts for Set Based Recognton Yang Wu, Mchhko Mnoh, Masayuk Mukunok Kyoto Unversty 9/1/013 BMVC 013 @ Brstol,

More information

Real-Time Systems. Real-Time Systems. Verification by testing. Verification by testing

Real-Time Systems. Real-Time Systems. Verification by testing. Verification by testing EDA222/DIT161 Real-Tme Systems, Chalmers/GU, 2014/2015 Lecture #8 Real-Tme Systems Real-Tme Systems Lecture #8 Specfcaton Professor Jan Jonsson Implementaton System models Executon-tme analyss Department

More information

High level vs Low Level. What is a Computer Program? What does gcc do for you? Program = Instructions + Data. Basic Computer Organization

High level vs Low Level. What is a Computer Program? What does gcc do for you? Program = Instructions + Data. Basic Computer Organization What s a Computer Program? Descrpton of algorthms and data structures to acheve a specfc ojectve Could e done n any language, even a natural language lke Englsh Programmng language: A Standard notaton

More information

Motivations. TCAS Software Verification using Constraint Programming. Agenda. Traffic alert and Collision Avoidance System

Motivations. TCAS Software Verification using Constraint Programming. Agenda. Traffic alert and Collision Avoidance System TCS Software Verfcaton usng Constrant Programmng rnaud Gotleb INRI Rennes retagne tlantque CT for TM/TC workshop Dec. th, 008 Motvatons The CVERN project (NR, 008-00, part: ILOG, INRI, CE, U. of Nce):

More information

Concurrent Apriori Data Mining Algorithms

Concurrent Apriori Data Mining Algorithms Concurrent Apror Data Mnng Algorthms Vassl Halatchev Department of Electrcal Engneerng and Computer Scence York Unversty, Toronto October 8, 2015 Outlne Why t s mportant Introducton to Assocaton Rule Mnng

More information

Math Homotopy Theory Additional notes

Math Homotopy Theory Additional notes Math 527 - Homotopy Theory Addtonal notes Martn Frankland February 4, 2013 The category Top s not Cartesan closed. problem. In these notes, we explan how to remedy that 1 Compactly generated spaces Ths

More information

User Authentication Based On Behavioral Mouse Dynamics Biometrics

User Authentication Based On Behavioral Mouse Dynamics Biometrics User Authentcaton Based On Behavoral Mouse Dynamcs Bometrcs Chee-Hyung Yoon Danel Donghyun Km Department of Computer Scence Department of Computer Scence Stanford Unversty Stanford Unversty Stanford, CA

More information

Content Based Image Retrieval Using 2-D Discrete Wavelet with Texture Feature with Different Classifiers

Content Based Image Retrieval Using 2-D Discrete Wavelet with Texture Feature with Different Classifiers IOSR Journal of Electroncs and Communcaton Engneerng (IOSR-JECE) e-issn: 78-834,p- ISSN: 78-8735.Volume 9, Issue, Ver. IV (Mar - Apr. 04), PP 0-07 Content Based Image Retreval Usng -D Dscrete Wavelet wth

More information

AADL : about scheduling analysis

AADL : about scheduling analysis AADL : about schedulng analyss Schedulng analyss, what s t? Embedded real-tme crtcal systems have temporal constrants to meet (e.g. deadlne). Many systems are bult wth operatng systems provdng multtaskng

More information