The Set Constraint/CFL Reachability Connection in Practice

Size: px
Start display at page:

Download "The Set Constraint/CFL Reachability Connection in Practice"

Transcription

1 The Set Contraint/CFL Reachability Connection in Practice John Kodumal EECS Department Univerity of California, Berkeley Alex Aiken Computer Science Department Stanford Univerity ABSTRACT Many program analye can be reduced to graph reachability problem involving a limited form of context-free language reachability called Dyck-CFL reachability. We how a new reduction from Dyck-CFL reachability to et contraint that can be ued in practice to olve thee problem. Our reduction i much impler than the general reduction from context-free language reachability to et contraint. We have implemented our reduction on top of a et contraint toolkit and teted it performance on a ubtantial polymorphic flow analyi application. Categorie and Subject Decriptor D.2.4 [Software Engineering]: Software/Program Verification; F.3.2 [Logic and Meaning of Program]: Semantic of Programming Language General Term Algorithm, Deign, Experimentation, Language, Theory Keyword Set contraint, context-free language reachability, flow analyi, type qualifier 1. INTRODUCTION Many program analye have been formulated and implemented uing et contraint. Set contraint-baed analye have been hown to cale to large program on application uch a point-to analyi, hape analyi, and receiver cla prediction, though calability require highly optimized implementation [4, 8, 19, 21]. Recently, a number of program analye have been formulated a context-free language (CFL) reachability problem. Thee include application uch a type-baed polymorphic flow analyi, field-enitive point-to analyi, and interprocedural dataflow analyi [15, 17, 18]. Getting CFL-baed Permiion to make digital or hard copie of all or part of thi work for peronal or claroom ue i granted without fee provided that copie are not made or ditributed for profit or commercial advantage and that copie bear thi notice and the full citation on the firt page. To copy otherwie, to republih, to pot on erver or to reditribute to lit, require prior pecific permiion and/or a fee. PLDI 04, June 9 11, 2004, Wahington, DC, USA. Copyright 2004 ACM /04/ $5.00. implementation to cale ha proved a tricky a implementing et contraint, leading to new algorithm and optimization technique. Set contraint and CFL reachability were hown to be cloely related in work by Melki and Rep [13]. While their reult i ueful for undertanding the conceptual imilarity between the two problem, it doe not erve a an implementation trategy; a with many reduction, the cot of encoding one problem in the other formalim prove to be prohibitive in practice. Furthermore, the Melki-Rep reduction doe not how how to relate the tate-of-the-art algorithm for et contraint to the tate-of-the-art algorithm for CFL reachability. Optimization in one formalim are not preerved acro the reduction to the other formalim. Demand-driven algorithm for CFL reachability do not automatically lead to demand algorithm for et contraint (except by applying the reduction firt). Our inight i baed on the obervation that almot all of the application of CFL reachability in program analyi are baed on Dyck language, which contain tring of matched parenthee. For Dyck language, we how an alternative reduction from CFL reachability to et contraint that addree the iue mentioned above. The principal contribution of thi work are a follow: We give a novel contruction for converting a Dyck- CFL reachability problem into a et contraint problem. The contruction i impler than the more general reduction decribed in [13]. In fact, the contraint graph produced by our contruction are nearly iomorphic to the original CFL graph. We how that on real polymorphic flow analyi problem, our implementation of Dyck-CFL reachability baed on et contraint remain competitive with a highly tuned CFL reachability engine. Thi i omewhat urpriing ince that implementation contain optimization that exploit the pecific tructure of the CFL graph that arie in flow analyi. Thee reult have everal conequence: Our reult how that it i poible to ue an off-thehelf et contraint olver to olve Dyck-CFL reachability problem without uffering the penaltie we normally expect when uing a reduction. Furthermore, reaonable performance can be expected without having to tune the olver for each pecific application.

2 G {B u, u, C u, v } add A u, v for each production of the form A B C G {B u, v } add A u, v for each production of the form A B G add A u, u for each production of the form A ɛ Figure 1: Cloure rule for CFL reachability We believe that our reduction bridge the gap between the variou algorithm for Dyck-CFL reachability [10] and the algorithm for olving et contraint. In light of our reduction, it eem that the ditinction between thee problem i illuory: the manner in which a problem i pecified (a Dyck-CFL reachability v. et contraint) i orthogonal to other algorithmic iue (e.g. whether the olver i online v. offline, demand-driven v. exhautive). Thi ha ome important conequence for intance, we plan in the future to invetigate an algorithm for incremental et contraint. Uing our reduction, uch an algorithm could be ued immediately to olve Dyck-CFL reachability problem incrementally. Furthermore, our reduction how how technique ued to olve et contraint (inductive form and cycle elimination [4]) can be applied to Dyck-CFL reachability problem. The remainder of thi paper i tructured a follow. In Section 2 we briefly introduce CFL reachability and et contraint. In Section 3 we review the reduction from CFL reachability to et contraint. Section 4 preent our pecialized reduction from Dyck-CFL reachability to et contraint. In Section 5 we ue polymorphic flow analyi a a cae tudy for our reduction. Section 6 cover related work, and Section 7 conclude. 2. PRELIMINARIES We review baic material on CFL reachability and et contraint. Reader familiar with CFL reachability may wih to kip Section 2.1, which i tandard. Section 2.2 i baed on the framework of [21], which ue ome nontandard notation. 2.1 CFL and Dyck-CFL Reachability In thi ubection we define CFL reachability and Dyck- CFL reachability and decribe an approach to olving thee problem. Let CF G = (T, N, P, S) be a context free grammar with terminal T, nonterminal N, production P and tart ymbol S. Let G be a directed graph with edge labeled by element of T. The notation A u, v denote an edge in G from node u to node v labeled with ymbol A. Each path in G define a word over T by concatenating, in order, the label of the edge in the path. A path in G i an S-path if it word i in the language of CF G. The all-pair CFL reachability problem determine the pair of vertice (u, v) where there exit an S-path from u to v in G. Now let O = {( 1,..., ( n} and C = {) 1,..., ) n} be two dijoint et of terminal (interpreted a opening and cloing ymbol, repectively). The ubcript are the terminal indice. The Dyck language over O C {} i generated by a context free grammar with production of the following x 1 x 2 ( 1 ( 2 S z 1 ) 1 y 1 y 2 S ) 2 z 2 Figure 2: Example Dyck-CFL reachability problem form: S S S ( 1 S ) 1 ( n S ) n ɛ (where i a ditinguihed terminal not in O or C). The all-pair Dyck-CFL reachability problem i the retriction of the all-pair CFL reachability problem to Dyck language. Figure 1 how the cloure rule for the CFL and Dyck- CFL reachability algorithm. The rule aume that the CFL grammar ha been normalized uch that no right-hand ide of any production contain more than two ymbol 1. A naive CFL reachability algorithm might apply the rule a follow: whenever the CFL graph matche the form on the left-hand ide of the rule, add the edge indicated by the right-hand ide of the rule; iterate thi proce until no rule induce a new edge addition. The application of thee rule produce a graph cloure(g) that contain all poible edge labeled by nonterminal in the grammar. To check whether there i an S-path from node u to v in G, we imply check for the exitence of an edge S u, v in cloure(g). In general, the all-pair CFL-reachability problem can be olved in time O( T N 3 n 3 ) for a graph with n node. Figure 2 how an example of a Dyck-CFL reachability problem. The dahed line how the edge added by the computation of cloure(g). The edge how that there are S-path between node x 1 and z 1, and x 2 and z 2. Self-loop S-path derived from the production S ɛ are not hown. 2.2 Set Contraint In thi ubection, we review the et contraint framework introduced in [21]. We define a language of et contraint (eentially a ubet of the full language defined in [1, 6]) and dicu inductive form, a graph-baed repreentation of et contraint A Language of Set Contraint A contraint ytem i a finite collection of et contraint. A et contraint i a relation of the form L R, where L and R are et expreion. Set expreion conit of et 1 For intance, by converting the grammar to Chomky normal form.

3 C {X X } C C {c(e 1,..., e a(c) ) c(e 1,..., e a(c))} C S i {ei e i} C {c(e 1,..., e a(c) ) proj(c, i, e)} C {e i e} C {d(e 1,..., e a(d) ) proj(c, i, e)} C if c d C {c(...) d(...)} no olution if c d Figure 3: Reolution rule for et contraint variable X, Y,..., term contructed from n-ary contructor c, d,... 2, and projection pattern: L, R e ::= X c(e 1,..., e a(c) ) proj(c, i, e) Each contructor c ha an arity a(c). Given a contraint of the form c(e 1,..., e a(c) ) proj(c, i, e), the projection pattern proj(c, i, e) ha the effect of electing e i, the ith component of the term on the left-hand ide, and adding the contraint e i e. Projection pattern are cloely related to the more tandard projection notation c i (e). We can expre c i (e) uing the following equivalence: c i (e) V where V i freh and e proj(c, i, V) The equivalence preerve leat olution under a compatibility retriction: the variable V ued to repreent c i (e) can only occur on the left-hand ide of any other incluion contraint. We ue the proj notation becaue it implifie the preentation of the contraint re-write rule and elucidate the connection between Dyck-CFL reachability and et contraint. However, we alo ue c i (e) wherever that notation i more natural. Our ue of c i (e) alway adhere to the compatibility retriction; therefore in thi work it i alway afe to replace that notation with the equivalent uing proj Contraint Graph Algorithm for olving et contraint operate by applying a et of reolution rule to the contraint ytem until no rule apply; thi i the olved form. The olved form make the proce of reading off a particular olution (or all olution) imple. For our language of et contraint, we apply the reolution rule in Figure 3 a left-to-right re-write rule to reduce the contraint ytem to olved form. Algorithmically, a ytem of et contraint C can be repreented a a directed graph G(C) where the node of the graph are et expreion and the edge denote atomic contraint. A contraint i atomic if either the left-hand ide or the right-hand ide i a et variable. Computing the olved form involve cloing G(C) under the reolution rule, which are decription of how to add new edge to the graph. In general, a ytem of et contraint C with v variable can be reduced to olved form in time O(v 2 C ). Inductive form i a particular graph repreentation that exploit the fact that variable-variable contraint X Y can be repreented a either a ucceor edge (Y ucc(x )) or a predeceor edge (X pred(y)). The choice i made 2 We aume throughout that contructor are non-trict. baed on a fixed total order o (generated randomly) on the variable. For a contraint X Y, the edge i tored a a ucceor edge on X if o(x ) > o(y), otherwie, it i tored a a predeceor edge on Y. Contraint of the form c(...) X are alway tored a predeceor edge on X, and contraint of the form X proj(c, i, e) are alway tored a ucceor edge on X. Given thee repreentation, the tranitive cloure rule for inductive form i a follow: L pred(x ) R ucc(x ) L R Thi rule, in conjunction with the reolution rule in Figure 3, produce a olved graph in inductive form. The advantage of inductive form i that many fewer tranitive edge are added in comparion to other graph repreentation [4]. Inductive form doe not explicitly compute the leat olution, but the leat olution i eaily calculated by doing backward-reachability on the contraint graph: S LS(Y) = {c(...) c(...) pred(y)} LS(X ) X pred(y ) Solution of Contraint Sytem We interpret et contraint under the term-et model [6]. In thi model, the olution to a ytem of et contraint map each et variable to a (poibly infinite) et of ground term uch that all incluion relation are atified. It turn out that each et variable decribe a regular tree language and the olved form of the contraint graph can be viewed a a collection of regular tree grammar. Each atomic contraint c(...) X in the olved form of the contraint ytem can be interpreted a a production in a tree grammar by treating it a a production X c(...). For example, conider the olved contraint ytem con(zero, X ) X nil X where zero and nil are nullary contructor, and con i a binary contructor. We ee that X decribe the et of all lit where every element i zero. The leat olution for X can be viewed a a tree language L(X ) whoe grammar i X con(zero, X) X nil 3. THE MELSKI-REPS REDUCTION In thi ection we review the reduction from CFL reachability to et contraint [12, 13]. Reader familiar with thi reduction may wih to kip thi ection. Again, we aume that the CFL grammar i normalized o that the right-hand ide of every production contain at mot two ymbol.

4 The contruction encode each node u in the initial CFL graph G with one et variable U, one nullary contructor n u and the contraint n u U In encoding the graph, the goal i to repreent an edge A u, v in the cloed graph by the preence of a term c A(V), where c A i a unary contructor correponding to ymbol A, in the leat olution of U. Accordingly, an initial edge of the form a u, v in G i captured by a contraint c a(v) U Thi complete the repreentation of the initial graph. The next tep of the reduction i to encode the production of the CFL grammar. Since edge are encoded a contructed term, the notion of following an edge i captured by projection. The left-hand ide of each production tell u which edge we hould add if we follow edge labeled by the righthand ide. For intance, a binary production of the form A B C ay that we hould add an A edge from node u to any node reached by following a B edge from u and then following a C edge. The et contraint that encode thi rule i For example, the CFL graph c A(c 1 C (c 1 B (U))) U u B u C v and the production A B C reult in a ytem of et contraint containing the following incluion relation: n u U c C(V) U c B(U ) U c A(c 1 C (c 1 B (U))) U Thee contraint imply the deired relationhip c A(n v) U, which repreent the edge A u, v. Note thee contraint only encode each production locally: imilar contraint mut be generated for every node in the graph. Beide binary production, production of the form A B and A ɛ may occur in the grammar. Production of the firt form are encoded locally for each node u by the contraint c A(c 1 B (U)) U repreenting the fact that any B edge from node u i alo an A edge. Finally, production of the form A ɛ are encoded locally for each node u by the contraint c A(U) U Correctne of the reduction i proved by howing there i an S-path from node u to node v in cloure(g) if and only if c S(n v) U i in the leat olution of the contructed ytem of contraint. 4. A SPECIALIZED DYCK REDUCTION Thi ection preent our reduction, which i pecialized to Dyck-CFL reachability problem. We firt explain the intuition behind our approach. We then decribe the pecific of the encoding, ketch a proof of correctne, and provide a complexity argument. Finally, we provide experimental O 1(X 1) proj(o 1, 1, Z 1) Y 1 Y 2 O 2(X 2) proj(o 2, 1, Z 2) Figure 4: The contraint graph correponding to the Dyck-CFL graph from Figure 2 uing the reduction from Section 4 reult uggeting that the pecialized reduction i more efficient in practice than the Melki-Rep reduction applied to Dyck-CFL grammar. The idea behind our reduction i that the et contraint cloure rule can encode Dyck language production. The intuition i traightforward: the rule S S S correpond to the tranitive cloure rule, and the rule S ( i S ) i correpond to matching contructed term with projection pattern. By encoding the original Dyck-CFL graph a a ytem of et contraint in a way that exploit thi correpondence, we can avoid encoding the production of the grammar at each node. Thi lead to a more natural and compact encoding of the input graph, and better performance in application where the number of parenthei kind (hence, the number of production) i not a contant. The firt tep of the encoding i unchanged. We repreent each node u with a variable U and a nullary contructor n u. We connect thee with contraint of the form n u U Edge are encoded o that ubet relationhip U V between variable in the contraint ytem repreent dicovered S u, v edge in the input graph. Since we are only conidering Dyck language, there are only three kind of labeled edge to conider: 1. For each u, v edge in the input graph, we add the contraint U V (where U and V are the variable correponding to node u and v). 2. For each ( i u, v edge in the input graph, we create a unary contructor O i and add the contraint O i(u) V. 3. For each ) i u, v edge in the input graph, we add the contraint U proj(o i, 1, V). Notice that there appear to be a light aymmetry in the reduction: edge labeled with ( i ymbol are encoded uing contructed term, while edge labeled with ) i ymbol are encoded uing projection. Naively, one might attempt to devie a ymmetric reduction by encoding an edge ) i u, v with a contraint U O i(v), making a correpondence between the production S ( i S ) i and the econd rule (not the third) in Figure 3. However, thi approach would yield an inconitent ytem of et contraint for any intereting graph. For example, the graph in Figure 2 would reult in a contraint ytem containing the contraint O 1(X 1) Y 1 Y 2 O 2(Z 2), which

5 Contraint New Contraint Production Edge New Edge X Y Y Z X Z S S S S x, y S y, z S x, z O i(x ) Y Y Z O i(x ) Z L i L i S L i x, y S y, z L i x, z X Y Y proj(o i, 1, Z) X proj(o i, 1, Z) R i S R i S x, y R i y, z R i x, z O i(x ) Y Y proj(o i, 1, Z) O i(x ) proj(o i, 1, Z) X Z S L i R i L i x, y R i y, z S x, z Table 1: Contraint added to C and the correponding edge in cloure(g) are clearly inconitent. We avoid thi problem by uing projection pattern to repreent ) i edge. Thu, the graph in Figure 2 reult in a contraint ytem containing O 1(X 1) Y 1 Y 2 proj(o 2, 1, Z 2), which i conitent. Thi contruction only introduce one contraint per node and one contraint per edge of the original CFL graph. In contrat, the reduction decribed in Section 3 introduce O(k) contraint per node (where k i the number of parenthei kind in the Dyck grammar) to encode the grammar production locally, in addition to the cot of encoding the graph edge. To olve the all-pair Dyck-CFL reachability problem, we apply the rewrite rule in Section 2.2 to the reulting contraint ytem. A we will how, there i an S-path from node u to v in the initial graph if and only if n u V in the leat olution of the contructed contraint ytem. Figure 4 how the contraint graph correponding to the Dyck-CFL reachability problem hown in Figure 2 uing thi reduction. The nullary contructor are omitted for clarity. 4.1 Correctne We ketch a proof of correctne for the pecialized reduction. The reduction i correct if the olution to the contructed et contraint problem give a olution to the original Dyck-CFL reachability problem. Theorem 1. Let G be an intance of the Dyck-CFL reachability problem, and C be the collection of et contraint contructed a above to repreent G. Then there i an edge S u, v in cloure(g) if and only if n u V i preent in LS(C). The theorem follow immediately from the following lemma: Lemma 1. Given C and G a in Theorem 1, let C denote the conjunction of C with the ytem of contraint introduced by applying the reolution rule hown in Figure 3 along with the tranitive cloure rule e X X e e e. Then there i an edge S u, v in cloure(g) if and only if U V i preent in C. Proof. We apply the et contraint reolution rule in lock-tep with the CFL cloure rule, and how that for every S-edge added to cloure(g), there i a correponding variable-variable contraint that can be added to C. Thi approach require u to normalize the Dyck-CFL grammar in a very pecific way: S S S S L i R i L i ( i L i L i S R i ) i R i S R i S S ɛ It i eay to ee that the above grammar derive the ame et of tring a the original Dyck-CFL grammar. The intuition here i that normalizing the Dyck-CFL grammar thi way caue the CFL cloure rule to add edge in exactly the ame way a the et contraint reolution rule. We now formalize thi intuition. Conider the following order for adding edge to cloure(g) and contraint to C : 1. Add all edge implied by the production S, S ɛ, R i ) i, and L i ( i. Note that there are only finitely many edge that can be added, and that they are all added in thi tep. 2. Add all edge implied by the production S S S, S L i R i, L i L i S, and R i S R i, and add the correponding contraint to C according to Table 1. In the firt tep, notice that the added S edge correpond to variable-variable edge that already exit in the initial ytem of contraint C (refer to the firt rule of the reduction in Section 4). In the econd tep, notice that for every S edge added to cloure(g), there are correponding contraint that mut exit in C that lead to the appropriate variable-variable contraint. Lemma 2. Given C and G a in Theorem 1, let C denote the conjunction of C with the ytem of contraint introduced by applying the reolution rule hown in Figure 3 along with the tranitive cloure rule e X X e e e. Then the contraint n u V implie the exitence of a contraint U V in C. Proof. Clearly, the rule in Figure 3 cannot add a contraint of the form n u V, o uch a contraint i either preent initially in C or it wa added to C by tranitive cloure. In the former cae, U = V and the lemma hold trivially. In the latter cae, we can how (by induction on the number of application of the tranitive cloure rule) that there are variable X 1,..., X n with n u U X 1... X n V preent in C. Then by the tranitive cloure rule, U V mut be preent in C. We now prove Theorem 1 uing the two lemma. To how that S u, v cloure(g) implie n u V i preent in C, we note that Lemma 1 guarantee the exitence of a contraint U V in C. Our contruction guarantee an initial contraint n u U, o by the tranitive cloure rule, n u V exit in C. To how that a contraint n u V in C implie S u, v cloure(g), we appeal to Lemma 2, which guarantee the exitence of a contraint U V in C. Appealing once again to Lemma 1, we have that S u, v cloure(g).

6 4.2 Complexity We firt dicu the running time to olve the all-pair Dyck-CFL reachability problem uing the generic CFL reachability algorithm outlined in Section 2.1. In general, the generic algorithm ha complexity O( T N 3 n 3 ). Applying thi reult directly to an intance of the Dyck-CFL problem with k parenthei kind and n graph node yield an O(k 3 n 3 ) running time. However, we can harpen thi reult by pecializing the complexity argument to the Dyck-CFL grammar. The running time of the generic CFL reachability algorithm i dominated by the firt rule in Figure 1. In thi tep, each edge in the graph might pair with each of it neighboring edge. In other word, for a given node j, each of j incoming edge might pair with each of j outgoing edge. Each node in the graph might have O(kn) edge labeled with ( i or ) i (there are k different kind, and n potential target node), a well a O(n) edge labeled with S. For node j, each of the O(kn) incoming edge may pair with O(n) outgoing edge, by a ingle production. Similarly, each of the O(n) incoming S edge can match with O(n) outgoing edge by the ingle S S S production. Thu, the work for each node j i bounded by O(kn 2 ). Since there are n node in the graph, the total work i O(kn 3 ). An analogou argument hold for our reduction. For the fragment of et contraint ued in thi paper, a contraint ytem C can be olved in time O(v 2 C ) where v i the number of variable in C and C i the number of contraint in C. Given an intance of the Dyck-CFL problem with k parenthei kind and n node, our reduction yield a contraint ytem with O(n) variable and O(kn 2 ) contraint, yielding an O(kn 4 ) running time. Again, a more precie running time can be achieved by noting that for a given variable node i in the contraint graph, the rule in Figure 3 can apply only O(kn 2 ) time to pair of i upper and lower bound. In an n node graph, then, the total work i O(kn 3 ). 4.3 Empirical Comparion We have implemented both the Melki-Rep reduction and our reduction in order to compare the two approache. Both implementation ued the banhee toolkit a the underlying et contraint olver [11]. Our implementation of the Melki- Rep reduction ue the following normalized form of the Dyck-CFL grammar: S S S S L i ) i L i ( i S S S ɛ We ran both implementation on randomly generated graph. To tet correctne, we checked that both implementation gave conitent anwer to random reachability querie. We found that our implementation of the Melki- Rep reduction did not cale to large graph, even when the number of parenthei kind wa kept mall. For example, on a 500 node graph with 7500 edge and 20 parenthei kind, the Melki-Rep implementation computed the graph cloure in 45 econd, while our reduction completed in le than 1 econd. Thi prevented u from teting the Melki- Rep approach on real application: we tried the implementation on the benchmark in our cae tudy (ee Section 5) but found that none finihed within 10 minute. 5. CASE STUDY: POLYMORPHIC FLOW ANALYSIS Flow analyi tatically etimate creation, ue, and flow of value in a program [14]. Problem uch a computing may-alia relationhip, determining receiver cla information, and reolving control flow in the preence of indirect function call can be olved uing flow analyi. A with mot tatic analye, flow analyi can be made more precie by treating function polymorphically. Polymorphic flow analyi eliminate puriou flow path that arie from conflating all call ite of a function. Recent work ha etablihed a connection between typebaed polymorphic flow analyi and CFL reachability [15]. A an alternative to contraint copying, ytem of intantiation contraint are reduced to a CFL graph. The flow relation i decribed by a Dyck-CFL grammar, hence, the problem of finding the flow of value in the input program reduce to an all-pair Dyck-CFL reachability problem. In thi ection, we apply our technique to the problem of polymorphic flow analyi. For concretene, we conider the pecific problem of polymorphic tainting analyi [20]. In tainting analyi, we are intereted in checking whether any value poibly under adverarial control can flow to function that expect truted data. A a trivial example, conider the following code: int main(void) { char *buf; buf = read from network(); exec(buf); } The call exec(buf) i probably not afe, ince the buffer may come from a maliciou or untruted ource. The particular tainting analyi we ue employ type qualifier to olve thi problem [5]. Briefly, we can detect error like the example hown above by introducing two type qualifier tainted and untainted. Data that may come from an untruted ource i given the type qualifier tainted, and data that mut be truted i given the type qualifier untainted. A type error i produced whenever a tainted value flow to a place that mut be untainted. Figure 5 illutrate the connection between polymorphic tainting analyi and CFL reachability with another mall program. There are two call to the identity function id. At the firt call ite, id i paed tainted data. At the econd call ite, id i paed untainted data. The variable z2 i required to be untainted. Monomorphic flow analyi would conflate the two call ite, leading to a puriou error (namely, that tainted data from variable x1 reache the untainted variable z2). Polymorphic flow analyi can ditinguih thee two call ite, eliminating the puriou error. The flow graph in Figure 5 how the connection to Dyck-CFL reachability: each function call ite i labeled with a ditinct index. The flow from an actual parameter to a formal at call ite i i denoted by an edge labeled ( i. The flow correponding to the return value of the function i denoted by an edge labeled ) i. Intraprocedural aignment i denoted by edge. In thi example, the puriou flow path between x 1 and z 2 correpond to a path whoe word i ( 1 ) 2, which i not in the Dyck language. In the remainder of thi ection, we dicu how to extend

7 int id(int y1) { int y2 = y1; return y2; } int main(void) { tainted int x1; int z1,x2; untainted int z2; z1 = id(x1); // call ite 1 z2 = id(x2); // call ite 2 } tainted x 1 z 1 ( 1 ) 1 y 1 y 2 ( ) 2 2 x 2 z 2 untainted Figure 5: Example C program and the correponding Dyck-CFL reachability problem our technique to olve polymorphic flow analyi problem. We alo dicu ome optimization that improve the performance of our reduction on polymorphic flow graph. We conclude with an experimental aement of our approach on a et of C benchmark. 5.1 Extenion It turn out that imple Dyck-CFL reachability in t quite ufficient for mot polymorphic flow analyi application. In thi ection, we dicu two additional apect of the problem that required u to extend our technique PN Reachability The firt problem i that Dyck-CFL reachability fail to capture many of the valid flow path. Beide the matched reachability path repreented by Dyck language, certain kind of partially matched reachability alo repreent valid flow. For example, in the graph hown in Figure 5, there hould be a valid flow path from the tainted qualifier to the node y 2, ince it i poible for y2 to contain a tainted integer at runtime. However, there i no S path between tainted and y 2. Thi iue alo arie in other application uch a interprocedural dataflow analyi. The conceptual olution to thi problem i to add production to the Dyck grammar that admit thee additional partially matched path. For our application, it turn out that we hould admit all path generated by the following grammar (ee [15]): Start P N P S P ) i P ɛ N S N ( i N ɛ S ( i S ) i S S ɛ Intuitively, thi grammar accept any ubtring of a tring in a Dyck language: P path correpond to prefixe of Dyck tring, and N path correpond to uffixe of Dyck tring. Since our reduction (unlike the Melki-Rep reduction) i pecialized to Dyck language, it i not immediately obviou that we can modify our approach to accept exactly the tring in the above language. Fortunately, it turn out that we can handle thee additional flow path without fundamentally changing our reduction. We eparate the problem into three ubproblem. Firt, we tackle the problem of admitting N path (open-paren uffixe) within our reduction. Second, we tackle the problem of admitting P path (cloeparen prefixe) within our reduction. Finally, we combine the two olution and handle the above language in it full generality. We firt conider the problem of finding N path in the ytem of contraint produced by our reduction. Suppoe we ak whether there i an N path between node u and v. To anwer thi query, we firt recall that the leat olution of a et variable i a regular tree language. Let L(V) denote the language correponding to the leat olution of V. Now conider the following tree language LN u: N n u O i(n) We claim (without proof) that there i an N path in the cloed graph between node u and v if and only if the interection of LN u and L(V) i non-empty. To ee why, recall that edge of the form ( i u, v are repreented by contraint O i(u) V in our reduction while edge of the form S u, v are repreented by contraint U V. Then an N path between node u and v i indicated by the preence of a term of the form O i(... O j(n u)) in the leat olution of V. The language LN u generate exactly the term of thi form, o if L(V) LN u i non-empty, there i at leat one uch term in the leat olution of V, hence, there i an N path from u to v. A a imple example, conider the following CFL graph: u ( i x y ( j v and uppoe we ak whether there i an N path from node u to node v. Our reduction yield a contraint ytem which include the following contraint: n u U O i(u) X X Y O j(y) V Note that L(V) contain the term O j(o i(n u)), which i alo an element of LN u, indicating that there i an N path from u to v. We now conider the problem of finding P path in the ytem of contraint produced by our reduction. The technique i eentially the ame a with finding N path. There

8 i one wrinkle, however: the ) i edge that form P path are repreented a projection in the contraint ytem. There i no term repreentation of a ) i edge a there i with a ( i edge. The olution i traightforward: we imply add a term repreentation for thee edge. We modify the reduction o that for each edge of the form ) i u, v, we alo add the contraint p(u) V (where p i a new unary contructor) to the ytem. Note that there i only one p contructor ued for all indexed ) i ymbol. Thi i becaue the indice of the ) i ymbol are irrelevant to the P path. Now, to check for P path between node u and v, we imply check the non-emptine of the interection of L(V) with the following language LP u: P n u p(p ) Finally, to check for P N path from u to v, we combine the above two olution, and check the non-emptine of L(V) LP N u, where LP N u i defined a follow: N P O i(n) P n u p(p ) Note that thi language conit of term of the form O i(... O j(p(... p(n u)))) which preciely characterize the P N path. In practice, we do not actually build a tree automata recognizing the language LP N u to compute the interection. Intead, to check for a P N path from node u to node v, we travere the term in the leat olution of V, earching for n u. We prune the earch when the expanded term i no longer in the language LP N u or when a cycle i found. Since our implementation applie the rule in Figure 3 online, thi divide our algorithm into two phae: an exhautive phae where all S path are dicovered, and a demand-driven phae where P N path are dicovered a reachability querie are aked 3. The approach outlined in thi ection can be generalized. The idea apply to any regular language reachability problem compoed with a Dyck language reachability problem. In general, let G be an intance of the Dyck-language reachability problem with alphabet O C, and R be a regular language with alphabet A ɛ. Alphabet A need not be dijoint from O C, but the ymbol and S in the Dyck language mut be interpreted a ɛ in the regular language. The all-pair compoed reachability problem over D and G determine the et of vertice (u, v) uch that there i a path in the language R from u to v in cloure(g). Viewing the P N grammar in thi etting, the P production correpond to the regular language ) i, the N production correpond to the regular language ( i, and the regular language R i ) i ( i. The approach outlined previouly olve the all-pair compoed reachability problem: the contraint olver eliminate the Dyck language problem, leaving a regular language reachability problem that can be olved on demand by exploring the leat olution of the contraint a decribed above. 3 A completely demand-driven algorithm could be implemented uing the approach of [7]. x 1 z 1 ( 1 ) 1 y 1 y k 1 y k x n ( n ) n z n Figure 6: The ummary edge optimization Global Node Another problem we face i that global variable in language uch a C mut be treated pecially to dicover all the valid flow path. The problem i that aignment to global variable can flow to any context, ince global torage can be acceed at any program point. Conceptually, node correponding to global variable hould have elf-loop labeled ) i for every index i that may appear elewhere in the graph. Thi olution eentially treat global monomorphically (ee [3] for a more complete dicuion). While thi olution i imple and eay to implement, in practice it i too expenive to repreent thee edge explicitly. With an explicit repreentation, each global variable upper bound may be proportional to the ize of the input program. Explicitly contructing thi lit i prohibitively expenive: with an explicit repreentation of elf-edge, our implementation did not finih after 10 minute on even the mallet benchmark. We olved thi problem by adding a new feature to the contraint olver. The added feature ha a imple interpretation, and may prove ueful in other context. We introduce contructor group, which are imply uer-pecified et of contructor. The element of a contructor group mut all have the ame arity. Once a contructor group g i defined, a pecial kind of projection pattern called a group projection pattern can be created. A group projection pattern gproj(g, i, e) ha eentially the ame emantic a a projection pattern, except that intead of pecifying a ingle contructor, an entire group i pecified. The new rule for handling group projection are a follow: C {c(e 1,..., e a(c) ) gproj(g, i, e)} C {e i e} if c g C {c(e 1,..., e a(c) ) gproj(g, i, e)} C if c / g Contructor group provide u with a way to conciely repreent collection of imilar projection pattern. To handle global node, we add each O i contructor to a new group g O. For each global node u, we add the contraint U gproj(g O, 1, U) which imulate the addition of elf loop ) i for each index i in the graph. 5.2 Optimization In thi ubection, we dicu ome optimization for polymorphic flow analyi application Summary Edge The CFL graph that arie in thi application have a particular tructure that can be exploited to eliminate redun-

9 O 1(X 1) proj(o 1, 1, Z 1) Y 1 Y k 1 Y k O n(x n) proj(o n, 1, Z n) (a) proj(o, 1, Z 1) O(X 1,..., X n) Y 1 Y k 1 Y k proj(o, n, Z n) (b) Figure 7: Edge added by the et contraint olver for the graph in Figure 6 uing (a) the tandard reduction and (b) the reduction with the clutering optimization dant work during the computation of the graph cloure. An exemplar of thi tructure i hown in Figure 6. There are two important feature of thi graph that we exploit. Firt, there i a long chain of node y 2,..., y k 1, none of which contain edge other than -edge. Second, the node y 1 and y k have a large number of predeceor ( i edge and ucceor ) i edge, repectively. Thi ituation arie frequently in polymorphic flow analyi application: the x i node repreent the inflow of actual argument to the formal argument y 1 at call ite, and the z i node repreent the outflow of return value back to call ite from the returned value y k. The trick i to dicover all the S x i, z i path with a little redundant work a poible. To find thee edge, the generic CFL algorithm dicued in Section 2.1 would add a total of nk new edge from each of the x i to each of the y j. Conceptually, thi correpond to analyzing the function body once per tatic call ite. One way to avoid thi redundant work i to contruct a o-called ummary edge after analyzing the chain of y node once [10]. Thi optimization work a follow: the firt path explored from an x i node trigger a new earch forward from node y 1. Analyzing the chain of y node caue k 1 edge addition from y 1 to each of the remaining y i. When the edge S y 1, y k i finally dicovered, it i marked a a ummary edge, and y 1 i marked a having a ummary edge. When earching forward for new path from the other x i node, the ummary edge S y 1, y k i ued, avoiding repeated analyi of the y chain. In total, the ummary edge approach add a total of n + k 1 new edge to dicover the S x i, z i edge. Conceptually, the ummary edge approach correpond to analyzing a function body once, and copying the ummarized flow to each call ite. The dahed edge in Figure 6 how the edge added by a cloure algorithm with the ummary edge optimization. Our reduction a decribed may perform the ame work a the naive CFL cloure algorithm on thi example. Figure 7(a) how the wort-cae edge addition performed on thi example in inductive form. In inductive form, the number of edge addition depend on the ordering of the Y i variable. In the wort cae, the variable ordering might caue inductive form to repreent all variable-variable edge a a ucceor edge (i.e. if o(y i) > o(y i+1) for every i in the chain). On the other hand, if the ordering i uch that ome of the variable-variable edge are repreented a predeceor edge, inductive form can reduce the number of edge addition. Under the bet variable ordering, inductive form add the ame number of edge a the ummary edge optimization. It i alo poible to modify the reduction o that the number of edge addition i minimized regardle of the variable ordering. The key i to cluter the variable correponding to the x i node into a ingle n-ary contructed term intead of n unary contructed term. The indice can be encoded by the poition within the contructed term: for intance, the ith ubterm repreent the ource end of an edge labeled ( i. Our repreentation of ) i edge i modified a well, o that, e.g., the contraint U proj(o, i, V) repreent an edge ) i u, v. Figure 7(b) how the effect of the clutering optimization on the ame example graph. The net effect of thi optimization i the ame a with ummary edge: the edge S x i, z i are dicovered with the addition of at mot n + k 1 edge intead of nk edge. With ome work, thi reduction can be extended to handle PN-reachability and global node, though we omit the detail here Cycle Elimination One advantage of our reduction i that it preerve the tructure of the input graph in a way that the Melki-Rep reduction doe not. The contraint graph produced by our reduction are iomorphic (modulo the repreentation of edge) to the original CFL graph. In fact, the connection i o cloe that cycle elimination, one of the key optimization ued in et contraint algorithm, i revealed to have an interpretation in the Dyck-CFL reachability problem. Cycle elimination exploit the fact that variable involved in cyclic contraint (contraint of the form X 1 X 2 X 3... X n X 1) are equal in all olution, and thu can be collaped into a ingle variable. By revering our reduction,

10 we ee that cyclic contraint correpond to cycle of the form: x 1 x 2... x n x 1 in the Dyck-CFL graph. The correponding et variable are equivalent in all olution; the CFL notion i that any node reaching one of the x i node reache every x i node becaue we can alway concatenate additional terminal onto any word in the language and till derive a valid S-path. Hence, all the x i in the CFL graph can be collaped and treated a a ingle node. Note that the Melki-Rep reduction doe not preerve uch cycle: their reduction applied to CFL graph hown above produce contraint of the form (X i) X i 1 which do not expoe a cyclic contraint for cycle elimination to implify. We validate thee obervation experimentally in Section 5.3 by howing the effect of partial online cycle elimination [4] on our implementation. 5.3 Experimental Reult In thi ection we compare an implementation of the reduction in Section 4 to a hand-written Dyck-CFL reachability implementation by Robert Johnon, which i baed on an algorithm decribed in [10]. Johnon implementation i cutomized to the polymorphic qualifier inference problem, and contain optimization (including ummary edge) that exploit the particular tructure of the graph that arie in thi application. Our implementation ue the banhee analyi toolkit a the underlying et contraint olver [11]. We implemented the extenion for PN-reachability and global node a decribed in Section 5.1. In addition, all of the optimization decribed in Section 5.2 are part of our implementation: we upport clutering, and the banhee toolkit ue inductive form and enable cycle elimination by default. We ued the C benchmark program hown in Table 2 for our experiment. For each benchmark, the table lit the number of line of code in the original ource, the number of pre-proceed line of code, the number of ditinct node in the CFL graph, the number of edge in the CFL graph, and the number of ditinct indice (recall that thi number correpond to the number of function call ite). All experiment were performed on a dual-proceor 550 MHz Pentium III with 2GB of memory running RedHat We ran CQual to generate a Dyck-CFL graph, and computed the cloure of that graph uing Johnon Dyck-CFL reachability implementation and our own. We alo ran our implementation with the clutering optimization enabled. Table 2 how the analyi time (in econd) for each experiment. The analyi time alo include the time for CQual to pare the code and build the initial graph. Column 7 how the time required for our implementation without cycle elimination. Column 8 how time for the ame implementation with partial online cycle elimination enabled. Column 9 how time with cycle elimination and the clutering optimization. Finally, column 10 how the time for Johnon implementation, which act a the gold tandard. Figure 8 plot the analyi time for our implementation, normalized to Johnon implementation. The reult how that our implementation exhibit the ame caling behavior 4 Though only one proceor wa actually ued. Analyi Time (Johnon = 1.0) Reult for the tainted/untainted experi- Figure 8: ment Ratio (no cycle-elim/cycle-elim) Preproceed LOC +cycle elim +clutering Preproceed LOC Figure 9: Speedup due to cycle elimination a Johnon. In all the benchmark except one, the analyi time for our implementation remain within a factor of two of Johnon implementation. Becaue pare time i a contant for all the implementation, factoring it out doe have an affect on thee ratio; however, we found that pare time account for a mall fraction of the total analyi time. The clutering optimization improved a few benchmark ignificantly, but did not eem to improve calability overall. Figure 9 compare the performance of our implementation (no clutering) with and without cycle elimination. We found that our benchmark ran up to 40 time fater with cycle elimination enabled. Thee reult ugget that online cycle elimination could be incorporated into the tandard algorithm for Dyck-CFL reachability, an idea that ha been implicitly uggeted before [8]. 6. RELATED WORK We view our work a a practical follow-up to Melki and Rep work, which how that et contraint and CFL reachability are interconvertible [12, 13]. Our approach expand on the connection between Dyck-CFL reachability and et contraint, and illutrate the practical conequence of that connection. Many reearcher have formulated program analye a CFL reachability problem. The author firt became aware of the connection from work by Rep et al., who formulated

11 Benchmark LOC Preproc Node Edge Indice banhee() + cycle elim() + cluter() johnon() identd mingetty bftpd woman-3.0a patch m muh-2.05d diffutil uucp mar nwe imapd-4.7c ipopd-4.7c endmail proftpd-1.20pre backup-cffixed apache cfengine Table 2: Benchmark data for all experiment interprocedural dataflow analyi a a Dyck-CFL graph, and introduced an algorithm to anwer the all-pair reachability problem for thee graph [18]. Follow-up work introduced a demand-driven algorithm for olving thi problem [10]. Many implementation of Dyck-CFL reachability are baed on thi algorithm. Rehof et al. how how to ue CFL reachability a an implementation technique for polymorphic flow analyi [15]. CFL reachability i ued a an alternative to repeated copying and implification of ytem of intantiation contraint. The firt application of Rehof et al. work wa to polymorphic point-to analyi [3]. Other application of Dyck-CFL reachability include field-enitive point-to analyi, hape analyi [16], interprocedural licing [9], and debugging ytem of unification contraint [2]. 7. CONCLUSION We have hown a reduction from Dyck-CFL reachability to et contraint, and hown that our technique can be applied in practice to the CFL reachability problem that arie in program analye. Acknowledgment We would like to thank Robert Johnon for providing u with hi implementation of CFL reachability, and David Melki, Tom Rep, and the anonymou reviewer for their helpful comment and uggetion. 8. REFERENCES [1] A. Aiken and E. L. Wimmer. Solving Sytem of Set Contraint. In Proceeding, Seventh Annual IEEE Sympoium on Logic in Computer Science, page , Santa Cruz, California, June [2] V. Choppella and C. T. Hayne. Source-tracking Unification. In F. Baader, editor, Automated Deduction - CADE-19, 19th International Conference on Automated Deduction Miami Beach, FL, USA, July 28 - Augut 2, 2003, Proceeding, volume 2741 of Lecture Note in Computer Science, page Springer, [3] M. Da, B. Liblit, M. Fähndrich, and J. Rehof. Etimating the Impact of Scalable Pointer Analyi on Optimization. In SAS 01: The 8th International Static Analyi Sympoium, Lecture Note in Computer Science, Pari, France, July Springer-Verlag. [4] M. Fähndrich, J. S. Foter, Z. Su, and A. Aiken. Partial Online Cycle Elimination in Incluion Contraint Graph. In Proceeding of the 1998 ACM SIGPLAN Conference on Programming Language Deign and Implementation, page 85 96, Montreal, Canada, June [5] J. S. Foter, M. Fähndrich, and A. Aiken. A Theory of Type Qualifier. In Proceeding of the 1999 ACM SIGPLAN Conference on Programming Language Deign and Implementation, page , Atlanta, Georgia, May [6] N. Heintze. Set Baed Program Analyi. PhD diertation, Carnegie Mellon Univerity, Department of Computer Science, Oct [7] N. Heintze and O. Tardieu. Demand-driven Pointer Analyi. In SIGPLAN Conference on Programming Language Deign and Implementation, page 24 34, [8] N. Heintze and O. Tardieu. Ultra-fat Aliaing Analyi Uing CLA: A Million Line of C Code in a Second. In SIGPLAN Conference on Programming Language Deign and Implementation, page , [9] S. Horwitz, T. Rep, and D. Binkley. Interprocedural Slicing Uing Dependence Graph. ACM Tranaction on Programming Language and Sytem, 12(1):26 60, [10] S. Horwitz, T. Rep, and M. Sagiv. Demand Interprocedural Dataflow Analyi. In Proceeding of the 3rd ACM SIGSOFT Sympoium on Foundation of Software Engineering, page ACM Pre, [11] J. Kodumal. BANSHEE: A Toolkit for Building

Lecture 14: Minimum Spanning Tree I

Lecture 14: Minimum Spanning Tree I COMPSCI 0: Deign and Analyi of Algorithm October 4, 07 Lecture 4: Minimum Spanning Tree I Lecturer: Rong Ge Scribe: Fred Zhang Overview Thi lecture we finih our dicuion of the hortet path problem and introduce

More information

Shortest Paths Problem. CS 362, Lecture 20. Today s Outline. Negative Weights

Shortest Paths Problem. CS 362, Lecture 20. Today s Outline. Negative Weights Shortet Path Problem CS 6, Lecture Jared Saia Univerity of New Mexico Another intereting problem for graph i that of finding hortet path Aume we are given a weighted directed graph G = (V, E) with two

More information

Topics. Lecture 37: Global Optimization. Issues. A Simple Example: Copy Propagation X := 3 B > 0 Y := 0 X := 4 Y := Z + W A := 2 * 3X

Topics. Lecture 37: Global Optimization. Issues. A Simple Example: Copy Propagation X := 3 B > 0 Y := 0 X := 4 Y := Z + W A := 2 * 3X Lecture 37: Global Optimization [Adapted from note by R. Bodik and G. Necula] Topic Global optimization refer to program optimization that encompa multiple baic block in a function. (I have ued the term

More information

Lecture Outline. Global flow analysis. Global Optimization. Global constant propagation. Liveness analysis. Local Optimization. Global Optimization

Lecture Outline. Global flow analysis. Global Optimization. Global constant propagation. Liveness analysis. Local Optimization. Global Optimization Lecture Outline Global flow analyi Global Optimization Global contant propagation Livene analyi Adapted from Lecture by Prof. Alex Aiken and George Necula (UCB) CS781(Praad) L27OP 1 CS781(Praad) L27OP

More information

Today s Outline. CS 561, Lecture 23. Negative Weights. Shortest Paths Problem. The presence of a negative cycle might mean that there is

Today s Outline. CS 561, Lecture 23. Negative Weights. Shortest Paths Problem. The presence of a negative cycle might mean that there is Today Outline CS 56, Lecture Jared Saia Univerity of New Mexico The path that can be trodden i not the enduring and unchanging Path. The name that can be named i not the enduring and unchanging Name. -

More information

Routing Definition 4.1

Routing Definition 4.1 4 Routing So far, we have only looked at network without dealing with the iue of how to end information in them from one node to another The problem of ending information in a network i known a routing

More information

A SIMPLE IMPERATIVE LANGUAGE THE STORE FUNCTION NON-TERMINATING COMMANDS

A SIMPLE IMPERATIVE LANGUAGE THE STORE FUNCTION NON-TERMINATING COMMANDS A SIMPLE IMPERATIVE LANGUAGE Eventually we will preent the emantic of a full-blown language, with declaration, type and looping. However, there are many complication, o we will build up lowly. Our firt

More information

Delaunay Triangulation: Incremental Construction

Delaunay Triangulation: Incremental Construction Chapter 6 Delaunay Triangulation: Incremental Contruction In the lat lecture, we have learned about the Lawon ip algorithm that compute a Delaunay triangulation of a given n-point et P R 2 with O(n 2 )

More information

3D SMAP Algorithm. April 11, 2012

3D SMAP Algorithm. April 11, 2012 3D SMAP Algorithm April 11, 2012 Baed on the original SMAP paper [1]. Thi report extend the tructure of MSRF into 3D. The prior ditribution i modified to atify the MRF property. In addition, an iterative

More information

MAT 155: Describing, Exploring, and Comparing Data Page 1 of NotesCh2-3.doc

MAT 155: Describing, Exploring, and Comparing Data Page 1 of NotesCh2-3.doc MAT 155: Decribing, Exploring, and Comparing Data Page 1 of 8 001-oteCh-3.doc ote for Chapter Summarizing and Graphing Data Chapter 3 Decribing, Exploring, and Comparing Data Frequency Ditribution, Graphic

More information

A note on degenerate and spectrally degenerate graphs

A note on degenerate and spectrally degenerate graphs A note on degenerate and pectrally degenerate graph Noga Alon Abtract A graph G i called pectrally d-degenerate if the larget eigenvalue of each ubgraph of it with maximum degree D i at mot dd. We prove

More information

1 The secretary problem

1 The secretary problem Thi i new material: if you ee error, pleae email jtyu at tanford dot edu 1 The ecretary problem We will tart by analyzing the expected runtime of an algorithm, a you will be expected to do on your homework.

More information

Minimum congestion spanning trees in bipartite and random graphs

Minimum congestion spanning trees in bipartite and random graphs Minimum congetion panning tree in bipartite and random graph M.I. Otrovkii Department of Mathematic and Computer Science St. John Univerity 8000 Utopia Parkway Queen, NY 11439, USA e-mail: otrovm@tjohn.edu

More information

Universität Augsburg. Institut für Informatik. Approximating Optimal Visual Sensor Placement. E. Hörster, R. Lienhart.

Universität Augsburg. Institut für Informatik. Approximating Optimal Visual Sensor Placement. E. Hörster, R. Lienhart. Univerität Augburg à ÊÇÅÍÆ ËÀǼ Approximating Optimal Viual Senor Placement E. Hörter, R. Lienhart Report 2006-01 Januar 2006 Intitut für Informatik D-86135 Augburg Copyright c E. Hörter, R. Lienhart Intitut

More information

Operational Semantics Class notes for a lecture given by Mooly Sagiv Tel Aviv University 24/5/2007 By Roy Ganor and Uri Juhasz

Operational Semantics Class notes for a lecture given by Mooly Sagiv Tel Aviv University 24/5/2007 By Roy Ganor and Uri Juhasz Operational emantic Page Operational emantic Cla note for a lecture given by Mooly agiv Tel Aviv Univerity 4/5/7 By Roy Ganor and Uri Juhaz Reference emantic with Application, H. Nielon and F. Nielon,

More information

arxiv: v1 [cs.ds] 27 Feb 2018

arxiv: v1 [cs.ds] 27 Feb 2018 Incremental Strong Connectivity and 2-Connectivity in Directed Graph Louka Georgiadi 1, Giueppe F. Italiano 2, and Niko Parotidi 2 arxiv:1802.10189v1 [c.ds] 27 Feb 2018 1 Univerity of Ioannina, Greece.

More information

DAROS: Distributed User-Server Assignment And Replication For Online Social Networking Applications

DAROS: Distributed User-Server Assignment And Replication For Online Social Networking Applications DAROS: Ditributed Uer-Server Aignment And Replication For Online Social Networking Application Thuan Duong-Ba School of EECS Oregon State Univerity Corvalli, OR 97330, USA Email: duongba@eec.oregontate.edu

More information

Generic Traverse. CS 362, Lecture 19. DFS and BFS. Today s Outline

Generic Traverse. CS 362, Lecture 19. DFS and BFS. Today s Outline Generic Travere CS 62, Lecture 9 Jared Saia Univerity of New Mexico Travere(){ put (nil,) in bag; while (the bag i not empty){ take ome edge (p,v) from the bag if (v i unmarked) mark v; parent(v) = p;

More information

xy-monotone path existence queries in a rectilinear environment

xy-monotone path existence queries in a rectilinear environment CCCG 2012, Charlottetown, P.E.I., Augut 8 10, 2012 xy-monotone path exitence querie in a rectilinear environment Gregory Bint Anil Mahehwari Michiel Smid Abtract Given a planar environment coniting of

More information

Chapter S:II (continued)

Chapter S:II (continued) Chapter S:II (continued) II. Baic Search Algorithm Sytematic Search Graph Theory Baic State Space Search Depth-Firt Search Backtracking Breadth-Firt Search Uniform-Cot Search AND-OR Graph Baic Depth-Firt

More information

On successive packing approach to multidimensional (M-D) interleaving

On successive packing approach to multidimensional (M-D) interleaving On ucceive packing approach to multidimenional (M-D) interleaving Xi Min Zhang Yun Q. hi ankar Bau Abtract We propoe an interleaving cheme for multidimenional (M-D) interleaving. To achieved by uing a

More information

SIMIT 7. Component Type Editor (CTE) User manual. Siemens Industrial

SIMIT 7. Component Type Editor (CTE) User manual. Siemens Industrial SIMIT 7 Component Type Editor (CTE) Uer manual Siemen Indutrial Edition January 2013 Siemen offer imulation oftware to plan, imulate and optimize plant and machine. The imulation- and optimizationreult

More information

Karen L. Collins. Wesleyan University. Middletown, CT and. Mark Hovey MIT. Cambridge, MA Abstract

Karen L. Collins. Wesleyan University. Middletown, CT and. Mark Hovey MIT. Cambridge, MA Abstract Mot Graph are Edge-Cordial Karen L. Collin Dept. of Mathematic Weleyan Univerity Middletown, CT 6457 and Mark Hovey Dept. of Mathematic MIT Cambridge, MA 239 Abtract We extend the definition of edge-cordial

More information

Laboratory Exercise 6

Laboratory Exercise 6 Laboratory Exercie 6 Adder, Subtractor, and Multiplier The purpoe of thi exercie i to examine arithmetic circuit that add, ubtract, and multiply number. Each type of circuit will be implemented in two

More information

CERIAS Tech Report EFFICIENT PARALLEL ALGORITHMS FOR PLANAR st-graphs. by Mikhail J. Atallah, Danny Z. Chen, and Ovidiu Daescu

CERIAS Tech Report EFFICIENT PARALLEL ALGORITHMS FOR PLANAR st-graphs. by Mikhail J. Atallah, Danny Z. Chen, and Ovidiu Daescu CERIAS Tech Report 2003-15 EFFICIENT PARALLEL ALGORITHMS FOR PLANAR t-graphs by Mikhail J. Atallah, Danny Z. Chen, and Ovidiu Daecu Center for Education and Reearch in Information Aurance and Security,

More information

Stochastic Search and Graph Techniques for MCM Path Planning Christine D. Piatko, Christopher P. Diehl, Paul McNamee, Cheryl Resch and I-Jeng Wang

Stochastic Search and Graph Techniques for MCM Path Planning Christine D. Piatko, Christopher P. Diehl, Paul McNamee, Cheryl Resch and I-Jeng Wang Stochatic Search and Graph Technique for MCM Path Planning Chritine D. Piatko, Chritopher P. Diehl, Paul McNamee, Cheryl Rech and I-Jeng Wang The John Hopkin Univerity Applied Phyic Laboratory, Laurel,

More information

Contents. shortest paths. Notation. Shortest path problem. Applications. Algorithms and Networks 2010/2011. In the entire course:

Contents. shortest paths. Notation. Shortest path problem. Applications. Algorithms and Networks 2010/2011. In the entire course: Content Shortet path Algorithm and Network 21/211 The hortet path problem: Statement Verion Application Algorithm (for ingle ource p problem) Reminder: relaxation, Dijktra, Variant of Dijktra, Bellman-Ford,

More information

An Intro to LP and the Simplex Algorithm. Primal Simplex

An Intro to LP and the Simplex Algorithm. Primal Simplex An Intro to LP and the Simplex Algorithm Primal Simplex Linear programming i contrained minimization of a linear objective over a olution pace defined by linear contraint: min cx Ax b l x u A i an m n

More information

Edits in Xylia Validity Preserving Editing of XML Documents

Edits in Xylia Validity Preserving Editing of XML Documents dit in Xylia Validity Preerving diting of XML Document Pouria Shaker, Theodore S. Norvell, and Denni K. Peter Faculty of ngineering and Applied Science, Memorial Univerity of Newfoundland, St. John, NFLD,

More information

Cutting Stock by Iterated Matching. Andreas Fritsch, Oliver Vornberger. University of Osnabruck. D Osnabruck.

Cutting Stock by Iterated Matching. Andreas Fritsch, Oliver Vornberger. University of Osnabruck. D Osnabruck. Cutting Stock by Iterated Matching Andrea Fritch, Oliver Vornberger Univerity of Onabruck Dept of Math/Computer Science D-4909 Onabruck andy@informatikuni-onabrueckde Abtract The combinatorial optimization

More information

How to. write a paper. The basics writing a solid paper Different communities/different standards Common errors

How to. write a paper. The basics writing a solid paper Different communities/different standards Common errors How to write a paper The baic writing a olid paper Different communitie/different tandard Common error Reource Raibert eay My grammar point Article on a v. the Bug in writing Clarity Goal Conciene Calling

More information

LinkGuide: Towards a Better Collection of Hyperlinks in a Website Homepage

LinkGuide: Towards a Better Collection of Hyperlinks in a Website Homepage Proceeding of the World Congre on Engineering 2007 Vol I LinkGuide: Toward a Better Collection of Hyperlink in a Webite Homepage A. Ammari and V. Zharkova chool of Informatic, Univerity of Bradford anammari@bradford.ac.uk,

More information

Temporal Abstract Interpretation. To have a continuum of program analysis techniques ranging from model-checking to static analysis.

Temporal Abstract Interpretation. To have a continuum of program analysis techniques ranging from model-checking to static analysis. Temporal Abtract Interpretation Patrick COUSOT DI, École normale upérieure 45 rue d Ulm 75230 Pari cedex 05, France mailto:patrick.couot@en.fr http://www.di.en.fr/ couot and Radhia COUSOT LIX École polytechnique

More information

Shortest Paths with Single-Point Visibility Constraint

Shortest Paths with Single-Point Visibility Constraint Shortet Path with Single-Point Viibility Contraint Ramtin Khoravi Mohammad Ghodi Department of Computer Engineering Sharif Univerity of Technology Abtract Thi paper tudie the problem of finding a hortet

More information

A Fast Association Rule Algorithm Based On Bitmap and Granular Computing

A Fast Association Rule Algorithm Based On Bitmap and Granular Computing A Fat Aociation Rule Algorithm Baed On Bitmap and Granular Computing T.Y.Lin Xiaohua Hu Eric Louie Dept. of Computer Science College of Information Science IBM Almaden Reearch Center San Joe State Univerity

More information

The Association of System Performance Professionals

The Association of System Performance Professionals The Aociation of Sytem Performance Profeional The Computer Meaurement Group, commonly called CMG, i a not for profit, worldwide organization of data proceing profeional committed to the meaurement and

More information

Advanced Encryption Standard and Modes of Operation

Advanced Encryption Standard and Modes of Operation Advanced Encryption Standard and Mode of Operation G. Bertoni L. Breveglieri Foundation of Cryptography - AES pp. 1 / 50 AES Advanced Encryption Standard (AES) i a ymmetric cryptographic algorithm AES

More information

Brief Announcement: Distributed 3/2-Approximation of the Diameter

Brief Announcement: Distributed 3/2-Approximation of the Diameter Brief Announcement: Ditributed /2-Approximation of the Diameter Preliminary verion of a brief announcement to appear at DISC 14 Stephan Holzer MIT holzer@mit.edu David Peleg Weizmann Intitute david.peleg@weizmann.ac.il

More information

Representations and Transformations. Objectives

Representations and Transformations. Objectives Repreentation and Tranformation Objective Derive homogeneou coordinate tranformation matrice Introduce tandard tranformation - Rotation - Tranlation - Scaling - Shear Scalar, Point, Vector Three baic element

More information

AUTOMATIC TEST CASE GENERATION USING UML MODELS

AUTOMATIC TEST CASE GENERATION USING UML MODELS Volume-2, Iue-6, June-2014 AUTOMATIC TEST CASE GENERATION USING UML MODELS 1 SAGARKUMAR P. JAIN, 2 KHUSHBOO S. LALWANI, 3 NIKITA K. MAHAJAN, 4 BHAGYASHREE J. GADEKAR 1,2,3,4 Department of Computer Engineering,

More information

Planning of scooping position and approach path for loading operation by wheel loader

Planning of scooping position and approach path for loading operation by wheel loader 22 nd International Sympoium on Automation and Robotic in Contruction ISARC 25 - September 11-14, 25, Ferrara (Italy) 1 Planning of cooping poition and approach path for loading operation by wheel loader

More information

Variable Resolution Discretization in the Joint Space

Variable Resolution Discretization in the Joint Space Variable Reolution Dicretization in the Joint Space Chritopher K. Monon, David Wingate, and Kevin D. Seppi {c,wingated,keppi}@c.byu.edu Computer Science, Brigham Young Univerity Todd S. Peteron peterto@uvc.edu

More information

else end while End References

else end while End References 621-630. [RM89] [SK76] Roenfeld, A. and Melter, R. A., Digital geometry, The Mathematical Intelligencer, vol. 11, No. 3, 1989, pp. 69-72. Sklanky, J. and Kibler, D. F., A theory of nonuniformly digitized

More information

New Structural Decomposition Techniques for Constraint Satisfaction Problems

New Structural Decomposition Techniques for Constraint Satisfaction Problems New Structural Decompoition Technique for Contraint Satifaction Problem Yaling Zheng and Berthe Y. Choueiry Contraint Sytem Laboratory Univerity of Nebraka-Lincoln Email: yzheng choueiry@ce.unl.edu Abtract.

More information

An Approach to a Test Oracle for XML Query Testing

An Approach to a Test Oracle for XML Query Testing An Approach to a Tet Oracle for XML Query Teting Dae S. Kim-Park, Claudio de la Riva, Javier Tuya Univerity of Oviedo Computing Department Campu of Vieque, /n, 33204 (SPAIN) kim_park@li.uniovi.e, claudio@uniovi.e,

More information

The Data Locality of Work Stealing

The Data Locality of Work Stealing The Data Locality of Work Stealing Umut A. Acar School of Computer Science Carnegie Mellon Univerity umut@c.cmu.edu Guy E. Blelloch School of Computer Science Carnegie Mellon Univerity guyb@c.cmu.edu Robert

More information

Region analysis and the polymorphic lambda calculus

Region analysis and the polymorphic lambda calculus Region analyi and the polymorphic lambda calculu Anindya Banerjee Steven Intitute of Technology ab@c.teven-tech.edu Nevin Heintze Bell Laboratorie nch@bell-lab.com Jon G. Riecke Bell Laboratorie riecke@bell-lab.com

More information

Localized Minimum Spanning Tree Based Multicast Routing with Energy-Efficient Guaranteed Delivery in Ad Hoc and Sensor Networks

Localized Minimum Spanning Tree Based Multicast Routing with Energy-Efficient Guaranteed Delivery in Ad Hoc and Sensor Networks Localized Minimum Spanning Tree Baed Multicat Routing with Energy-Efficient Guaranteed Delivery in Ad Hoc and Senor Network Hanne Frey Univerity of Paderborn D-3398 Paderborn hanne.frey@uni-paderborn.de

More information

Performance of a Robust Filter-based Approach for Contour Detection in Wireless Sensor Networks

Performance of a Robust Filter-based Approach for Contour Detection in Wireless Sensor Networks Performance of a Robut Filter-baed Approach for Contour Detection in Wirele Senor Network Hadi Alati, William A. Armtrong, Jr., and Ai Naipuri Department of Electrical and Computer Engineering The Univerity

More information

Shortest Path Routing in Arbitrary Networks

Shortest Path Routing in Arbitrary Networks Journal of Algorithm, Vol 31(1), 1999 Shortet Path Routing in Arbitrary Network Friedhelm Meyer auf der Heide and Berthold Vöcking Department of Mathematic and Computer Science and Heinz Nixdorf Intitute,

More information

Computer Arithmetic Homework Solutions. 1 An adder for graphics. 2 Partitioned adder. 3 HDL implementation of a partitioned adder

Computer Arithmetic Homework Solutions. 1 An adder for graphics. 2 Partitioned adder. 3 HDL implementation of a partitioned adder Computer Arithmetic Homework 3 2016 2017 Solution 1 An adder for graphic In a normal ripple carry addition of two poitive number, the carry i the ignal for a reult exceeding the maximum. We ue thi ignal

More information

Refining SIRAP with a Dedicated Resource Ceiling for Self-Blocking

Refining SIRAP with a Dedicated Resource Ceiling for Self-Blocking Refining SIRAP with a Dedicated Reource Ceiling for Self-Blocking Mori Behnam, Thoma Nolte Mälardalen Real-Time Reearch Centre P.O. Box 883, SE-721 23 Väterå, Sweden {mori.behnam,thoma.nolte}@mdh.e ABSTRACT

More information

Keywords Cloud Computing, Service Level Agreements (SLA), CloudSim, Monitoring & Controlling SLA Agent, JADE

Keywords Cloud Computing, Service Level Agreements (SLA), CloudSim, Monitoring & Controlling SLA Agent, JADE Volume 5, Iue 8, Augut 2015 ISSN: 2277 128X International Journal of Advanced Reearch in Computer Science and Software Engineering Reearch Paper Available online at: www.ijarce.com Verification of Agent

More information

SLA Adaptation for Service Overlay Networks

SLA Adaptation for Service Overlay Networks SLA Adaptation for Service Overlay Network Con Tran 1, Zbigniew Dziong 1, and Michal Pióro 2 1 Department of Electrical Engineering, École de Technologie Supérieure, Univerity of Quebec, Montréal, Canada

More information

Stress-Blended Eddy Simulation (SBES) - A new Paradigm in hybrid RANS-LES Modeling

Stress-Blended Eddy Simulation (SBES) - A new Paradigm in hybrid RANS-LES Modeling Stre-Blended Eddy Simulation (SBES) - A new Paradigm in hybrid RANS-LES Modeling Menter F.R. ANSYS Germany GmbH Introduction It i oberved in many CFD imulation that RANS model how inherent technology limitation

More information

Hassan Ghaziri AUB, OSB Beirut, Lebanon Key words Competitive self-organizing maps, Meta-heuristics, Vehicle routing problem,

Hassan Ghaziri AUB, OSB Beirut, Lebanon Key words Competitive self-organizing maps, Meta-heuristics, Vehicle routing problem, COMPETITIVE PROBABIISTIC SEF-ORGANIZING MAPS FOR ROUTING PROBEMS Haan Ghaziri AUB, OSB Beirut, ebanon ghaziri@aub.edu.lb Abtract In thi paper, we have applied the concept of the elf-organizing map (SOM)

More information

AN ALGORITHM FOR RESTRICTED NORMAL FORM TO SOLVE DUAL TYPE NON-CANONICAL LINEAR FRACTIONAL PROGRAMMING PROBLEM

AN ALGORITHM FOR RESTRICTED NORMAL FORM TO SOLVE DUAL TYPE NON-CANONICAL LINEAR FRACTIONAL PROGRAMMING PROBLEM RAC Univerity Journal, Vol IV, No, 7, pp 87-9 AN ALGORITHM FOR RESTRICTED NORMAL FORM TO SOLVE DUAL TYPE NON-CANONICAL LINEAR FRACTIONAL PROGRAMMING PROLEM Mozzem Hoain Department of Mathematic Ghior Govt

More information

Using Partial Evaluation in Distributed Query Evaluation

Using Partial Evaluation in Distributed Query Evaluation A X x Z z R r y Y B Uing Partial Evaluation in Ditributed Query Evaluation Peter Buneman Gao Cong Univerity of Edinburgh Wenfei Fan Univerity of Edinburgh & Bell Laboratorie Anataio Kementietidi Univerity

More information

Service and Network Management Interworking in Future Wireless Systems

Service and Network Management Interworking in Future Wireless Systems Service and Network Management Interworking in Future Wirele Sytem V. Tountopoulo V. Stavroulaki P. Demeticha N. Mitrou and M. Theologou National Technical Univerity of Athen Department of Electrical Engineering

More information

This article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and

This article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and Thi article appeared in a journal publihed by Elevier. The attached copy i furnihed to the author for internal non-commercial reearch and education ue, including for intruction at the author intitution

More information

Application of Social Relation Graphs for Early Detection of Transient Spammers

Application of Social Relation Graphs for Early Detection of Transient Spammers Radolaw rendel and Henryk Krawczyk Application of Social Relation raph for Early Detection of Tranient Spammer RADOSLAW RENDEL and HENRYK KRAWCZYK Electronic, Telecommunication and Informatic Department

More information

See chapter 8 in the textbook. Dr Muhammad Al Salamah, Industrial Engineering, KFUPM

See chapter 8 in the textbook. Dr Muhammad Al Salamah, Industrial Engineering, KFUPM Goal programming Objective of the topic: Indentify indutrial baed ituation where two or more objective function are required. Write a multi objective function model dla a goal LP Ue weighting um and preemptive

More information

Markov Random Fields in Image Segmentation

Markov Random Fields in Image Segmentation Preented at SSIP 2011, Szeged, Hungary Markov Random Field in Image Segmentation Zoltan Kato Image Proceing & Computer Graphic Dept. Univerity of Szeged Hungary Zoltan Kato: Markov Random Field in Image

More information

New Structural Decomposition Techniques for Constraint Satisfaction Problems

New Structural Decomposition Techniques for Constraint Satisfaction Problems 113 New Structural Decompoition Technique for Contraint Satifaction Problem Yaling Zheng and Berthe Y. Choueiry Contraint Sytem Laboratory, Univerity of Nebraka-Lincoln {yzheng,choueiry}@ce.unl.edu Abtract.

More information

Analyzing Hydra Historical Statistics Part 2

Analyzing Hydra Historical Statistics Part 2 Analyzing Hydra Hitorical Statitic Part Fabio Maimo Ottaviani EPV Technologie White paper 5 hnode HSM Hitorical Record The hnode i the hierarchical data torage management node and ha to perform all the

More information

Distributed Packet Processing Architecture with Reconfigurable Hardware Accelerators for 100Gbps Forwarding Performance on Virtualized Edge Router

Distributed Packet Processing Architecture with Reconfigurable Hardware Accelerators for 100Gbps Forwarding Performance on Virtualized Edge Router Ditributed Packet Proceing Architecture with Reconfigurable Hardware Accelerator for 100Gbp Forwarding Performance on Virtualized Edge Router Satohi Nihiyama, Hitohi Kaneko, and Ichiro Kudo Abtract To

More information

A System Dynamics Model for Transient Availability Modeling of Repairable Redundant Systems

A System Dynamics Model for Transient Availability Modeling of Repairable Redundant Systems International Journal of Performability Engineering Vol., No. 3, May 05, pp. 03-. RAMS Conultant Printed in India A Sytem Dynamic Model for Tranient Availability Modeling of Repairable Redundant Sytem

More information

Multi-Target Tracking In Clutter

Multi-Target Tracking In Clutter Multi-Target Tracking In Clutter John N. Sander-Reed, Mary Jo Duncan, W.B. Boucher, W. Michael Dimmler, Shawn O Keefe ABSTRACT A high frame rate (0 Hz), multi-target, video tracker ha been developed and

More information

A Practical Model for Minimizing Waiting Time in a Transit Network

A Practical Model for Minimizing Waiting Time in a Transit Network A Practical Model for Minimizing Waiting Time in a Tranit Network Leila Dianat, MASc, Department of Civil Engineering, Sharif Univerity of Technology, Tehran, Iran Youef Shafahi, Ph.D. Aociate Profeor,

More information

Aspects of Formal and Graphical Design of a Bus System

Aspects of Formal and Graphical Design of a Bus System Apect of Formal and Graphical Deign of a Bu Sytem Tiberiu Seceleanu Univerity of Turku, Dpt. of Information Technology Turku, Finland tiberiu.eceleanu@utu.fi Tomi Weterlund Turku Centre for Computer Science

More information

np vp cost = 0 cost = c np vp cost = c I replacing term cost = c+c n cost = c * Error detection Error correction pron det pron det n gi

np vp cost = 0 cost = c np vp cost = c I replacing term cost = c+c n cost = c * Error detection Error correction pron det pron det n gi Spoken Language Paring with Robutne and ncrementality Yohihide Kato, Shigeki Matubara, Katuhiko Toyama and Yauyohi nagaki y Graduate School of Engineering, Nagoya Univerity y Faculty of Language and Culture,

More information

(12) Patent Application Publication (10) Pub. No.: US 2011/ A1

(12) Patent Application Publication (10) Pub. No.: US 2011/ A1 (19) United State US 2011 0316690A1 (12) Patent Application Publication (10) Pub. No.: US 2011/0316690 A1 Siegman (43) Pub. Date: Dec. 29, 2011 (54) SYSTEMAND METHOD FOR IDENTIFYING ELECTRICAL EQUIPMENT

More information

Compressed Sensing Image Processing Based on Stagewise Orthogonal Matching Pursuit

Compressed Sensing Image Processing Based on Stagewise Orthogonal Matching Pursuit Senor & randucer, Vol. 8, Iue 0, October 204, pp. 34-40 Senor & randucer 204 by IFSA Publihing, S. L. http://www.enorportal.com Compreed Sening Image Proceing Baed on Stagewie Orthogonal Matching Puruit

More information

A Sparse Shared-Memory Multifrontal Solver in SCAD Software

A Sparse Shared-Memory Multifrontal Solver in SCAD Software Proceeding of the International Multiconference on ISBN 978-83-6080--9 Computer Science and Information echnology, pp. 77 83 ISSN 896-709 A Spare Shared-Memory Multifrontal Solver in SCAD Software Sergiy

More information

An Improved Implementation of Elliptic Curve Digital Signature by Using Sparse Elements

An Improved Implementation of Elliptic Curve Digital Signature by Using Sparse Elements The International Arab Journal of Information Technology, Vol. 1, No., July 004 0 An Improved Implementation of Elliptic Curve Digital Signature by Uing Spare Element Eam Al-Daoud Computer Science Department,

More information

Multicast with Network Coding in Application-Layer Overlay Networks

Multicast with Network Coding in Application-Layer Overlay Networks IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 22, NO. 1, JANUARY 2004 1 Multicat with Network Coding in Application-Layer Overlay Network Ying Zhu, Baochun Li, Member, IEEE, and Jiang Guo Abtract

More information

CENTER-POINT MODEL OF DEFORMABLE SURFACE

CENTER-POINT MODEL OF DEFORMABLE SURFACE CENTER-POINT MODEL OF DEFORMABLE SURFACE Piotr M. Szczypinki Iintitute of Electronic, Technical Univerity of Lodz, Poland Abtract: Key word: Center-point model of deformable urface for egmentation of 3D

More information

Control Flow Analysis

Control Flow Analysis Control Flow Analyi Efficiency Control Flow Analyi Type an Effect ytem Data Flow Analyi Abtract Interpretation Correctne Control Flow Analyi p.1/35 Control Flow Analyi Flow information i eential for the

More information

Minimum Energy Reliable Paths Using Unreliable Wireless Links

Minimum Energy Reliable Paths Using Unreliable Wireless Links Minimum Energy Reliable Path Uing Unreliable Wirele Link Qunfeng Dong Department of Computer Science Univerity of Wiconin-Madion Madion, Wiconin 53706 qunfeng@c.wic.edu Micah Adler Department of Computer

More information

Description of background ideas, and the module itself.

Description of background ideas, and the module itself. CO3008 Semantic of Programming Language 1 Chapter 1 Decription of background idea, and the module itelf. Review ome mathematic. CO3008 Semantic of Programming Language 2 Overview: Background Introduction

More information

ES205 Analysis and Design of Engineering Systems: Lab 1: An Introductory Tutorial: Getting Started with SIMULINK

ES205 Analysis and Design of Engineering Systems: Lab 1: An Introductory Tutorial: Getting Started with SIMULINK ES05 Analyi and Deign of Engineering Sytem: Lab : An Introductory Tutorial: Getting Started with SIMULINK What i SIMULINK? SIMULINK i a oftware package for modeling, imulating, and analyzing dynamic ytem.

More information

Laboratory Exercise 2

Laboratory Exercise 2 Laoratory Exercie Numer and Diplay Thi i an exercie in deigning cominational circuit that can perform inary-to-decimal numer converion and inary-coded-decimal (BCD) addition. Part I We wih to diplay on

More information

DWH Performance Tuning For Better Reporting

DWH Performance Tuning For Better Reporting DWH Performance Tuning For Better Sandeep Bhargava Reearch Scholar Naveen Hemrajani Aociate Profeor Dineh Goyal Aociate Profeor Subhah Gander IT Profeional ABSTRACT: The concept of data warehoue deal in

More information

A CLUSTERING-BASED HYBRID REPLICA CONTROL PROTOCOL FOR HIGH AVAILABILITY IN GRID ENVIRONMENT

A CLUSTERING-BASED HYBRID REPLICA CONTROL PROTOCOL FOR HIGH AVAILABILITY IN GRID ENVIRONMENT Journal of Computer Science 10 (12): 2442-2449, 2014 ISSN: 1549-3636 2014 R. Latip et al., Thi open acce article i ditributed under a Creative Common Attribution (CC-BY) 3.0 licene doi:10.3844/jcp.2014.2442.2449

More information

Building a Compact On-line MRF Recognizer for Large Character Set using Structured Dictionary Representation and Vector Quantization Technique

Building a Compact On-line MRF Recognizer for Large Character Set using Structured Dictionary Representation and Vector Quantization Technique 202 International Conference on Frontier in Handwriting Recognition Building a Compact On-line MRF Recognizer for Large Character Set uing Structured Dictionary Repreentation and Vector Quantization Technique

More information

KS3 Maths Assessment Objectives

KS3 Maths Assessment Objectives KS3 Math Aement Objective Tranition Stage 9 Ratio & Proportion Probabilit y & Statitic Appreciate the infinite nature of the et of integer, real and rational number Can interpret fraction and percentage

More information

Distribution-based Microdata Anonymization

Distribution-based Microdata Anonymization Ditribution-baed Microdata Anonymization Nick Kouda niverity of Toronto kouda@c.toronto.edu Ting Yu North Carolina State niverity yu@cc.ncu.edu Diveh Srivatava AT&T Lab Reearch diveh@reearch.att.com Qing

More information

Set-based Approach for Lossless Graph Summarization using Locality Sensitive Hashing

Set-based Approach for Lossless Graph Summarization using Locality Sensitive Hashing Set-baed Approach for Lole Graph Summarization uing Locality Senitive Hahing Kifayat Ullah Khan Supervior: Young-Koo Lee Expected Graduation Date: Fall 0 Deptartment of Computer Engineering Kyung Hee Univerity

More information

A Linear Interpolation-Based Algorithm for Path Planning and Replanning on Girds *

A Linear Interpolation-Based Algorithm for Path Planning and Replanning on Girds * Advance in Linear Algebra & Matrix Theory, 2012, 2, 20-24 http://dx.doi.org/10.4236/alamt.2012.22003 Publihed Online June 2012 (http://www.scirp.org/journal/alamt) A Linear Interpolation-Baed Algorithm

More information

Nearly Constant Approximation for Data Aggregation Scheduling in Wireless Sensor Networks

Nearly Constant Approximation for Data Aggregation Scheduling in Wireless Sensor Networks Nearly Contant Approximation for Data Aggregation Scheduling in Wirele Senor Network Scott C.-H. Huang, Peng-Jun Wan, Chinh T. Vu, Yinghu Li and France Yao Computer Science Department, City Univerity of

More information

Modeling of underwater vehicle s dynamics

Modeling of underwater vehicle s dynamics Proceeding of the 11th WEA International Conference on YTEM, Agio Nikolao, Crete Iland, Greece, July 23-25, 2007 44 Modeling of underwater vehicle dynamic ANDRZEJ ZAK Department of Radiolocation and Hydrolocation

More information

Maneuverable Relays to Improve Energy Efficiency in Sensor Networks

Maneuverable Relays to Improve Energy Efficiency in Sensor Networks Maneuverable Relay to Improve Energy Efficiency in Senor Network Stephan Eidenbenz, Luka Kroc, Jame P. Smith CCS-5, MS M997; Lo Alamo National Laboratory; Lo Alamo, NM 87545. Email: {eidenben, kroc, jpmith}@lanl.gov

More information

arxiv: v3 [cs.cg] 1 Oct 2018

arxiv: v3 [cs.cg] 1 Oct 2018 Improved Time-Space Trade-off for Computing Voronoi Diagram Bahareh Banyaady Matia Korman Wolfgang Mulzer André van Renen Marcel Roeloffzen Paul Seiferth Yannik Stein arxiv:1708.00814v3 [c.cg] 1 Oct 2018

More information

CS201: Data Structures and Algorithms. Assignment 2. Version 1d

CS201: Data Structures and Algorithms. Assignment 2. Version 1d CS201: Data Structure and Algorithm Aignment 2 Introduction Verion 1d You will compare the performance of green binary earch tree veru red-black tree by reading in a corpu of text, toring the word and

More information

Aalborg Universitet. Published in: Proceedings of the Working Conference on Advanced Visual Interfaces

Aalborg Universitet. Published in: Proceedings of the Working Conference on Advanced Visual Interfaces Aalborg Univeritet Software-Baed Adjutment of Mobile Autotereocopic Graphic Uing Static Parallax Barrier Paprocki, Martin Marko; Krog, Kim Srirat; Kritofferen, Morten Bak; Krau, Martin Publihed in: Proceeding

More information

Parallel Approaches for Intervals Analysis of Variable Statistics in Large and Sparse Linear Equations with RHS Ranges

Parallel Approaches for Intervals Analysis of Variable Statistics in Large and Sparse Linear Equations with RHS Ranges American Journal of Applied Science 4 (5): 300-306, 2007 ISSN 1546-9239 2007 Science Publication Correponding Author: Parallel Approache for Interval Analyi of Variable Statitic in Large and Spare Linear

More information

A Boyer-Moore Approach for. Two-Dimensional Matching. Jorma Tarhio. University of California. Berkeley, CA Abstract

A Boyer-Moore Approach for. Two-Dimensional Matching. Jorma Tarhio. University of California. Berkeley, CA Abstract A Boyer-Moore Approach for Two-Dimenional Matching Jorma Tarhio Computer Science Diviion Univerity of California Berkeley, CA 94720 Abtract An imple ublinear algorithm i preented for two-dimenional tring

More information

A Multi-objective Genetic Algorithm for Reliability Optimization Problem

A Multi-objective Genetic Algorithm for Reliability Optimization Problem International Journal of Performability Engineering, Vol. 5, No. 3, April 2009, pp. 227-234. RAMS Conultant Printed in India A Multi-objective Genetic Algorithm for Reliability Optimization Problem AMAR

More information

A PROBABILISTIC NOTION OF CAMERA GEOMETRY: CALIBRATED VS. UNCALIBRATED

A PROBABILISTIC NOTION OF CAMERA GEOMETRY: CALIBRATED VS. UNCALIBRATED A PROBABILISTIC NOTION OF CAMERA GEOMETRY: CALIBRATED VS. UNCALIBRATED Jutin Domke and Yianni Aloimono Computational Viion Laboratory, Center for Automation Reearch Univerity of Maryland College Park,

More information

(12) Patent Application Publication (10) Pub. No.: US 2003/ A1

(12) Patent Application Publication (10) Pub. No.: US 2003/ A1 US 2003O196031A1 (19) United State (12) Patent Application Publication (10) Pub. No.: US 2003/0196031 A1 Chen (43) Pub. Date: Oct. 16, 2003 (54) STORAGE CONTROLLER WITH THE DISK Related U.S. Application

More information