Efficient Computation of Parameterized Pointer Information for Interprocedural Analyses
|
|
- Jordan Patterson
- 5 years ago
- Views:
Transcription
1 Efficien Comuaion of Parameerized Poiner Informaion for Inerrocedural Analyses Donlin Lian and Mary Jean Harrold Collee of Comuin Georia Insiue of Technoloy Alana, GA 30332, USA Absrac Poiner informaion ha is rovided by many alorihms idenifies a memory locaion usin he same name hrouhou a roram. Such oiner informaion is inaroriae for use in analyzin C rorams because, usin such informaion, a roram analysis may roaae a lare amoun of surious informaion across rocedure boundaries. This aer resens a modular alorihm ha efficienly comues arameerized oiner informaion in which symbolic names are inroduced o idenify memory locaions whose addresses may be assed ino a rocedure. Because a symbolic name may idenify differen memory locaions when he rocedure is invoked under differen callsies, usin arameerized oiner informaion can hel a roram analysis reduce he surious informaion ha is roaaed across rocedure boundaries. The aer also resens a se of emirical sudies, ha demonsrae (a) he efficiency of he alorihm, and (b) he benefis of usin arameerized oiner informaion over usin non-arameerized oiner informaion in roram analyses. The sudies show ha usin arameerized oiner informaion may sinificanly imrove he recision and he efficiency of many roram analyses. 1. INTRODUCTION Various oiner analysis echniques have been develoed o faciliae roram analyses of C rorams. To suor hese roram analyses, a oiner analysis mus associae names wih memory locaions. A oiner analysis also mus rovide informaion ha hels roram analyses deermine he memory locaions ha may be accessed hrouh oiner dereferences. Wih his informaion, a roram analysis can firs relace he oiner dereferences in a C roram wih he memory locaions accessed hrouh such dereferences, and hen analyze he roram in he usual way [2, 14]. Poiner analysis alorihms can differ in he way in which Proram 1 1 in x; 2 foo(in ) { 3 =+1; 4 } (a) 5 main() { 6 in y; 7 foo(&x); 8 foo(&y); 9 } (b) x,y nv "nv" bound o "x" a 7 "nv" bound o "y" a 8 (c) Fiure 1: (a) Proram 1, (b) non-arameerized oins-o rah, (c) arameerized oins-o rah. hey assin names o memory locaions. Such differences can sinificanly imac he recision and he efficiency of he roram analyses ha use he oiner informaion. Many exisin oiner analysis alorihms (e.., [1, 3, 5, 6, 10, 12, 13, 16, 17]) use he same name o idenify a memory locaion hrouhou he roram. These alorihms use variable names o idenify memory locaions allocaed on he sack, and use an arificial name o idenify he memory locaions allocaed on he hea a a secific saemen. Because a memory locaion may be accessed hrouhou he roram, is name can aear in several rocedures. Therefore, a roram analysis ha uses his oiner informaion usually reas such name as if i were a lobal variable. Only a few exisin oiner analysis alorihms [7, 19] assin differen names for a memory locaion in differen rocedures. When he address of a memory locaion can be assed ino a rocedure hrouh formal arameers or lobal oiners, hese alorihms use a symbolic name o idenify he memory locaion wihin he rocedure. If he oiner informaion comued for he rocedure is used under more han one callin conex, he symbolic name can be used o idenify differen memory locaions under differen callin conexs. For examle, he alorihms can use a symbolic name nv o idenify he memory locaions whose addresses are assed ino rocedure foo() (Fiure 1(a)) hrouh. When he oiner informaion comued for foo() is used under he conex of saemen 7, nv idenifies x. When his oiner informaion is used under he conex of saemen 8, nv idenifies y. The symbolic names inroduced by hese alorihms ac like reference arameers. Thus, we refer o such symbolic names as auxiliary arameers, and we refer o oiner informaion ha conains auxiliary arameers as arameerized oiner informaion. 1
2 For suorin roram analyses of C rorams, arameerized oiner informaion has several advanaes over nonarameerized oiner informaion. Firs, arameerized oiner informaion for a rocedure is more comac han non-arameerized oiner informaion. In a rocedure, arameerized oiner informaion can use an auxiliary arameer o reresen a se of memory locaions. In conras, non-arameerized oiner informaion may require several names for he same se of memory locaions. Thus, when a roram analysis analyzes a rocedure usin arameerized oiner informaion, i creaes and roaaes less informaion han usin non-arameerized oiner informaion. For examle, usin arameerized oiner informaion, a roram analysis would roaae informaion for nv in rocedure foo() in Fiure 1(a). In conras, usin non-arameerized oiner informaion, he roram analysis would roaae informaion for x or y in foo(). Second, wihou secial consideraion, a roram analysis alorihm ha uses non-arameerized oiner informaion may roaae surious informaion across rocedure boundaries. For examle, usin non-arameerized oiner informaion, a roram analysis finds ha x or y may be modified a saemen 3 in Fiure 1 and roaaes his informaion back o saemen 7. Thus, i reors ha foo() may modify x and y a saemen 7. In conras, usin arameerized oiner informaion, a roram analysis finds ha nv is modified a saemen 3. When his informaion is roaaed back o saemen 7, because nv idenifies he memory locaion for x under he conex of saemen 7, he roram analysis reors ha only x is modified by foo() a saemen 7. Therefore, usin arameerized oiner informaion, he roram analysis can reduce he amoun of surious informaion roaaed across rocedure boundaries. One major roblem wih exisin alorihms ha comue arameerized oiner informaion is efficiency. Firs, exisin alorihms use a flow-sensiive aroach. Emirical resuls sues ha flow-sensiive oiner analysis alorihms may no scale o lare rorams [7, 12, 19]. Second, exisin alorihms may analyze a rocedure more han once [7, 19]. This addiional analysis increases he exense of hese alorihms. Third, exisin alorihms mih comue several versions of oiner informaion for each rocedure. Usin hese differen versions of oiner informaion may increase he comlexiy of roram analyses. To efficienly comue arameerized oiner informaion, we develoed a modular arameerized oiner analysis alorihm (MoPPA). MoPPA efficienly comues oiner informaion for a roram followin a framework similar o he flow-insensiive, conex-sensiive oiner analysis alorihm (FICS) [13], which we reviously develoed. Like FICS, MoPPA comues, in hree hases, oins-o rahs ha reresen he oiner informaion for a roram. Unlike FICS, which idenifies a memory locaion usin he same name hrouhou a roram, MoPPA uses, when ossible, auxiliary arameers o idenify memory locaions whose addresses are assed ino a rocedure. MoPPA also disinuishes he memory locaions ha are dynamically allocaed in a rocedure when he rocedure is invoked under differen callin conexs. Comared o FICS and oher alorihms (e.., [1, 6, 17]) ha are inended o handle lare rorams, a major benefi of MoPPA is ha i rovides arameerized oiner informaion. The arameerized oiner informaion les a roram analysis reduce he surious informaion roaaed across rocedure boundaries. Such reducion may sinificanly imrove boh he efficiency and he recision of roram analyses. Anoher benefi of MoPPA over hese alorihms is ha MoPPA can disinuish he memory locaions dynamically allocaed in a rocedure under differen callin conexs. Therefore, MoPPA may rovide more recise oiner informaion han hese alorihms. Comared o oher exisin alorihms ha comue arameerized oiner informaion, a major benefi of MoPPA is is efficiency. MoPPA rocesses each oiner assinmen only once. In he second and he hird hases, MoPPA roaaes, from one rocedure o anoher, only a small amoun of informaion ha is relaed o arameers. Therefore, MoPPA can efficienly comue he oins-o rahs. Anoher benefi of MoPPA over exisin alorihms is is modulariy only he informaion for he rocedures wihin a sronly conneced comonen on he call rah mus be in memory simulaneously. Therefore, comared o exisin alorihms ha comue arameerized oiner informaion, MoPPA requires less memory. This aer firs discusses he aroach used by MoPPA o assin names o memory locaions. The aer hen resens he deails of he MoPPA alorihm. The aer also resens a se of emirical sudies ha demonsrae (a) he efficiency of MoPPA and (b) he benefis of usin arameerized oiner informaion rovided by MoPPA over usin non-arameerized oiner informaion rovided by FICS in roram analyses. To he bes of our knowlede, hese sudies are he firs ha comare he resuls of roram analyses comued usin arameerized oiner informaion wih ha comued usin non-arameerized oiner informaion. The sudies show ha usin arameerized oiner informaion can sinificanly imrove he recision and he efficiency of many roram analyses. 2. PARAMETERIZED POINTS-TO GRAPHS This secion firs briefly inroduces he oins-o rahs consruced by MoPPA, and hen discusses he aroach used by MoPPA o assin names o memory locaions. 2.1 Poins-o Grahs MoPPA uses oins-o rahs o reresen oiner informaion. In a oins-o rah, a node reresens a se of memory locaions, whose names are associaed wih he node. A field access ede, labeled wih a field name, connecs a node reresenin srucures o a node reresenin a secific field of he srucures. A oins-o ede, labeled wih, reresens oins-o relaions. For examle, he oinso rah in Fiure 1(b) reresens he fac ha may oin o x or y. For efficiency, MoPPA imoses wo consrains on a oins-o rah: (1) each memory locaion can be reresened by only one node; (2) labels are unique amon he edes leavin a node. Similar consrains are also used o imlemen Seensaard s alorihm [17] and FICS [13]. For a iven roram, MoPPA comues a lobal oinso rah ha reresens he oiner informaion relaed o lobal oiners. For each rocedure in he roram, MoPPA comues a rocedural oins-o rah ha reresens he oiner informaion relaed o he local oiners in he rocedure. The searaion of lobal oiner informaion from local oiner informaion les MoPPA reduce he amoun of informaion ha i roaaes across rocedure boundaries. 2
3 For examle, suose ha a saemen in a rocedure forces a lobal oiner o oin o a hea-allocaed memory locaion. Wihou he searaion, his oiner informaion would have o be roaaed o every rocedure in he roram, even if is irrelevan o he comuaion of he oiner informaion for he rocedure. MoPPA avoids such roaaion by makin his informaion available in he lobal oins-o rah. When a roram analysis analyzes a roram, i resolves he dereferences of lobal oiners usin he lobal oins-o rah. 2.2 Namin Memory Locaions Unlike FICS, which uses he same name o idenify each memory locaion hrouhou a roram, MoPPA uses an auxiliary arameer, when ossible, o idenify a memory locaion in he oins-o rah for a rocedure P. To suor roram analyses, MoPPA also rovides bindin informaion ha mas an auxiliary arameer in P o he names ha idenify he same memory locaions a he callsies o P. For examle, MoPPA uses auxiliary arameer nv o idenify memory locaions for x and y in he oins-o rah (Fiure 1(c)) for foo() in roram 1 (Fiure 1(a)). I also rovides informaion o ma nv o x a saemen 7 and o y a saemen 8. Unlike FICS, which uses one arificial name o idenify all he memory locaions allocaed on he hea a a saemen s in a rocedure P, MoPPA aems o disinuish he memory locaions allocaed a s when P is invoked from differen callsies. Unlike oher alorihms (e.., [5]) ha blindly disinuish hese memory locaions by exendin heir names wih call srins, MoPPA makes such disincion only if he disincion may hel he roram analysis comue more recise informaion. To handle hea-allocaed memory locaions and lobal variables effecively, MoPPA inroduces quasi-lobal names. A quasi-lobal name is a name whose scoe may include several rocedures, bu does no necessarily include all rocedures in a roram. MoPPA can idenify a memory locaion loc usin a quasi-lobal name in some rocedures, and idenify loc usin auxiliary arameers in he oher rocedures ha access loc. Such a namin scheme is more flexible han ha used in exisin alorihms, in which a memory locaion mus be idenified eiher usin a lobal name whose scoe includes all he rocedures or usin a se of local names whose scoes include only individual rocedures. MoPPA uses informaion colleced from a roram o deermine he kind of name ha i uses o idenify a memory locaion in a rocedure. We consider lobal variables, local variables, and hea-allocaed memory locaions. For each lobal variable accessed wihin a rocedure P, MoPPA deermines wheher is only accessed usin is address ha is assed ino P hrouh formal arameers. If his is he case, MoPPA uses an auxiliary arameer o idenify in P. For examle, MoPPA uses auxiliary arameer nv o idenify x in foo() in Fiure 1(a). However, if is accessed usin is variable name or usin an address ha is assed ino P hrouh lobal oiners, hen MoPPA uses s variable name as he quasi-lobal name o idenify in P (e.., x in main() in Fiure 1(a)). This quasi-lobal name is also used o idenify in P s direc or indirec callers. For a local variable l ha is declared in P, if l canno be accessed hrouh dereferences of lobal oiners in he roram, MoPPA uses l s variable name as a local name o idenify l in P. In any oher rocedure where l may be accessed, MoPPA uses an auxiliary arameer o idenify l. However, if l can be accessed hrouh dereferences of lobal oiners in he roram, hen MoPPA idenifies l usin a echnique ha is similar o he one used o idenify a lobal variable. In P or in a rocedure where l s address may be assed ino he rocedure hrouh lobal oiners or dereferences of lobal oiners, MoPPA uses l s variable name as a quasi-lobal name o idenify l. In a rocedure where l s address is assed ino he rocedure only hrouh formal arameers or dereferences of formal arameers, MoPPA uses an auxiliary arameer o idenify l. In eneral, MoPPA uses he followin rules o deermine he scoe of a quasi-lobal name N: Rule 1. If N is he variable name of a lobal variable and N synacically aears in a rocedure P, hen N s scoe includes P. Rule 2. If he memory locaion idenified by N is oined o by he memory locaion idenified by anoher quasi-lobal name N 1 accordin o he lobal oins-o rah, and N 1 s scoe includes a rocedure P, hen N s scoe includes P. Rule 3. If N s scoe includes a rocedure P, hen N s scoe includes all he rocedures ha call P. Rule 1 considers lobal variables. Rule 2 deermines wheher he address of a memory locaion can be assed ino a rocedure hrouh lobal oiners or dereferences of lobal oiners. Rule 3 accouns for he fac ha P is a ar of is callers. These rules can be efficienly evaluaed by MoPPA. MoPPA uses a local name, an auxiliary arameer, or a quasi-lobal name o idenify a memory locaion ha is allocaed on he hea wihin a rocedure P. Suose ha a saemen s in P allocaes memory locaions on he hea. We consider hree cases. In he firs case, he addresses of hese memory locaions are no reurned o P s callers. In his case, hese memory locaions can be accessed only wihin P. MoPPA idenifies hese memory locaions usin an auxiliary local name whose scoe includes only P. In he second case, he addresses of hese memory locaions may be reurned o P s callers hrouh he reurn value or dereferences of formal arameers, bu no hrouh lobal oiners or dereferences of lobal oiners. MoPPA uses an auxiliary arameer o idenify hese memory locaions in P. MoPPA also creaes names, usin similar rules, o idenify hese memory locaions in P s callers. Because differen names may be creaed o idenify he memory locaions reurned by P a differen callsies, MoPPA can disinuish, in P s callers, he memory locaions allocaed a s under differen callin conexs. In he hird case, he addresses of hese memory locaions may be reurned o P s callers hrouh lobal oiners or dereferences of lobal oiners. MoPPA inroduces a quasi-lobal name o idenify hese memory locaions. Accordin o Rule 3, his name will be used in all callers of P. Therefore, in his case, MoPPA does no disinuish memory locaions allocaed a s under differen callin conexs. For examle, consider he oins-o rahs (Fiure 3(d)) comued by MoPPA for Proram 3 in Fiure 3(a). Le loc be he memory locaion allocaed a saemen 14. In G alloc(), he oins-o rah for alloc(), MoPPA uses auxiliary arameer nv2 o idenify loc. Tha loc is reurned o alloc() s callers only hrouh f is he basis for his namin decision. When loc is reurned o e() a saemen 3
4 (a) Proram 2: wih recursion hd nv2 nv4 yedef sruc L{ sruc L nex; } Lis; nex l nv1 nex nex G P() nv3 G GO() (b) wihou k limiin Parameer bindin a c1 P(Lis l,in ln) { Lis hd; hd.nex=l; c1: GO(&hd,ln); } hd nv2 nex nex G P() GO(Lis,in ln) { if(ln<0) reurn; c2: P(,ln 1); } l nv1 nex (c) wih k limiin (k=1) Parameer bindin a c2 G GO() Fiure 2: Problem wih recursion and is soluion. 10, MoPPA idenifies loc usin a quasi-lobal name h. Tha loc may be reurned o e() s callers no only hrouh he reurn value, bu also hrouh lobal oiner, is he basis for his namin decision. When loc is reurned o main() a saemen 3, MoPPA idenifies loc usin an auxiliary local name lh. Tha loc canno be reurned o main() s callers is he basis for his namin decision. Comared o he oinso rahs (Fiure 3(e)) consruced by FICS, we can see ha MoPPA comues more recise oiner informaion. 2.3 Handin Recursion In he resence of recursive daa srucures, MoPPA may inroduce an infinie number of auxiliary arameers in rocedures involved in recursion. For examle, MoPPA kees enerain auxiliary arameers o idenify he memory locaions in a linked-lis in consrucion of he oins-o rahs (G P(), G GO() in Fiure 2(b)) for P() and GO() in Fiure 2(a). The same roblem occurs wih oher alorihms [7, 19]. MoPPA solves his roblem usin a varian of k-limiin [11]. The varian considers simle ahs 1 ha conain susicious nodes nodes associaed only wih auxiliary arameers. The varian limis he number of consecuive susicious nodes on a simle ah o k (MoPPA inores field nodes when i looks for consecuive susicious nodes). When MoPPA rocesses a recursive call, if i needs o add a susicious node, i checks he resricion. If addin he new node would creae a simle ah conainin more han k consecuive susicious nodes, MoPPA searches, on he ah, for an exisin susicious node ha reresens memory locaions whose yes overla he yes of he memory locaions reresened by he new node. If MoPPA finds such a node, i uses his node. Oherwise, i uses a new node. For examle, when MoPPA binds nv2 o GO() a callsie c1 in P() (Fiure 2(a)), i aems o add a new susicious node in G GO(). Addin such a node creaes a simle ah ha conains wo consecuive susicious nodes. Thus, if k is 1, MoPPA reuses he node ha is associaed wih nv1 and binds nv2 o nv1. Fiure 2(c) shows he resulin oins-o rahs. 1 A simle ah does no conain wo idenical nodes. 3. COMPUTATION OF PARAMETERIZED POINTS-TO GRAPHS This secion firs inroduces some definiions, and hen ives an overview of MoPPA. 3.1 Definiions Memory locaions in a roram are accessed hrouh objec names, each of which consiss of a variable and a ossibly emy sequence of dereferences and field accesses [12]. Objec name N 1 is exended from objec name N 2 if N 1 can be consruced by alyin a ossibly emy sequence of dereferences and field accesses ω o N 2; in his case, we denoe N 1 as E ω N 2. For examle, suose ha is a oiner ha oins o a sruc wih field a in a C roram. Then E is, E is, and E.a is ( ).a. Given an objec name N, if N is of oiner ye, hen he oins-o node of N in a oins-o rah G is he node ha reresens he memory locaions ha may be oined o by N. To find N s oins-o node in G, an alorihm firs locaes or creaes, in G, a node n 0 ha reresens he variable in N. The alorihm hen locaes or creaes a sequence of nodes n i and edes e i, 1 i k, so ha n 0, e 1, n 1,..., e k, n k is a ah in G, he labels of e 1,..., e k 1 mach he sequence of dereferences and field accesses in N, and e k is a oins-o ede. N s oins-o node is n k. 3.2 Overview of MoPPA In addiion o comuin he oins-o rahs, MoPPA also comues, in various hases, he se of quasi-lobal names whose scoes may include a rocedure P accordin o Rules 1 3 in Secion 2. MoPPA uses his informaion o deermine he kind of name ha i uses o idenify a memory locaion in P. To comue his informaion, MoPPA firs collecs he lobal variable names ha synacically aear in P or in rocedures direcly or indirecly called by P. Accordin o Rules 1 and 3, he scoes of hese names include P. MoPPA hen searches, beinnin from he nodes associaed wih he lobal variable names comued for P, for all reachable nodes in G lob. The names associaed wih hese nodes idenify he memory locaions whose addresses may be assed ino P hrouh lobal oiners or dereferences of lobal oiners. Accordin o Rule 2, he scoes of hese names include P. MoPPA comues he oins-o rahs for a roram in hree hases (Fiure 4). In each hase, MoPPA erforms wo asks. The firs ask deecs each air of objec names ha may oin o common memory locaions. MoPPA meres he oins-o nodes of hese wo objec names in a oins-o rah o ensure ha each common memory locaion oined o by hese wo objec names is reresened by only one node. This merin oeraion is a varian of he join in Seensaard s alorihm [17]. The second ask deermines he memory locaions reresened by each node in he oins-o rahs. MoPPA icks aroriae names o idenify hese memory locaions a he node. We discuss how hese wo asks are erformed in each hase Firs hase: Lines 1 8 In he firs hase, MoPPA rocesses each oiner assinmen lhs = rhs in each rocedure P o build P s oins-o rah G P. If rhs is an objec name, hen MoPPA meres he oins-o nodes of lhs and rhs in G P o caure he fac ha lhs and rhs oin o he same memory locaion 4
5 (a) Proram 3 G lob h,a[] h,a[] a[] G main() G lob G main() Bindin a 10: nv1 o, nv2 o a[] and h. h,a[] G lob 1 main() { 2 char,q; 3 alloc(&); 4 q =e(); 5 =a; 6 } (b) Afer firs hase (c) Afer second hase q h,a[] (d) Resul of MoPPA G (e) Resul of FICS q main() q h,a[] q h,a[] G main() 7 char e() { 8 char =&; 9 if(==null) 10 alloc(); 11 reurn ; 12 } lh h Ge() e e h,a[] f G alloc() Ge() G alloc() Bindin a 3: nv1 o, nv2 o lh. G e() Ge() 13 alloc(char f) { 14 f=malloc(4); 15 } 16 char,a[4]; e h,a[] e G f alloc() f nv1 nv2 f, h,a[] G alloc() Fiure 3: Proram 3 and is oins-o rahs. afer his assinmen (line 3). If rhs is an address-akin exression &x, hen MoPPA adds variable name x o he oins-o node of lhs in G P o indicae ha lhs oins o he memory locaion for x afer he assinmen (line 4). If rhs is a call o a memory allocaion funcion, MoPPA ses a boolean fla HasHea for he oins-o node of lhs in G P (line 5). HasHea of a node is used o indicae ha he node reresens a hea-allocaed memory locaion whose name has no ye been deermined by MoPPA. In various hases of he alorihm, when wo nodes N 1 and N 2 are mered, if HasHea of N 1 or N 2 is se, hen HasHea of he resulin node will be se. In he firs hase, MoPPA inroduces a variable o reresen he reurn value of each funcion and reas a reurn saemen as an assinmen. For examle, MoPPA inroduces e o reresen he reurn value of funcion e() in Fiure 3(a), and reas reurn saemen 11 as assinmen e=. In he firs hase, MoPPA also collecs he lobal variable names ha synacically aear in P (line 8). Fiure 3(b) shows he oins-o rahs consruced by MoPPA durin his hase for Proram 3 in Fiure 3(a). A solid node in he rahs indicaes ha HasHea of his node is se Second hase: Lines 9 30 In he second hase, MoPPA rocesses he callsies in each rocedure P o consider he effecs, on G P, of he rocedures Alorihm inu ouu declare funcion MoPPA P: he roram o be analyzed a se of oins-o rahs GV ars[p ]: lobal variable names colleced for P A c(f): reurn he acual arameer bound o f a c lobals(g): reurn he lobal variable names in G bein MoPPA / Firs hase (lines 1 8) / 1. foreach oiner assinmen lhs = rhs in each rocedure P do 2. case rhs do 3. objec name: mere oins-o nodes of lhs and rhs in G P 4. &x : add x o he oins-o node of lhs in G P 5. malloc(): se HasHea of lhs s oins-o node in G P 6. endcase 7. endfor 8. add lobal variable names in each rocedure P o GV ars[p ] / Second hase (lines 9 30) / 9. add all rocedures in P o workliss W 1 and W while W 1 φ do / W 1: sored in reversed ooloical order/ 11. remove P from he head of W foreach callsie c o Q in P do 13. BindFromCallee(G Q,lobals(G Q),G P,c) 14. foreach oins-o node N of E ω f in G Q where f is a formal arameer do 15. coy names from N o E ω A c(f) s oins-o node in G P 16. if HasHea of N is se hen 17. se HasHea of E ω A c(f) s oins-o node in G P 18. endfor 19. endfor 20. BindToGlobal(G P,lobals (G P ),G lob) 21. foreach oins-o node N of E ω in G P, is lobal do 22. coy names from N o oins-o node of E ω in G lob 23. if HasHea of N is se hen 24. rese HasHea of N add a new name o N 25. add he new name o E ω s oins-o node in G lob 26. endif 27. endfor 28. add rocedures callin P o W 1 if G P is udaed 29. endwhile 30. comue GV ars[p ] for each rocedure P from P s callees / Third hase (lines 31 55) / 31. foreach rocedure P do 32. comue he quasi-lobal names whose scoes include P 33. while W 2 φ do / W 2: sored in ooloical order / 34. remove P from he head of W foreach callsie c o P in P do 36. BindFromCaller(G P,c,G P ) 37. foreach name n in oins-o node of E ω a in G P and a is acual arameer bound o f a c do 38. if n is quasi-lobal name whose scoe includes P hen 39. add n o E ω f s oins-o node in G P 40. elseif no auxil arameer a E ω f s oins-o node in G P 41. creae a auxil arameer a E ω f s oins-o node in G P 42. endif 43. endfor 44. endfor 45. BindFromGlobal(G lob,lobals (G P ),G P ) 46. foreach name n in E ω s oins-o node in G lob where is lobal oiner aeared in G P do 47. add n o E ω s oins-o node in G P 48. foreach node N whose HasHea is se in G P do 49. rese HasHea 50. if no auxiliary arameer associaed wih N hen 51. add a new local name o N 52. endfor 53. add he rocedures called by P o W 2 if G P is udaed 54. endwhile 55. foreach callsie c do comue bindin informaion endfor end MoPPA Fiure 4: MoPPA alorihm. called by P. Le c be a callsie in P and Q be he rocedure ha c invokes. MoPPA firs calls BindFromCallee() o deec airs of arameer-relaed objec names ha may oin o he same memory locaions (line 13). BindFromCallee() searches in G Q for objec names E ω1 and E ω2 q ha oin o he same node. If and q are formal arameers bound o a 1 and a 2 resecively a c, hen afer c is execued, 5
6 E ω1 a 1 and E ω2 a 2 may oin o common memory locaions. Thus, BindFromCallee() meres he oins-o nodes of E ω1 a 1 and E ω2 a 2 in G P. If is a formal arameer bound o a a c and q is a lobal variable, hen afer c is execued, E ω1 a and E ω2 q may oin o common memory locaions. Thus, BindFromCallee() meres he oinso nodes of E ω1 a and E ω2 q in G P. For examle, when MoPPA rocesses saemen 4 in Fiure 3(a), i meres he oins-o nodes of q and in G main() because G e() shows ha e and oin o he same node (MoPPA reas reurn value e as a formal arameer). MoPPA also deermines he memory locaions whose addresses may be reurned o P a callsie c (lines 14 18). If G Q shows ha a name x is associaed wih he oins-o node of E ω f, in which f is a formal arameer bound o a a c, hen, afer c is execued, E ω a may oin o he memory locaions idenified by x. MoPPA adds x o he oins-o node of E ω a in G P (line 15). If HasHea of he oins-o node of E ω f is se, hen afer c is execued, E ω a may oin o memory locaions ha are allocaed from he hea in Q. Thus, MoPPA ses HasHea of he oins-o node of E ω a (line 17). For examle, when MoPPA rocesses saemen 3 in Fiure 3(a), i ses HasHea of he oins-o node of in G main() because G alloc() shows ha HasHea of he oins-o node of f is se. In he second hase, MoPPA also consrucs he lobal oins-o rah G lob usin informaion in G P (lines 20 27). MoPPA calls BindToGlobal() o search in G P for objec names E ω1 1 and E ω2 2, where 1 and 2 are lobal variables ha oin o he same node. BindToGlobal() meres he oins-o nodes of E ω1 1 and E ω2 2 in G lob o indicae ha E ω1 1 and E ω2 2 oin o he same memory locaions. MoPPA also deermines he memory locaions ha may be oined o by objec names exended from lobal variables (lines 21 27). Le be a lobal variable. If G P shows ha x is associaed wih he oins-o node of E ω, hen when P is execued, E ω may oin o he memory locaion idenified by x. MoPPA adds x o he oins-o node of E ω in G lob o caure his informaion (line 22). If G P shows ha HasHea of he oins-o node of E ω is se, hen when P is execued, E ω may oin o a memory locaion allocaed in P. MoPPA creaes a new quasilobal name o idenify his memory locaion, and adds his name o he oins-o node of E ω in boh G P and G lob. MoPPA also reses HasHea of he oins-o node of E ω in G P o indicae ha he hea-allocaed memory locaion has been assined a name. For examle, when MoPPA rocesses e() in Fiure 3(a) in he second hase, i finds ha HasHea of he oins-o node of is se. Thus, he alorihm creaes a name h, and adds his name o he oins-o node of boh in G e() and in G lob. The alorihm also reses HasHea of s oins-o node in G e(). In he second hase, MoPPA furher comues he se of lobal variable names ha aear synacically in rocedure P (line 30). In his hase, MoPPA rocesses he rocedures in a reverse ooloical (boom-u) order on he sronlyconneced comonens of he call rah. Wihin a sronlyconneced comonen, MoPPA ieraes over he rocedures unil he oins-o rah comued for each rocedure sabilizes. Fiure 3(c) shows he oins-o rahs consruced for Proram 3 in Fiure 3(a) afer his hase Third hase: Lines In he hird hase, MoPPA rocesses each rocedure P o deermine he memory locaions reresened by each node in G P and assins aroriae names o idenify hese memory locaions. MoPPA comlees his ask in four ses. Firs, MoPPA comues, by usin G lob and he se of lobal variable names comued for P in he firs wo hases, he se of quasi-lobal names whose scoes include P (lines 31 32). Second, MoPPA rocesses each callsie c ha calls P o caure he oiner informaion inroduced by arameer bindins. Le P be he rocedure ha conains c. MoPPA firs calls BindFromCaller() o deec airs of objec names ha are exended from acual arameers a c and may oin o he same node in G P (line 36). If BindFromCaller() finds ha E ω1 a 1 and E ω2 a 2, in which a 1 and a 2 are bound o f 1 and f 2 resecively a c, may oin o he same node in G P, i meres he oins-o nodes of E ω1 f 1 and E ω2 f 2 in G P. MoPPA also deermines he memory locaions ha may be oined o by objec names exended from formal arameers (lines 37 43). Le a be an acual arameer ha is bound o formal arameer f a c. If G P shows ha name n is associaed wih he oins o node of E ω a, hen when P is invoked a c, E ω f may oin o he memory locaions idenified by n a P s enry. If n is a quasi-lobal name whose scoe includes P, hen MoPPA adds n o he oinso node of E ω f in G P. Oherwise, MoPPA checks o see if here is an auxiliary arameer associaed wih he oinso node of E ω f in G P. If no auxiliary arameer exiss, hen MoPPA creaes a new auxiliary arameer and adds his auxiliary arameer o his node. For examle, when MoPPA rocesses he callsie o alloc() a saemen 10 in Fiure 3(a), i finds ha may oin o. Because s scoe does no include alloc(), MoPPA inroduces auxiliary arameer nv1 o idenify his memory locaion and adds nv1 o he oins-o node of f in G alloc(). Noe ha in he hird hase, if wo nodes N 1 and N 2 are mered, a mos one auxiliary arameer is ke in he resulin node. Third, MoPPA furher deermines, by examinin G lob, he memory locaions ha may be reresened by each node in G P (lines 45 47). Le 1 and 2 be lobal variables ha aear in G P (i.e., 1, 2 lobals(g P)). MoPPA calls BindFromGlobal() o search, in G lob, objec names E ω1 1 and E ω1 1 ha oin o he same node. BindFromGlobal() meres he oins-o nodes of E ω1 1 and E ω1 1 in G P. Le be a lobal variable ha aear in G P. If G lob shows ha name n is associaed wih he oins-o node of E ω, hen MoPPA adds n o he oins-o node of E ω in G P. Fourh, MoPPA assins names for he unnamed heaallocaed memory locaions reresened by nodes in G P (lines 48 52). MoPPA examines, in G P, each node N whose HasHea is se. If an auxiliary arameer aux is associaed wih N, hen N is oined o by an objec name exended from formal arameers. Therefore, he hea-allocaed memory locaions reresened by N may be reurned o P s callers. MoPPA reuses aux o idenify hese memory locaions. However, if no auxiliary arameer is associaed wih N, hen hese hea-allocaed memory locaions are no reurned o P s callers. MoPPA creaes a new local name and add his name o N o idenify hese hea-allocaed memory locaions. In boh cases, MoPPA reses HasHea of N. For examle, when MoPPA examines G alloc(), he oins-o rah for alloc() in Fiure 3(a), i discovers ha HasHea of he oins-o node of f is se and an auxiliary arameer nv2 is 6
7 associaed wih his node. Therefore, i reuses nv2 o idenify he hea-allocaed memory locaions reresened by his node. However, when MoPPA examines G main(), i discovers ha HasHea of he oins-o node of is se bu no auxiliary arameer is associaed wih his node. Therefore, i creaes a local name lh o idenify he hea-allocaed memory locaions reresened by his node (Fiure 3(d)). In he hird hase, MoPPA rocesses he rocedures in a ooloical (o-down) order on he sronly-conneced comonens of he call rah. Wihin a sronly-conneced comonen, MoPPA ieraes over he rocedures unil he oins-o rah for each rocedure sabilizes. Afer all he oins-o rahs sabilize, MoPPA rocesses each callsie c o comue he bindin informaion beween he names in he rocedure conainin c and he auxiliary arameers in he called rocedure (line 55). This se can be done ondemand when he oiner informaion is used. Fiure 3(d) shows he oins-o rahs ha MoPPA comues for Proram 3. Comared o he oins-o rahs (Fiure 3(e)) consruced by FICS for his roram, we can see ha MoPPA comues more comac and more recise oiner informaion han FICS. 3.3 Comlexiy of MoPPA Le be he number of rocedures in a roram P, c be he number of callsies in P, and S be he wors-case acual size of he oins-o rah for a rocedure. Wihou considerin he cos of line 8 and lines 30 32, he ime comlexiy of MoPPA is he same as he ime comlexiy of FICS, which is O(N S α(n S, S)) [13], iven ha α is he inverse Ackermann funcion, N is (c + ) in he absence of recursion, and N is (c + ) S in he resence of recursion. The ses aken a lines 8 and 30 are very similar o hose aken in he comuaion of modificaion side-effecs for he rocedures. Therefore, he ime aken by hese wo lines is O(n 2 ). Line 32 can be done by firs main he names in GV ars[p ] o he nodes in G lob, and hen searchin in G lob beinnin from hese nodes. Therefore, he ime aken by his line is O(n + S lob), where S lob is he size G lob. Thus, he ime comlexiy of MoPPA is O( (n + S lob) + n 2 + N S α(n S, S)). Wih he assumion ha S lob is O(n), he ime comlexiy can be simlified o O(n 2 + N S α(n S, S)). 3.4 Handlin Indirec Calls Because he comlee call rah for a roram ha conains indirec calls hrouh funcion oiners is no direcly available, MoPPA may encouner difficulies in analyzin such a roram. There are wo ossible soluions. The firs soluion uses he call rah comued by anoher alorihm. For examle, we can consruc he call rah for a roram by resolvin indirec calls usin oiner informaion rovided by Seensaard s alorihm. We can furher refine he resul usin funcion rooyes [2]. The second soluion beins he analysis wih a arial call rah, and comues he comlee call rah durin he analysis. This aroach requires ieraions beween he boom-u hase and he o-down hase [4]. To use he second aroach, MoPPA kees an exra shadow oins-o rah G P for each rocedure P. 2 MoPPA uses G P o searae he summary informaion abou P from he oiner 2 G P may be eliminaed if MoPPA can deermine he rocedures ha are direcly or indirecly called by P. Subjec Size Time roram LOC Nodes Procs T M T F dixie learn diff assembler smail lharc simulaor flex rolo sace bison sim mlay esresso moria wmc Table 1: Lef: Sizes of he subjec rorams. Rih: Time in seconds for MoPPA (T M ) and FICS (T F ). informaion comued for P. In he firs hase, MoPPA comues he oiner informaion and us he informaion in boh G P and G P. In he second hase when MoPPA rocesses a callsie c o Q in P, i uses G Q o udae boh G P and G P. In he second hase when MoPPA comues he lobal oins-o rah, i uses he shadow oins-o rahs. In he hird hase, MoPPA uses only he normal oins-o rahs for he rocedures. Before comuin he bindin informaion for each callsie a he end of his hase, MoPPA firs examines each indirec call. If MoPPA discovers new callees, i exands he call rah and reeas he second and hird hases sarin only from he rocedures ha mih be affeced. Oherwise, he alorihm comues he bindin informaion and erminaes. 4. EMPIRICAL STUDIES We have imlemened a rooye of MoPPA usin he PROLANGS Analysis Framework (PAF) [9]. Our rooye handles funcion oiners usin he firs aroach discussed in Secion 3.3. We have also erformed several emirical sudies o evaluae he erformance of MoPPA and he effeciveness of usin he arameerized oiner informaion rovided by MoPPA in roram analyses. We colleced he daa for he sudies on a Sun Ulra 30 worksaion wih 640MB of hysical memory. To allow he alorihm o caure he oiner informaion inroduced by calls o library funcions, we creaed a se of subs ha simulae hese funcions. A similar aroach usin subs has been used in oher rooyes (e.. [12, 13]). The lef side of Table 1 shows he subjec rorams we used. Column LOC shows he number of lines of code, column Nodes shows he number of conrol flow rah nodes creaed o reresen each roram, and column Procs shows he number of rocedures. These subjec rorams have also been used in many oher sudies [12, 13, 15]. 4.1 Sudy 1 The oal of his sudy is o evaluae he erformance of MoPPA. To invesiae he ime efficiency of MoPPA, we comare he ime required o run MoPPA and he ime required o run FICS on each subjec roram. The rih side 7
8 # of hea # of flow deendences roram Mo FI Mo FI Reduce dixie % learn % diff % assembler % smail % lharc % simulaor % flex % rolo % sace % bison % sim % mlay % esresso % moria % wmc % sim conains wo lare rocedures wih over 1000 nodes. Wihou considerin hese wo rocedures, he resul for MoPPA is 2.83, and he resul for FICS is Table 2: Lef: Number of disinc hea-allocaed memory locaions. Rih: Averae number of flow deendences for a saemen. (T M, T F ) of Table 1 shows he comarison. The able shows ha, on he rorams we sudied, alhouh MoPPA can be 2 o 3 imes slower han FICS, i is sill very efficien for all rorams. This resuls sues ha MoPPA will scale o lare rorams as well as FICS. In he sudy, we also invesiae he effeciveness of MoPPA in disinuishin memory locaions allocaed on he hea in a rocedure when he rocedure is invoked under differen callsies. The lef side of able 2 comares he number of disinuishable hea-allocaed memory locaions when he oiner informaion is comued by MoPPA or FICS. Two memory locaions are no disinuishable if hey are are always used in he same way in a roram. Column Mo shows he resuls for MoPPA and column F I shows he resuls for FICS. The able shows ha, for several rorams, MoPPA idenifies many more disinuishable hea-allocaed memory locaions han FICS. These resuls sues ha usin oiner informaion rovided by MoPPA may hel a roram analysis comue more recise informaion. 4.2 Sudy 2 The oal of his sudy is o evaluae he imac of usin oiner informaion rovided by MoPPA and FICS on he comuaion of flow deendence, one variey of daa deendence, wihin a rocedure. A saemen s 1 is flow-deenden on anoher saemen s 2 if s 1 may use he value se by s 2. Flow deendence has been used in imoran asks such as roram oimizaion and roram undersandin. In his sudy, we comued he averae number of saemens on which a saemen is flow-deenden. For each callsie, we use is side-effecs o comue he flow deendences. The rih side of able 2 shows he resuls of his sudy when he oiner informaion is rovided by MoPPA (Mo) or FICS (F I). The able also shows he ercenae of surious flow deendences (Reduce) ha can be eliminaed by usin oiner informaion rovided by MoPPA. The able shows ha, for several rorams (e.., smail), usin oiner informaion rovided by MoPPA can sinificanly (> 10%) Size Time roram Mo FI Reduce Mo FI dixie % learn % diff % assembler % smail % lharc % simulaor % flex % rolo % sace % bison % sim mlay % esresso % moria wmc % Daa are colleced on one daa slice. Daa are unavailable because he sysem does no erminae wihin he ime limi (10 hours) we se. Table 3: Lef: averae size of a daa slice, Rih: averae ime in seconds o comue a daa slice. reduce he surious flow deendences. Thus, on hese rorams, usin oiner informaion rovided by MoPPA may sinificanly imrove he recision of he roram analyses ha require daa-flow informaion. Noe ha, for oher rorams (e.., lharc) on which he reducion in flow deendences is insinifican, usin oiner informaion rovided by MoPPA may sill imrove he recision of roram analyses on hese rorams by reducin he surious informaion roaaed across rocedure boundaries. 4.3 Sudy 3 The oal of his sudy is o evaluae he imac of usin oiner informaion rovided by MoPPA or FICS on he recision and he efficiency of roram analyses ha require ransiive inerrocedural flow deendence. The sudy consiss of wo ars. The firs ar of he sudy considers he imac on he comuaion of ransiive flow deendence. We measure he averae number of saemens ha can ransiively affec a secific saemen s hrouh flow deendence. For convenience, we refer o hese se of saemen as he daa slice wih resec o s. We also measure he averae ime o comue a daa slice. These measuremens can serve as an indicaor o he imac of usin such oiner informaion on roram analyses ha require ransiive inerrocedural flow deendence. Table 3 shows hese wo measuremens we obain when he oiner informaion is rovided by MoPPA (Mo) or FICS (F I). The able also shows he reducion in he size of a daa slice (Reduce) when he oiner informaion is rovided by MoPPA insead of FICS. We obain he daa by runnin a modified version of our reuse-driven slicer [14] on each subjec. The able shows ha, for many rorams we sudied (e.., smail), usin oiner informaion rovided by MoPPA can sinificanly imrove he recision and he efficiency of he comuaion of ransiive flow deendence. The second ar of he sudy considers he imac of usin oiner informaion rovided by MoPPA or FICS on roram slicin [18], a roram analysis ha requires ransiive flow deendences. We measure he averae size of a 8
9 Size Time roram Mo FI Reduce Mo FI dixie % learn % diff % assembler % smail % lharc % simulaor % flex % rolo % sace % bison % sim mlay % esresso % moria wmc % Daa are colleced on one roram slice. Daa are unavailable because he sysem does no erminae wihin he ime limi (10 hours) we se. Table 4: Lef: Averae size of a roram slice, Rih: Averae ime in seconds o comue a roram slice. roram slice and he averae ime o comue a roram slice. Table 4 shows hese wo measuremens obained in he sudy when he oiner informaion is rovided by MoPPA (Mo) or (F I). The able also shows he reducion in he size of a roram slice (Reduce) when he oiner informaion is rovided by MoPPA insead of FICS. We obain he daa by runnin our reuse-driven roram slicer on each subjec. The able shows ha, for many rorams ha we sudied (e.., smail), usin oiner informaion rovided by MoPPA can sinificanly imrove he recision and he efficiency. By considerin he resuls of boh ars of he sudy, we can conclude ha usin arameerized oiner informaion rovided by MoPPA may sinificanly imrove he recision and efficiency of many roram analyses. 5. RELATED WORK Several oher exisin oiner analysis alorihms use a modular aroach for comuin oiner informaion. One such alorihm is Chaerjee, Ryder, and Landi s Relevan Conex Inference (RCI) [3]. Like FICS and MoPPA, RCI firs uses a boom-u hase o consider he effec of a rocedure on each callsie ha calls his rocedure. RCI hen uses a o-down hase o comue he memory locaions whose addresses may be assed ino a rocedure. RCI differs from MoPPA in wo ways. Firs, RCI comues non-arameerized oiner informaion. RCI uses unknown iniial values for arameers and lobals a he enry of a rocedure. A firs lance, hese unknown iniial values seem o serve he same urose as auxiliary arameers. However, because unknown iniial values are creaed before he oiner informaion is comued a he callsies, wo unknown iniial values may reresen he address of he same memory locaion under a callin conex. Therefore, in he final oiner soluion, hese unknown iniial values mus be relaced wih concree values. 3 Second, RCI comues 3 The same arumen alies o non-visible variables used in Landi and Ryder s alorihm [12]. oiner informaion usin a flow-sensiive aroach. Because roaain informaion usin flow-sensiive aroach is exensive, RCI may no scale o lare rorams. Anoher modular oiner analysis alorihm is Chen and Hwu s alorihm [4]. Like MoPPA, Chen and Hwu s alorihm is flow-insensiive. Unlike MoPPA and many oher alorihms ha use exacly one name o idenify each memory locaion a a saemen, Chen and Hwu s alorihm uses access ahs 4 o idenify each memory locaion. One way ha MoPPA disinuishes iself from Chen and Hwu s alorihm is efficiency. We comare hese wo alorihms in hree asecs. Firs, Chen and Hwu s alorihm mus roaae oiner informaion for lobal oiners from rocedure o rocedure. In conras, MoPPA uses a lobal oins-o rah o caure he oiner informaion for he lobal oiners. Therefore, MoPPA roaaes less informaion across rocedure boundaries han Chen and Hwu s alorihm. Second, in he inrarocedural hase, Chen and Hwu s alorihm mus ierae over he oiner assinmens wihin a rocedure in a way similar o ha used in Andersen s alorihm [1]. In conras, MoPPA rocesses each rocedure in he inrarocedural hase usin an aroach similar o Seensaard s alorihm [17], which rocesses each oiner assinmen only once. Third, in he inerrocedural hases, Chen and Hwu s alorihm mus ierae over he oins-o relaions comued for a rocedure when he alorihm discovers a new oins-o relaion. In conras, MoPPA may mere wo nodes or add a name o a node when i discovers a new oins-o relaion. Therefore, MoPPA is more efficien han Chen and Hwu s alorihm. Anoher way ha MoPPA disinuishes iself from Chen and Hwu s alorihm is he suor for inerrocedural roram analyses ha use he oiner informaion. Similar o auxiliary arameers, access ahs used in Chen and Hwu s alorihm can idenify differen memory locaions in a rocedure when he rocedure is invoked a differen callsies. However, because one memory locaion mih be idenified by several access ahs in oiner informaion rovided by Chen and Hwu s alorihm, a roram analysis usin his oiner informaion may have o roaae more informaion across rocedure boundaries han usin oiner informaion rovided by MoPPA. In addiion, main an access ah from a called rocedure o a callin rocedure is more exensive han main an auxiliary arameer. Therefore, usin he informaion rovided by Chen and Hwu s alorihm in roram analyses may be less efficien han usin he informaion rovided by MoPPA. Foser, Fahndrich, and Aiken roosed a olymorhic flowinsensiive oins-o analysis framework ha comues oiner informaion by solvin a se of consrains [8]. This framework also consiss of a boom-u hase and a o-down hase o roaae informaion. When his framework uses erm consrain, he resulin alorihm is very similar o FICS. This framework differs from MoPPA in ha i comues non-arameerized oiner informaion. Sudies show ha heir curren imlemenaion of he framework may no scale o lare rorams [8]. Some exisin oiner analysis alorihms [3, 12] rovide condiional oiner informaion, in which a oins-o relaion may be associaed wih a condiion ha secifies he callin conexs under which his relaion may hold. Al- 4 An access ah is similar o an objec name defined in his aer. 9
10 houh such condiions may hel a roram analysis reduce he amoun of surious informaion roaaed across rocedure boundaries [15], addin condiions o he oins-o relaions may increase he comlexiy of he oiner analysis. Sudies show ha exisin alorihms ha rovide condiional oiner informaion may no scale o lare rorams [3, 12]. 6. CONCLUSION This aer resens MoPPA, a modular alorihm ha comues arameerized oiner informaion for C rorams. The aer also resens a se of emirical sudies ha comare MoPPA wih FICS. The emirical resuls show ha boh MoPPA and FICS can efficienly comue oiner informaion for rorams. The emirical resuls also show ha usin oiner informaion rovided by MoPPA can sinificanly imrove boh he recision and he efficiency of many roram analyses. Due o sace limiaion, his aer does no resen he deails of handlin memory accesses usin knowlede of he hysical layou of a srucure. Several exisin aroaches (e.., [20]) can be incororaed ino MoPPA o handle such accesses. Our fuure work will include invesiaion of he imac of differen aroaches on MoPPA. In fuure work, we will also conduc more emirical sudies on larer rorams o invesiae he effeciveness of usin he oiner informaion rovided by MoPPA in various roram analyses. In addiion, we will comare he effeciveness of usin differen aroaches o handle funcion oiners in MoPPA. Acknowledmens This work was suored in ar by NSF under NYI Award CCR and ESS Award CCR o Ohio Sae Universiy, by funds from o Georia Tech hrouh he Yamacraw Mission, and by a ran from Boein Aerosace Cororaion. Alessandro Orso made many helful suesions ha imroved he resenaion of he aer. REFERENCES [1] L. Andersen. Proram analysis and secializaion for he C rorammin lanuae. Technical Reor 94-19, Universiy of Coenhaen, [2] D. C. Akinson and W. G. Griswold. Effecive wholeroram analysis in he resence of oiners. In 6h Inernaional Symosium on he Foundaions of Sofware Enineerin (FSE-98), aes 46 55, Nov [3] R. Chaerjee, B. G. Ryder, and W. A. Landi. Relevan conex inference. In Proceedins of he 26h Symosium on Princiles of rorammin lanuaes, aes , [4] B. Chen and W. Hwu. Modular inerrocedural oiner analysis usin access ahs: desin, imlemenaion, and evaluaion. In Proceedins of 2000 Conference on Prorammin Lanuae Desin and Imlemenaion, aes 57 69, June [5] J.-D. Choi, M. Burke, and P. Carini. Efficien flow-sensiive inerrocedural comuaion of oinerinduced aliases and side effecs. In Conference record of he Twenieh Annual ACM SIGPLAN-SIGACT Symosium on Princiles of Prorammin Lanuaes, aes , [6] M. Das. Unificaion-based oiner analysis wih direcional assinmens. In Proceedins of 2000 Conference on Prorammin Lanuae Desin and Imlemenaion, June [7] M. Emami, R. Ghiya, and L. J. Hendren. Conexsensiive inerrocedural oins-o analysis in he resence of funcion oiners. In Proceedins of 1994 Conference on Prorammin Lanuae Desin and Imlemenaion, aes , June [8] J. S. Foser, M. Fahndrich, and A. Aiken. Polymorhic verus monomorhic flow-insensiive oins-o analysis for c. In Proceedins of 7h Inernaional Saic Analysis Symosium, June [9] P. L. R. Grou. PROLANGS Analysis Framework. h:// Ruers Universiy, [10] M. Hind, M. Burke, P. Carini, and J.-D. Choi. Inerrocedural oiner alias analysis. ACM Transacions on Prorammin Lanuaes and Sysems, 21(4): , July [11] N. Jones and S. Muchnick. Flow analysis and oimizaion of lis-like srucures. In S. Muchnick and N. Jones, ediors, Proram Flow Analysis: Theory and Alicaions, aes [12] W. Landi and B. G. Ryder. A safe aroximae alorihm for inerrocedural oiner aliasin. In Proceedins of he ACM SIGPLAN 92 Conference on Prorammin Lanuae Desin and Imlemenaion, aes , July [13] D. Lian and M. J. Harrold. Efficien oins-o analysis for whole-roram analysis. In Join 7h Euroean Sofware Enineerin Conference and 7h ACM Symosium on Foundaions of Sofware Enineerin, aes , Se [14] D. Lian and M. J. Harrold. Reuse-driven inerrocedural slicin in he resence of oiners and recursion. In Inernaional Conference on Sofware Mainenance, aes , Se [15] H. D. Pande, W. A. Landi, and B. G. Ryder. Inerrocedural def-use associaions for C sysems wih sinle level oiners. IEEE Transacions on Sofware Enineerin, 20(5): , May [16] E. Ruf. Conex-insensiive alias analysis reconsidered. In Proceedins of SIGPLAN 95 Conference on Prorammin Lanuae Desin and Imlemenaion, aes 13 23, June [17] B. Seensaard. Poins-o analysis in almos linear ime. In Conference Record of he 23rd ACM Symosium on Princiles of Prorammin Lanuaes, aes 32 41, Jan [18] M. Weiser. Proram slicin. IEEE Transacions on Sofware Enineerin, 10(4): , July [19] R. P. Wilson and M. S. Lam. Efficien conex-sensiive oiner analysis for C rorams. In Proceedins of SIG- PLAN 95 Conference on Prorammin Lanuae Desin and Imlemenaion, aes 1 12, [20] S. H. Yon, S. Horwiz, and T. Res. Poiner analysis for rorams wih srucures and casin. ACM SIG- PLAN Noices, 34(5):91 103, May
Petri Nets for Object-Oriented Modeling
Peri Nes for Objec-Oriened Modeling Sefan Wi Absrac Ensuring he correcness of concurren rograms is difficul since common aroaches for rogram design do no rovide aroriae mehods This aer gives a brief inroducion
More informationPointer Analysis. Outline: What is pointer analysis Intraprocedural pointer analysis Interprocedural pointer analysis. Andersen and Steensgaard
Poiner anaysis Poiner Anaysis Ouine: Wha is oiner anaysis Inrarocedura oiner anaysis Inerrocedura oiner anaysis Andersen and Seensgaard Poiner and Aias Anaysis Aiases: wo exressions ha denoe he same memory
More informationA new method for 3-dimensional roadway design using visualization techniques
Urban Transor XIII: Urban Transor and he Environmen in he 2s Cenury 23 A new mehod for 3-dimensional roadway design using visualizaion echniques G. Karri & M. K. Jha Dearmen of Civil Engineering, Morgan
More informationData Structures and Algorithms
Daa Srucures and Algorihms The maerial for his lecure is drawn, in ar, from The Pracice of Programming (Kernighan & Pike) Chaer 2 1 Goals of his Lecure Hel you learn (or refresh your memory) abou: Common
More informationPART 1 REFERENCE INFORMATION CONTROL DATA 6400 SYSTEMS CENTRAL PROCESSOR MONITOR
. ~ PART 1 c 0 \,).,,.,, REFERENCE NFORMATON CONTROL DATA 6400 SYSTEMS CENTRAL PROCESSOR MONTOR n CONTROL DATA 6400 Compuer Sysems, sysem funcions are normally handled by he Monior locaed in a Peripheral
More informationImplementing Ray Casting in Tetrahedral Meshes with Programmable Graphics Hardware (Technical Report)
Implemening Ray Casing in Terahedral Meshes wih Programmable Graphics Hardware (Technical Repor) Marin Kraus, Thomas Erl March 28, 2002 1 Inroducion Alhough cell-projecion, e.g., [3, 2], and resampling,
More informationMATH Differential Equations September 15, 2008 Project 1, Fall 2008 Due: September 24, 2008
MATH 5 - Differenial Equaions Sepember 15, 8 Projec 1, Fall 8 Due: Sepember 4, 8 Lab 1.3 - Logisics Populaion Models wih Harvesing For his projec we consider lab 1.3 of Differenial Equaions pages 146 o
More informationControl of Job Arrivals with Processing Time Windows into Batch Processor Buffer
onrol of Job Arrivals wih Processing ime Windows ino Bach Processor John Benedic. AJAN 1, Aa Iyer SIVAKUMAR 1, and Sanley B. GERSHWIN 2 1 Nanyang echnological Universiy 2 Massachuses Insiue of echnology
More informationThe Impact of Product Development on the Lifecycle of Defects
The Impac of Produc Developmen on he Lifecycle of Rudolf Ramler Sofware Compeence Cener Hagenberg Sofware Park 21 A-4232 Hagenberg, Ausria +43 7236 3343 872 rudolf.ramler@scch.a ABSTRACT This paper invesigaes
More informationCoded Caching with Multiple File Requests
Coded Caching wih Muliple File Requess Yi-Peng Wei Sennur Ulukus Deparmen of Elecrical and Compuer Engineering Universiy of Maryland College Park, MD 20742 ypwei@umd.edu ulukus@umd.edu Absrac We sudy a
More informationPointer Analysis. Pointer analysis. Pointer and Alias Analysis. Useful for what? Intraprocedural Points-to Analysis. Kinds of alias information
Poer Anasis Poer anasis Oue: Wha is oer anasis Inrarocedura oer anasis Inerrocedura oer anasis Andersen and Seensgaard Poer and Aias Anasis Aiases: wo eressions ha denoe he same memor ocaion. Aiases are
More information4. Minimax and planning problems
CS/ECE/ISyE 524 Inroducion o Opimizaion Spring 2017 18 4. Minima and planning problems ˆ Opimizing piecewise linear funcions ˆ Minima problems ˆ Eample: Chebyshev cener ˆ Muli-period planning problems
More informationA Matching Algorithm for Content-Based Image Retrieval
A Maching Algorihm for Conen-Based Image Rerieval Sue J. Cho Deparmen of Compuer Science Seoul Naional Universiy Seoul, Korea Absrac Conen-based image rerieval sysem rerieves an image from a daabase using
More informationMB86297A Carmine Timing Analysis of the DDR Interface
Applicaion Noe MB86297A Carmine Timing Analysis of he DDR Inerface Fujisu Microelecronics Europe GmbH Hisory Dae Auhor Version Commen 05.02.2008 Anders Ramdahl 0.01 Firs draf 06.02.2008 Anders Ramdahl
More informationGauss-Jordan Algorithm
Gauss-Jordan Algorihm The Gauss-Jordan algorihm is a sep by sep procedure for solving a sysem of linear equaions which may conain any number of variables and any number of equaions. The algorihm is carried
More informationSam knows that his MP3 player has 40% of its battery life left and that the battery charges by an additional 12 percentage points every 15 minutes.
8.F Baery Charging Task Sam wans o ake his MP3 player and his video game player on a car rip. An hour before hey plan o leave, he realized ha he forgo o charge he baeries las nigh. A ha poin, he plugged
More informationHandling uncertainty in semantic information retrieval process
Handling uncerainy in semanic informaion rerieval process Chkiwa Mounira 1, Jedidi Anis 1 and Faiez Gargouri 1 1 Mulimedia, InfoRmaion sysems and Advanced Compuing Laboraory Sfax Universiy, Tunisia m.chkiwa@gmail.com,
More informationtr_lisp.asc Page 1 McESE-FranzLISP: McMASTER EXPERT SYSTEM EXTENSION OF FranzLISP F. Franek Technical Report no TR-22/88
r_lisp.asc Page 1 McESE-FranzLISP: McMASTER EXPERT SYSTEM EXTENSION OF FranzLISP F. Franek Technical Repor no TR-22/88 Deparmen of Compuer Science and Sysems McMaser Universiy 1988 McESE-FranzLISP: McMASTER
More informationCOSC 3213: Computer Networks I Chapter 6 Handout # 7
COSC 3213: Compuer Neworks I Chaper 6 Handou # 7 Insrucor: Dr. Marvin Mandelbaum Deparmen of Compuer Science York Universiy F05 Secion A Medium Access Conrol (MAC) Topics: 1. Muliple Access Communicaions:
More informationSTEREO PLANE MATCHING TECHNIQUE
STEREO PLANE MATCHING TECHNIQUE Commission III KEY WORDS: Sereo Maching, Surface Modeling, Projecive Transformaion, Homography ABSTRACT: This paper presens a new ype of sereo maching algorihm called Sereo
More informationShortest Path Algorithms. Lecture I: Shortest Path Algorithms. Example. Graphs and Matrices. Setting: Dr Kieran T. Herley.
Shores Pah Algorihms Background Seing: Lecure I: Shores Pah Algorihms Dr Kieran T. Herle Deparmen of Compuer Science Universi College Cork Ocober 201 direced graph, real edge weighs Le he lengh of a pah
More informationCENG 477 Introduction to Computer Graphics. Modeling Transformations
CENG 477 Inroducion o Compuer Graphics Modeling Transformaions Modeling Transformaions Model coordinaes o World coordinaes: Model coordinaes: All shapes wih heir local coordinaes and sies. world World
More informationData Structures and Algorithms. The material for this lecture is drawn, in part, from The Practice of Programming (Kernighan & Pike) Chapter 2
Daa Srucures and Algorihms The maerial for his lecure is drawn, in par, from The Pracice of Programming (Kernighan & Pike) Chaper 2 1 Moivaing Quoaion Every program depends on algorihms and daa srucures,
More informationA Constraints Scattered Memetic Algorithm for Constrained Optimization Problem
JOURNL OF COMPUTERS, VOL., NO., NOVEMBER 0 Consrains Scaered Memeic lorihm for Consrained Opimizaion Problem Qunion Zhu Collee of Informaion Science and Technoloy, Beijin Universiy of Chemical Technoloy,
More informationNEWTON S SECOND LAW OF MOTION
Course and Secion Dae Names NEWTON S SECOND LAW OF MOTION The acceleraion of an objec is defined as he rae of change of elociy. If he elociy changes by an amoun in a ime, hen he aerage acceleraion during
More informationSOT: Compact Representation for Triangle and Tetrahedral Meshes
SOT: Compac Represenaion for Triangle and Terahedral Meshes Topraj Gurung and Jarek Rossignac School of Ineracive Compuing, College of Compuing, Georgia Insiue of Technology, Alana, GA ABSTRACT The Corner
More informationMichiel Helder and Marielle C.T.A Geurts. Hoofdkantoor PTT Post / Dutch Postal Services Headquarters
SHORT TERM PREDICTIONS A MONITORING SYSTEM by Michiel Helder and Marielle C.T.A Geurs Hoofdkanoor PTT Pos / Duch Posal Services Headquarers Keywords macro ime series shor erm predicions ARIMA-models faciliy
More informationReal Time Integral-Based Structural Health Monitoring
Real Time Inegral-Based Srucural Healh Monioring The nd Inernaional Conference on Sensing Technology ICST 7 J. G. Chase, I. Singh-Leve, C. E. Hann, X. Chen Deparmen of Mechanical Engineering, Universiy
More informationQuantitative macro models feature an infinite number of periods A more realistic (?) view of time
INFINIE-HORIZON CONSUMPION-SAVINGS MODEL SEPEMBER, Inroducion BASICS Quaniaive macro models feaure an infinie number of periods A more realisic (?) view of ime Infinie number of periods A meaphor for many
More informationCOMP26120: Algorithms and Imperative Programming
COMP26120 ecure C3 1/48 COMP26120: Algorihms and Imperaive Programming ecure C3: C - Recursive Daa Srucures Pee Jinks School of Compuer Science, Universiy of Mancheser Auumn 2011 COMP26120 ecure C3 2/48
More informationNetwork management and QoS provisioning - QoS in Frame Relay. . packet switching with virtual circuit service (virtual circuits are bidirectional);
QoS in Frame Relay Frame relay characerisics are:. packe swiching wih virual circui service (virual circuis are bidirecional);. labels are called DLCI (Daa Link Connecion Idenifier);. for connecion is
More informationEECS 487: Interactive Computer Graphics
EECS 487: Ineracive Compuer Graphics Lecure 7: B-splines curves Raional Bézier and NURBS Cubic Splines A represenaion of cubic spline consiss of: four conrol poins (why four?) hese are compleely user specified
More informationAnalysis of Various Types of Bugs in the Object Oriented Java Script Language Coding
Indian Journal of Science and Technology, Vol 8(21), DOI: 10.17485/ijs/2015/v8i21/69958, Sepember 2015 ISSN (Prin) : 0974-6846 ISSN (Online) : 0974-5645 Analysis of Various Types of Bugs in he Objec Oriened
More informationCAMERA CALIBRATION BY REGISTRATION STEREO RECONSTRUCTION TO 3D MODEL
CAMERA CALIBRATION BY REGISTRATION STEREO RECONSTRUCTION TO 3D MODEL Klečka Jan Docoral Degree Programme (1), FEEC BUT E-mail: xkleck01@sud.feec.vubr.cz Supervised by: Horák Karel E-mail: horak@feec.vubr.cz
More informationAutomatic Calculation of Coverage Profiles for Coverage-based Testing
Auomaic Calculaion of Coverage Profiles for Coverage-based Tesing Raimund Kirner 1 and Waler Haas 1 Vienna Universiy of Technology, Insiue of Compuer Engineering, Vienna, Ausria, raimund@vmars.uwien.ac.a
More informationVoltair Version 2.5 Release Notes (January, 2018)
Volair Version 2.5 Release Noes (January, 2018) Inroducion 25-Seven s new Firmware Updae 2.5 for he Volair processor is par of our coninuing effors o improve Volair wih new feaures and capabiliies. For
More informationPacket Scheduling in a Low-Latency Optical Interconnect with Electronic Buffers
Packe cheduling in a Low-Laency Opical Inerconnec wih Elecronic Buffers Lin Liu Zhenghao Zhang Yuanyuan Yang Dep Elecrical & Compuer Engineering Compuer cience Deparmen Dep Elecrical & Compuer Engineering
More informationWhy Waste a Perfectly Good Abstraction?
Why Wase a Perfecly Good Absracion? Arie Gurfinkel and Marsha Chechik Deparmen of Compuer Science, Universiy of Torono, Torono, ON M5S 3G4, Canada. Email: arie,chechik@cs.orono.edu Absrac. Sofware model-checking
More informationDefinition and examples of time series
Definiion and examples of ime series A ime series is a sequence of daa poins being recorded a specific imes. Formally, le,,p be a probabiliy space, and T an index se. A real valued sochasic process is
More informationLearning in Games via Opponent Strategy Estimation and Policy Search
Learning in Games via Opponen Sraegy Esimaion and Policy Search Yavar Naddaf Deparmen of Compuer Science Universiy of Briish Columbia Vancouver, BC yavar@naddaf.name Nando de Freias (Supervisor) Deparmen
More information4 Error Control. 4.1 Issues with Reliable Protocols
4 Error Conrol Jus abou all communicaion sysems aemp o ensure ha he daa ges o he oher end of he link wihou errors. Since i s impossible o build an error-free physical layer (alhough some shor links can
More informationA pipeline polish string computer*
A pipeline polish sring compuer* by GERARD G. BAILLE and JEAN P. SCHOELLKOPF Co--,np'ueT ATcli-iecure Group Grenoble "Universiy, France ABSTRACT This paper describes a new compuer organizaion which allows
More informationDimmer time switch AlphaLux³ D / 27
Dimmer ime swich AlphaLux³ D2 426 26 / 27! Safey noes This produc should be insalled in line wih insallaion rules, preferably by a qualified elecrician. Incorrec insallaion and use can lead o risk of elecric
More informationAML710 CAD LECTURE 11 SPACE CURVES. Space Curves Intrinsic properties Synthetic curves
AML7 CAD LECTURE Space Curves Inrinsic properies Synheic curves A curve which may pass hrough any region of hreedimensional space, as conrased o a plane curve which mus lie on a single plane. Space curves
More informationAbstracting Abstract Machines
Absracing Absrac Machines David Van Horn Norheasern Universiy dvanhorn@ccs.neu.edu Mahew Migh Universiy of Uah migh@cs.uah.edu Absrac We describe a derivaional approach o absrac inerpreaion ha yields novel
More informationparametric spline curves
arameric sline curves comuer grahics arameric curves 9 fabio ellacini curves used in many conexs fons animaion ahs shae modeling differen reresenaion imlici curves arameric curves mosly used comuer grahics
More informationTime Expression Recognition Using a Constituent-based Tagging Scheme
Track: Web Conen Analysis, Semanics and Knowledge Time Expression Recogniion Using a Consiuen-based Tagging Scheme Xiaoshi Zhong and Erik Cambria School of Compuer Science and Engineering Nanyang Technological
More informationTest - Accredited Configuration Engineer (ACE) Exam - PAN-OS 6.0 Version
Tes - Accredied Configuraion Engineer (ACE) Exam - PAN-OS 6.0 Version ACE Exam Quesion 1 of 50. Which of he following saemens is NOT abou Palo Alo Neworks firewalls? Sysem defauls may be resored by performing
More informationSecurity aspects of the Authentication used in Quantum Cryptography
SECURITY ASPECTS OF THE AUTHENTICATION USED IN QUANTUM CRYPTOGRAPHY Securiy asecs of he Auhenicaion used in Quanum Cryograhy Jörgen Cederlöf and Jan-Åe Larsson jc@lysaor.liu.se and jalar@mai.liu.se) Maemaisa
More informationLandmarks: A New Model for Similarity-Based Pattern Querying in Time Series Databases
Lmarks: A New Model for Similariy-Based Paern Querying in Time Series Daabases Chang-Shing Perng Haixun Wang Sylvia R. Zhang D. So Parker perng@cs.ucla.edu hxwang@cs.ucla.edu Sylvia Zhang@cle.com so@cs.ucla.edu
More informationRelevance Ranking using Kernels
Relevance Ranking using Kernels Jun Xu 1, Hang Li 1, and Chaoliang Zhong 2 1 Microsof Research Asia, 4F Sigma Cener, No. 49 Zhichun Road, Beijing, China 100190 2 Beijing Universiy of Poss and Telecommunicaions,
More informationA METHOD OF MODELING DEFORMATION OF AN OBJECT EMPLOYING SURROUNDING VIDEO CAMERAS
A METHOD OF MODELING DEFORMATION OF AN OBJECT EMLOYING SURROUNDING IDEO CAMERAS Joo Kooi TAN, Seiji ISHIKAWA Deparmen of Mechanical and Conrol Engineering Kushu Insiue of Technolog, Japan ehelan@is.cnl.kuech.ac.jp,
More informationAn efficient approach to improve throughput for TCP vegas in ad hoc network
Inernaional Research Journal of Engineering and Technology (IRJET) e-issn: 395-0056 Volume: 0 Issue: 03 June-05 www.irje.ne p-issn: 395-007 An efficien approach o improve hroughpu for TCP vegas in ad hoc
More informationDifficulty-aware Hybrid Search in Peer-to-Peer Networks
Difficuly-aware Hybrid Search in Peer-o-Peer Neworks Hanhua Chen, Hai Jin, Yunhao Liu, Lionel M. Ni School of Compuer Science and Technology Huazhong Univ. of Science and Technology {chenhanhua, hjin}@hus.edu.cn
More informationOptimal Crane Scheduling
Opimal Crane Scheduling Samid Hoda, John Hooker Laife Genc Kaya, Ben Peerson Carnegie Mellon Universiy Iiro Harjunkoski ABB Corporae Research EWO - 13 November 2007 1/16 Problem Track-mouned cranes move
More informationConcurrency Control and Recovery in Transactional Process Management
In: Proceedings of he ACM Symposium on Principles of Daabase Sysems (PODS 99), pages 316-326, Philadelphia, Pennsylvania, USA, May/June, 1999. Concurrency Conrol and Recovery in Transacional Process Managemen
More informationConstant-Work-Space Algorithms for Shortest Paths in Trees and Simple Polygons
Journal of Graph Algorihms and Applicaions hp://jgaa.info/ vol. 15, no. 5, pp. 569 586 (2011) Consan-Work-Space Algorihms for Shores Pahs in Trees and Simple Polygons Tesuo Asano 1 Wolfgang Mulzer 2 Yajun
More informationSimultaneous Precise Solutions to the Visibility Problem of Sculptured Models
Simulaneous Precise Soluions o he Visibiliy Problem of Sculpured Models Joon-Kyung Seong 1, Gershon Elber 2, and Elaine Cohen 1 1 Universiy of Uah, Sal Lake Ciy, UT84112, USA, seong@cs.uah.edu, cohen@cs.uah.edu
More informationMIC2569. Features. General Description. Applications. Typical Application. CableCARD Power Switch
CableCARD Power Swich General Descripion is designed o supply power o OpenCable sysems and CableCARD hoss. These CableCARDs are also known as Poin of Disribuion (POD) cards. suppors boh Single and Muliple
More informationMORPHOLOGICAL SEGMENTATION OF IMAGE SEQUENCES
MORPHOLOGICAL SEGMENTATION OF IMAGE SEQUENCES B. MARCOTEGUI and F. MEYER Ecole des Mines de Paris, Cenre de Morphologie Mahémaique, 35, rue Sain-Honoré, F 77305 Fonainebleau Cedex, France Absrac. In image
More informationDynamic Route Planning and Obstacle Avoidance Model for Unmanned Aerial Vehicles
Volume 116 No. 24 2017, 315-329 ISSN: 1311-8080 (prined version); ISSN: 1314-3395 (on-line version) url: hp://www.ijpam.eu ijpam.eu Dynamic Roue Planning and Obsacle Avoidance Model for Unmanned Aerial
More informationUser Adjustable Process Scheduling Mechanism for a Multiprocessor Embedded System
Proceedings of he 6h WSEAS Inernaional Conference on Applied Compuer Science, Tenerife, Canary Islands, Spain, December 16-18, 2006 346 User Adjusable Process Scheduling Mechanism for a Muliprocessor Embedded
More informationFIELD PROGRAMMABLE GATE ARRAY (FPGA) AS A NEW APPROACH TO IMPLEMENT THE CHAOTIC GENERATORS
FIELD PROGRAMMABLE GATE ARRAY (FPGA) AS A NEW APPROACH TO IMPLEMENT THE CHAOTIC GENERATORS Mohammed A. Aseeri and M. I. Sobhy Deparmen of Elecronics, The Universiy of Ken a Canerbury Canerbury, Ken, CT2
More informationLocation. Electrical. Loads. 2-wire mains-rated. 0.5 mm² to 1.5 mm² Max. length 300 m (with 1.5 mm² cable). Example: Belden 8471
Produc Descripion Insallaion and User Guide Transiser Dimmer (454) The DIN rail mouned 454 is a 4channel ransisor dimmer. I can operae in one of wo modes; leading edge or railing edge. All 4 channels operae
More informationChapter 4 Sequential Instructions
Chaper 4 Sequenial Insrucions The sequenial insrucions of FBs-PLC shown in his chaper are also lised in secion 3.. Please refer o Chaper, "PLC Ladder diagram and he Coding rules of Mnemonic insrucion",
More information1 œ DRUM SET KEY. 8 Odd Meter Clave Conor Guilfoyle. Cowbell (neck) Cymbal. Hi-hat. Floor tom (shell) Clave block. Cowbell (mouth) Hi tom.
DRUM SET KEY Hi-ha Cmbal Clave block Cowbell (mouh) 0 Cowbell (neck) Floor om (shell) Hi om Mid om Snare Floor om Snare cross sick or clave block Bass drum Hi-ha wih foo 8 Odd Meer Clave Conor Guilfole
More informationA Progressive-ILP Based Routing Algorithm for Cross-Referencing Biochips
16.3 A Progressive-ILP Based Rouing Algorihm for Cross-Referencing Biochips Ping-Hung Yuh 1, Sachin Sapanekar 2, Chia-Lin Yang 1, Yao-Wen Chang 3 1 Deparmen of Compuer Science and Informaion Engineering,
More informationThe Roots of Lisp paul graham
The Roos of Lisp paul graham Draf, January 18, 2002. In 1960, John McCarhy published a remarkable paper in which he did for programming somehing like wha Euclid did for geomery. 1 He showed how, given
More informationTHE EQUIVALENCE OF MODELS OF TASKING + by Daniel M. Berry Brown University
THE EQUVALENCE OF MODELS OF TASKNG + by Daniel M. Berry Brown Universiy Absrac. A echnique for proving he equivalence of implemenaions of muli-asking programming languages is developed and applied o proving
More informationIntroduction to Data-Driven Animation: Programming with Motion Capture Jehee Lee
Inroducion o Daa-Driven Animaion: Programming wih Moion Caure Jehee Lee Seoul Naional Universiy Daa-Driven Animaion wih Moion Caure Programming wih Moion Caure Why is i difficul? Encomass a lo of heerogeneous
More informationVideo Content Description Using Fuzzy Spatio-Temporal Relations
Proceedings of he 4s Hawaii Inernaional Conference on Sysem Sciences - 008 Video Conen Descripion Using Fuzzy Spaio-Temporal Relaions rchana M. Rajurkar *, R.C. Joshi and Sananu Chaudhary 3 Dep of Compuer
More informationPerformance Evaluation of Implementing Calls Prioritization with Different Queuing Disciplines in Mobile Wireless Networks
Journal of Compuer Science 2 (5): 466-472, 2006 ISSN 1549-3636 2006 Science Publicaions Performance Evaluaion of Implemening Calls Prioriizaion wih Differen Queuing Disciplines in Mobile Wireless Neworks
More informationEvaluation and Improvement of Region-based Motion Segmentation
Evaluaion and Improvemen of Region-based Moion Segmenaion Mark Ross Universiy Koblenz-Landau, Insiue of Compuaional Visualisics, Universiässraße 1, 56070 Koblenz, Germany Email: ross@uni-koblenz.de Absrac
More informationBI-TEMPORAL INDEXING
BI-TEMPORAL INDEXING Mirella M. Moro Uniersidade Federal do Rio Grande do Sul Poro Alegre, RS, Brazil hp://www.inf.ufrgs.br/~mirella/ Vassilis J. Tsoras Uniersiy of California, Rierside Rierside, CA 92521,
More informationQuick Verification of Concurrent Programs by Iteratively Relaxed Scheduling
Quick Verificaion of Concurren Programs by Ieraively Relaxed Scheduling Parick Mezler, Habib Saissi, Péer Bokor, Neeraj Suri Technische Univerisä Darmsad, Germany {mezler, saissi, pbokor, suri}@deeds.informaik.u-darmsad.de
More informationNURBS rendering in OpenSG Plus
NURS rering in OpenSG Plus F. Kahlesz Á. alázs R. Klein Universiy of onn Insiue of Compuer Science II Compuer Graphics Römersrasse 164. 53117 onn, Germany Absrac Mos of he indusrial pars are designed as
More informationA Principled Approach to. MILP Modeling. Columbia University, August Carnegie Mellon University. Workshop on MIP. John Hooker.
Slide A Principled Approach o MILP Modeling John Hooer Carnegie Mellon Universiy Worshop on MIP Columbia Universiy, Augus 008 Proposal MILP modeling is an ar, bu i need no be unprincipled. Slide Proposal
More informationAn Implementation of the PCP, SRP, D-PCP, M-PCP, and FMLP Real-Time Synchronization Protocols in LITMUS RT
An Implemenaion of he PCP, SRP, D-PCP, M-PCP, and FMLP Real-Time Synchronizaion Proocols in LITMUS RT Björn B. Brandenburg and James H. Anderson The Universiy of Norh Carolina a Chapel Hill Absrac We exend
More informationChapter Six Chapter Six
Chaper Si Chaper Si 0 CHAPTER SIX ConcepTess and Answers and Commens for Secion.. Which of he following graphs (a) (d) could represen an aniderivaive of he funcion shown in Figure.? Figure. (a) (b) (c)
More informationUSBFC (USB Function Controller)
USBFC () EIFUFAL501 User s Manual Doc #: 88-02-E01 Revision: 2.0 Dae: 03/24/98 (USBFC) 1. Highlighs... 4 1.1 Feaures... 4 1.2 Overview... 4 1.3 USBFC Block Diagram... 5 1.4 USBFC Typical Sysem Block Diagram...
More informationIDEF3 Process Description Capture Method
IDEF3 Process Descripion Capure Mehod IDEF3 is par of he IDEF family of mehods developmen funded by he US Air Force o provide modelling suppor for sysems engineering and enerprise inegraion 2 IDEF3 Mehod
More informationScattering at an Interface: Normal Incidence
Course Insrucor Dr. Raymond C. Rumpf Office: A 337 Phone: (915) 747 6958 Mail: rcrumpf@uep.edu 4347 Applied lecromagneics Topic 3f Scaering a an Inerface: Normal Incidence Scaering These Normal noes Incidence
More informationAxiomatic Foundations and Algorithms for Deciding Semantic Equivalences of SQL Queries
Axiomaic Foundaions and Algorihms for Deciding Semanic Equivalences of SQL Queries Shumo Chu, Brendan Murphy, Jared Roesch, Alvin Cheung, Dan Suciu Paul G. Allen School of Compuer Science and Engineering
More informationLess Pessimistic Worst-Case Delay Analysis for Packet-Switched Networks
Less Pessimisic Wors-Case Delay Analysis for Packe-Swiched Neworks Maias Wecksén Cenre for Research on Embedded Sysems P O Box 823 SE-31 18 Halmsad maias.wecksen@hh.se Magnus Jonsson Cenre for Research
More information[151 A. K. Agrawala and T. G. Rauscher, Foundationg of Microprogramming, Architecture, Software and Applications. New York: Academic, 1976.
MEE TRANSACTIONS ON COMPUTERS, VOL. C-27, NO. 9, SEPTENrBER 1978 51 C. [6] [7] [81 [9] [10] [11] [12] [13] [1] R. Clare, Designing Logic Sysens Using Sae Machines. New York: McGraw-HilL 1973. S. Lin, An
More informationSimple Network Management Based on PHP and SNMP
Simple Nework Managemen Based on PHP and SNMP Krasimir Trichkov, Elisavea Trichkova bsrac: This paper aims o presen simple mehod for nework managemen based on SNMP - managemen of Cisco rouer. The paper
More informationAn Efficient Delivery Scheme for Coded Caching
201 27h Inernaional Teleraffic Congress An Efficien Delivery Scheme for Coded Caching Abinesh Ramakrishnan, Cedric Wesphal and Ahina Markopoulou Deparmen of Elecrical Engineering and Compuer Science, Universiy
More informationA time-space consistency solution for hardware-in-the-loop simulation system
Inernaional Conference on Advanced Elecronic Science and Technology (AEST 206) A ime-space consisency soluion for hardware-in-he-loop simulaion sysem Zexin Jiang a Elecric Power Research Insiue of Guangdong
More informationA Systematic Approach to Higher-Order Program Analysis
doi:10.1145/1995376.1995400 Absracing Absrac Machines A Sysemaic Approach o Higher-Order Program Analysis By David Van Horn and Mahew Migh Absrac Predicive models are fundamenal o engineering reliable
More informationComputer representations of piecewise
Edior: Gabriel Taubin Inroducion o Geomeric Processing hrough Opimizaion Gabriel Taubin Brown Universiy Compuer represenaions o piecewise smooh suraces have become vial echnologies in areas ranging rom
More informationNRMI: Natural and Efficient Middleware
NRMI: Naural and Efficien Middleware Eli Tilevich and Yannis Smaragdakis Cener for Experimenal Research in Compuer Sysems (CERCS), College of Compuing, Georgia Tech {ilevich, yannis}@cc.gaech.edu Absrac
More informationA Routing Algorithm for Flip-Chip Design
A Rouing Algorihm for Flip-hip Design Jia-Wei Fang, I-Jye Lin, and Yao-Wen hang, Graduae Insiue of Elecronics Engineering, Naional Taiwan Universiy, Taipei Deparmen of Elecrical Engineering, Naional Taiwan
More informationMotor Control. 5. Control. Motor Control. Motor Control
5. Conrol In his chaper we will do: Feedback Conrol On/Off Conroller PID Conroller Moor Conrol Why use conrol a all? Correc or wrong? Supplying a cerain volage / pulsewidh will make he moor spin a a cerain
More informationPartition-based document identifier assignment (PBDIA) algorithm. (long queries)
( ) Pariion-based documen idenifier assignmen (PBDIA) algorihm PBDIA (long queries) (parallel IR) :,,,, d-gap Compressing an invered file can grealy improve query performance of an informaion rerieval
More informationWINNOWING : Protecting P2P Systems Against Pollution By Cooperative Index Filtering
WINNOWING : Proecing P2P Sysems Agains Polluion By Cooperaive Index Filering Kyuyong Shin, Douglas S. Reeves, Injong Rhee, Yoonki Song Deparmen of Compuer Science Norh Carolina Sae Universiy Raleigh, NC
More informationMidterm Exam Announcements
Miderm Exam Noe: This was a challenging exam. CSCI 4: Principles o Programming Languages Lecure 1: Excepions Insrucor: Dan Barowy Miderm Exam Scores 18 16 14 12 10 needs improvemen 8 6 4 2 0 0-49 50-59
More informationElite Acoustics Engineering A4-8 Live-Performance Studio Monitor with 4 Channels, Mixer, Effects, and Bluetooth Quick Start Guide
Elie Acousics Engineering A4-8 Live-Performance Sudio Monior wih 4 Channels, Mixer, Effecs, and Blueooh Quick Sar Guide WHAT IS IN THE BOX Your A4-8 package conains he following: (1) Speaker (1) 12V AC
More informationImproving Ranking of Search Engines Results Based on Power Links
IPASJ Inernaional Journal of Informaion Technology (IIJIT) Web Sie: hp://www.ipasj.org/iijit/iijit.hm A Publisher for Research Moivaion... Email: edioriiji@ipasj.org Volume 2, Issue 9, Sepember 2014 ISSN
More informationRestorable Dynamic Quality of Service Routing
QOS ROUTING Resorable Dynamic Qualiy of Service Rouing Murali Kodialam and T. V. Lakshman, Lucen Technologies ABSTRACT The focus of qualiy-of-service rouing has been on he rouing of a single pah saisfying
More informationAn Improved Square-Root Nyquist Shaping Filter
An Improved Square-Roo Nyquis Shaping Filer fred harris San Diego Sae Universiy fred.harris@sdsu.edu Sridhar Seshagiri San Diego Sae Universiy Seshigar.@engineering.sdsu.edu Chris Dick Xilinx Corp. chris.dick@xilinx.com
More information