SOFTWARE-BUG LOCALIZATION WITH GRAPH MINING

Size: px
Start display at page:

Download "SOFTWARE-BUG LOCALIZATION WITH GRAPH MINING"

Transcription

1 Chpter 17 SOFTWARE-BUG LOCALIZATION WITH GRAPH MINING Frnk Eihinger Institute for Progrm Strutures nd Dt Orgniztion (IPD) Universit-t Krlsruhe (TH), Germny Klemens B-ohm Institute for Progrm Strutures nd Dt Orgniztion (IPD) Universit-t Krlsruhe (TH), Germny Astrt Keywords: In the reent pst, numer of frequent sugrph mining lgorithms hs een proposed They llow for nlyses in domins where dt is nturlly grphstrutured. However, used y slility prolems when deling with lrge grphs, the pplition of grph mining hs een limited to only few domins. In softwre engineering, deugging is n importnt issue. It is most hllenging to lolize ugs utomtilly, s this is expensive to e done mnully. Severl pprohes hve een investigted, some of whih nlyze tres of repeted progrm exeutions. These tres n e represented s ll grphs. Suh grphs desrie the invotions of methods during n exeution. This hpter is survey of grph mining pprohes for ug loliztion sed on the nlysis of dynmi ll grphs. In prtiulr, this hpter first introdues the suprolem of reduing the size of ll grphs, efore the different pprohes to lolize ugs sed on suh redued grphs re disussed. Finlly, we ompre seleted tehniques experimentlly nd provide n outlook on future issues. Softwre Bug Loliztion, Progrm Cll Grphs C.C. Aggrwl nd H. Wng (eds.), Mnging nd Mining Grph Dt, Advnes in Dtse Systems 40, DOI / _17, Springer Siene+Business Medi, LLC

2 516 MANAGING AND MINING GRAPH DATA 1. Introdution Softwre qulity is huge onern in industry. Almost ny softwre ontins t lest some minor ugs fter eing relesed. In order to void ugs, whih inur signifint osts, it is importnt to find nd fix them efore the relese. In generl, this results in devoting more resoures to qulity ssurne. Softwre developers usully try to find nd fix ugs y mens of in-depth ode reviews, long with testing nd lssil deugging. Loting ugs is onsidered to e the most time onsuming nd hllenging tivity in this ontext [6, 20, 24, 26] where the resoures ville re limited. Therefore, there is need for semi-utomted tehniques guiding the deugging proess [34]. If developer otins some hints where ugs might e lolized, deugging eomes more effiient. Reserh in the field of softwre reliility hs een extensive, nd vrious tehniques hve een developed ddressing the identifition of defet-prone prts of softwre. This interest is not limited to softwre-engineering reserh. In the mhine-lerning ommunity, utomted deugging is onsidered to e one of the ten most hllenging prolems for the next yers [11]. So fr, no ug loliztion tehnique is perfet in the sense tht it is ple of disovering ny kind of ug. In this hpter, we look t reltively new lss of ug loliztion tehniques, the nlysis of ll grphs with grph-mining tehniques. It n e seen s n pproh orthogonl to nd omplementing existing tehniques. Grph mining, or more speifilly frequent sugrph mining, is reltively young disipline in dt mining. As desried in the other hpters of this ook, there re mny different tehniques s well s numerous pplitions for grph mining. Proly the most prominent pplition is the nlysis of hemil moleules. As the NP-omplete prolem of sugrph isomorphism [16] is n inherent prt of frequent sugrph mining lgorithms, the nlysis of moleules enefits from the reltively smll size of most of them. Compred to the nlysis of moleulr dt, softwre-engineering rtifts re typilly mpped to grphs tht re muh lrger. Consequently, ommon grph-mining lgorithms do not sle for these grphs. In order to mke use of ll grphs whih reflet the invotion struture of speifi progrm exeutions, it is key to deploy suitle ll-grph-redution tehnique. Suh tehniques help to llevite the slility prolems to some extent nd llow to mke use of grph-mining lgorithms in numer of ses. As we will demonstrte, suh pprohes work well in ertin ses, ut some hllenges remin. Besides slility issues tht re still unsolved, some ll-grph-redution tehniques led to nother hllenge: They introdue edge weights representing ll frequenies. As grph-mining reserh hs onentrted on struturl nd tegoril domins, rther thn on quntittive weights, we re not wre of

3 Softwre-Bug Loliztion with Grph Mining 517 ny lgorithm speilized in mining weighted grphs. Though this hpter presents tehnique to nlyze grphs with weighted edges, the tehnique is omposition of estlished lgorithms rther thn universl weighted grph mining lgorithm. Thus, esides mining lrge grphs, weighted grph mining is further hllenge for grph-mining reserh driven y the field of softwre engineering. The reminder of this hpter is strutured s follows: Setion 2 introdues some si priniples of ll grphs, ugs, grph mining nd ug loliztion with suh grphs. Setion 3 gives n overview of relted work in softwre engineering employing dt-nlysis tehniques. Setion 4 disusses different ll-grph-redution tehniques. The different ug-loliztion pprohes re presented nd ompred in Setion 5 nd Setion 6 onludes. 2. Bsis of Cll Grph Bsed Bug Loliztion This setion introdues the onept of dynmi ll grphs in Susetion 2.1. It presents some lsses of ugs in Susetion 2.2 nd Susetion 2.3 explins how ug loliztion with ll grphs works in priniple. A rief overview of key spets of grph nd tree mining in the ontext of this hpter is given in Susetion Dynmi Cll Grphs Cll grphs re either stti or dynmi [17]. A stti ll grph [1] n e otined from the soure ode. It represents ll methods 1 of progrm s nodes nd ll possile method invotions s edges. Dynmi ll grphs re of importne in this hpter. They represent n exeution of prtiulr progrm nd reflet the tul invotion struture of the exeution. Without ny further tretment, ll grph is rooted ordered tree. The min-method of progrm usully is the root, nd the methods invoked diretly re its hildren. Figure 17.1 is n strt exmple of suh ll grph where the root Node represents themin-method. Unredued ll grphs typilly eome very lrge. The reson is tht, in modern softwre development, dedited methods typilly enpsulte every single funtionlity. These methods ll eh other frequently. Furthermore, itertive progrmming is very ommon, nd methods lling other methods our within loops, exeuted thousnds of times. Therefore, the exeution of even smll progrm lsting some seonds often results in ll grphs onsisting of millions of edges. The size of ll grphs prohiits strightforwrd mining with stte-ofthe-rt grph-mining lgorithms. Hene, redution of the grphs whih om- 1 In this hpter, we use method interhngely with funtion.

4 518 MANAGING AND MINING GRAPH DATA presses the grphs signifintly ut keeps the essentil properties of n individul exeution is neessry. Setion 4 desries different redution tehniques. 2.2 Bugs in Softwre In the softwre-engineering literture, there is numer of different definitions of ugs, defets, errors, filures, fults nd the like. For the purpose of this hpter, we do not differentite etween them. It is enough to know tht ug in progrm exeution mnifests itself y produing some other results thn speified or y leding to some unexpeted runtime ehvior suh s rshes or non-terminting runs. In the following, we introdue some types of ugs whih re prtiulrly interesting in the ontext of ll grph sed ug loliztion. () ()... Figure An unredued ll grph, ll grph with struture ffeting ug, nd ll grph with frequeny ffeting ug. () Crshing nd non-rshing ugs: Crshing ugs led to n unexpeted termintion of the progrm. Prominent exmples inlude null pointer exeptions nd divisions y zero. In mny ses, e.g., depending on the progrmming lnguge, suh ugs re not hrd to find: A stk tre is usully shown whih gives hints where the ug ourred. Hrder to ope with re non-rshing ugs, i.e., filures whih led to fulty results without ny hint tht something went wrong during the exeution. As non-rshing ugs re hrd to find, ll pprohes to disover ugs with ll-grph mining fous on them nd leve side rshing ugs. Osionl nd non-osionl ugs: Osionl ugs re ugs whih our with some ut not with ny input dt. Finding osionl ugs is prtiulrly diffiult, s they re hrder to reprodue, nd more test ses re neessry for deugging. Furthermore, they our more frequently, s non-osionl ugs re usully deteted erly, nd osionl ugs might only e found y mens of extensive testing. As ll ug-loliztion tehniques presented in this hpter rely on ompring ll grphs of filing nd orret progrm exeutions, they del with o-

5 Softwre-Bug Loliztion with Grph Mining 519 sionl ugs only. In other words, esides exmples of filing progrm exeutions, there needs to e ertin numer of orret exeutions. Struture nd ll frequeny ffeting ugs: This distintion is prtiulrly useful when designing ll grph sed ug-loliztion tehniques. Struture ffeting ugs re ugs resulting in different shpes of the ll grph where some prts re missing or our dditionlly in fulty exeutions. An exmple is presented in Figure 17.1, where Node lled from is missing, ompred to the originl grph in Figure In this exmple, fulty if-ondition in Node ould hve used the ug. In ontrst, ll frequeny ffeting ugs re ugs whih led to hnge in the numer of lls of ertin sutree in fulty exeutions, rther thn to ompletely missing or new sustrutures. In the exmple in Figure 17.1, fulty loop ondition or fulty if-ondition inside loop in Method re typil uses for the inresed numer of lls of Method. As proly ny ug-loliztion tehnique, ll grph sed ug loliztion is ertinly not le to find ll kinds of softwre ugs. For exmple, it is possile tht ugs do not ffet the ll grph t ll. For instne, if some mthemtil expression lultes fulty results, this does not neessrily ffet susequent method lls nd ll grph mining n not detet this. Therefore, ll grph sed ug loliztion should e seen s tehnique whih omplements other tehniques, s the ones we will desrie in Setion 3. In this hpter we onentrte on deterministi ugs of single-threded progrms nd leve side ugs whih re speifi for suh situtions. However, the tehniques desried in the following might lote suh ugs s well. 2.3 Bug Loliztion with Cll Grphs So fr, severl pprohes hve een proposed to lolize ugs y mens of ll-grph mining [9, 13, 14, 25]. We will present them in detil in the following setions. In nutshell, the pprohes onsist of three steps: 1 Dedution of ll grphs from progrm exeutions, ssignment of lels orret or filing. 2 Redution of ll grphs. 3 Mining of ll grphs, nlysis of the resulting frequent sugrphs. Step 1: Deriving ll grphs is reltively simple. They n e otined y tring progrm exeutions while testing, whih is ssumed to e done nywy. Furthermore, lssifition of progrm exeutions s orret or filing is

6 520 MANAGING AND MINING GRAPH DATA needed to find disrimintive ptterns in the lst step. Otining the neessry informtion n e done esily, s qulity ssurne widely uses test suites whih provide the orret results [18]. Step 2: Cll-grph redution is neessry to overome the huge sizes of ll grphs. This is muh more hllenging. It involves the deision how muh informtion lost is tolerle when ompressing the grphs. However, even if redution tehniques n filitte mining in mny ses, they urrently do not llow for mining of ritrry softwre projets. Detils on ll-grph redution re presented in Setion 4. Step 3: This step inludes frequent sugrph mining nd the nlysis of the resulting frequent sugrphs. The intuition is to serh for ptterns typil for fulty exeutions. This often results in rnking of methods suspeted to ontin ug. The rtionle is tht suh rnking is given to softwre developer who n do ode review of the suspiious methods. The speifis of this step vry widely nd highly depend on the grph-redution sheme used. Setion 5 disusses the different pprohes in detil. 2.4 Grph nd Tree Mining Frequent sugrph mining hs een introdued in erlier hpters of this ook. As suh tehniques re of importne in this hpter, we riefly repitulte those whih re used in the ontext of ug loliztion sed on ll grph mining: Frequent sugrph mining: Frequent sugrph mining serhes for the omplete set of sugrphs whih re frequent within dtse of grphs, with respet to user defined minimum support. Respetive lgorithms n mine onneted grphs ontining leled nodes nd edges. Most implementtions lso hndle direted grphs nd pseudo grphs whih might ontin self-loops nd multiple edges. In generl, the grphs nlyzed n ontin yles. A prominent mining lgorithm is gspn [32]. Closed frequent sugrph mining: Closed mining lgorithms differ from regulr frequent sugrph mining in the sense tht only losed sugrphs re ontined in the result set. A sugrph sg is lled losed if no other grph is ontined in the result set whih is supergrph of sg nd hs extly the sme support. Closed mining lgorithms therefore produe more onise result sets nd enefit from pruning opportunities whih my speed up the lgorithms. In the ontext of this hpter, the CloseGrph lgorithm [33] is used, s losed sugrphs proved to e well suited for ug loliztion [13, 14, 25].

7 Softwre-Bug Loliztion with Grph Mining 521 Rooted ordered tree mining: Tree mining lgorithms ( survey with more detils n e found in [5]) work on dtses of trees nd exploit their hrteristis. Rooted ordered tree mining lgorithms work on rooted ordered trees, whih hve the following hrteristis: In ontrst to free trees, rooted trees hve dedited root node, theminmethod in ll trees. Ordered trees preserve the order of outgoing edges of node, whih is not enoded in ritrry grphs. Thus, ll trees n keep the informtion tht ertin node is lled efore nother one from the sme prent. Rooted ordered tree mining lgorithms produe result sets of rooted ordered trees. They n e emedded in the trees from the originl tree dtse, preserving the order. Suh lgorithms hve the dvntge tht they enefit from the order, whih speeds up mining signifintly. Tehniques in the ontext of ug loliztion sometimes use the FREQT rooted ordered tree mining lgorithm [2]. Oviously, this n only e done when ll trees re not redued to grphs ontining yles. 3. Relted Work This hpter of the ook surveys ug loliztion sed on grph mining nd dynmi ll grphs. As mny pprohes orthogonl to ll-grph mining hve een proposed, this setion on relted work provides n overview of suh pprohes. The most importnt distintion for ug loliztion tehniques is if they re stti or dynmi. Dynmi tehniques rely on the nlysis of progrm runs while stti tehniques do not require ny exeution. An exmple for stti tehnique is soure ode nlysis whih n e sed on ode metris or different grphs representing the soure ode, e.g., stti ll grphs, ontrolflow grphs or progrm-dependene grphs. Dynmi tehniques usully tre some informtion during progrm exeution whih is then nlyzed. This n e informtion on the vlues of vriles, rnhes tken during exeution or ode segments exeuted. In the reminder of this setion we riefly disuss the different stti nd dynmi ug loliztion tehniques. At the end of this setion we present reent work in mining of stti progrm-dependene grphs in little more detil, s this pproh mkes use of grph mining. However, it is stti in nture s it does not involve ny progrm exeutions. It is therefore not similr to the mining shemes sed on dynmi ll grphs desried in the reminder of this hpter. Mining of Soure Code. Softwre-omplexity metris re mesures derived from the soure ode desriing the omplexity of progrm or its

8 522 MANAGING AND MINING GRAPH DATA methods. In mny ses, omplexity metris orrelte with defets in softwre [26, 34]. A stndrd tehnique in the field of mining softwre repositories is to mp post-relese filures from ug dtse to defets in stti soure ode. Suh mpping is done in [26]. The uthors derive stndrd omplexity metris from soure ode nd uild regression models sed on them nd the informtion if the softwre entities onsidered ontin ugs. The regression models n then predit post-relese filures for new piees of softwre. A similr study uses deision trees to predit filure proilities [21]. The pproh in [30] uses regression tehniques to predit the likelihood of ugs sed on stti usge reltionships etween softwre omponents. All pprohes mentioned require lrge olletion of ugs nd version history. Dynmi Progrm Sliing. Dynmi progrm sliing [22] n e very useful for deugging lthough it is not extly ug loliztion tehnique. It helps serhing for the ext use of ug if the progrmmer lredy hs some lue or knows where the ug ppers, e.g., if stk tre is ville. Progrm sliing gives hints whih prts of progrm might hve ontriuted to fulty exeution. This is done y exploring dt dependenies nd reveling whih sttements might hve ffeted the dt used t the lotion where the ug ppered. Sttistil Bug Loliztion. Sttistil ug loliztion is fmily of dynmi, mostly dt foused nlysis tehniques. It is sed on instrumenttion of the soure ode, whih llows to pture the vlues of vriles during n exeution, so tht ptterns n e deteted mong the vrile vlues. In [15], this pproh is used to disover progrm invrints. The uthors lim tht ugs n e deteted when unexpeted invrints pper in filing exeutions or when expeted invrints do not pper. In [23], vrile vlues gined y instrumenttion re used s fetures desriing progrm exeution. These re then nlyzed with regression tehniques, whih leds to potentilly fulty piees of ode. A similr pproh, ut with fous on the ontrol flow, is [24]. It instruments vriles in ondition sttements. It then lultes rnking whih yields high vlues when the evlution of these sttements differs signifintly in orret nd filing exeutions. The instrumenttion-sed pprohes mentioned either hve lrge memory footprint [6] or do not pture ll ugs. The ltter is used y the usul prtie not to instrument every prt of progrm nd therefore not to wth every vlue, ut to instrument smpled prts only. [23] overomes this prolem y olleting smll smpled prts of informtion from produtive ode on lrge numers of mhines vi the Internet. However, this does not filitte the disovery of ugs efore the softwre is shipped.

9 Softwre-Bug Loliztion with Grph Mining 523 Anlysis of Exeution Tres. A tehnique using tring nd visuliztion is presented in [20]. It relies on rnking of progrm omponents sed on the informtion whih omponents re exeuted more often in filing progrm exeutions. Though this tehnique is rther simple, it produes good ugloliztion results. In [6], the uthors go step further nd nlyze sequenes of method lls. They demonstrte tht the temporl order of lls is more promising to nlyze thn onsidering frequenies only. Both tehniques n e seen s sis for the more sophistited ll grph sed tehniques this hpter fouses on. The usge of ll sequenes insted of ll frequenies is generliztion whih tkes more struturl informtion into ount. Cll grph sed tehniques then generlize from sequene-sed tehniques. They do so y using more omplex struturl informtion enoded in the grphs. Mining of Stti Progrm-Dependene Grphs. Reent work of Chng et l. [4] fouses on disovering negleted onditions, whih re lso known s missing pths, missing onditions nd missing ses. They re lss of ugs whih re in mny ses non-rshing osionl ugs (f. Susetion 2.2) dynmi ll grph sed tehniques trget suh ugs s well. An exmple of negleted ondition is forgotten se in swith-sttement. This ould led to wrong ehvior, fulty results in some osions nd is in generl nonrshing. Chng et l. work with stti progrm-dependene grphs (PDGs) [28] nd utilize grph-mining tehniques. PDGs re grphs desriing oth ontrol nd dt dependenies (edges) etween elements (nodes) of method or of n entire progrm. Figure 17.2 provides n exmple PDG representing the method dd(, ) whih returns the sum of its two prmeters. Control dependenies re displyed y solid lines, dt dependenies y dshed lines. As PDGs re stti, only the numer of instrutions nd dependenies within method limit their size. Therefore, they re usully smller thn dynmi ll grphs (see Setions 2 nd 4). However, they typilly eome quite lrge s well, s methods often ontin mny dependenies. This is the reson why they nnot e mined diretly with stndrd grph-mining lgorithms. PDGs n e derived from soure ode. Therefore, like other stti tehniques, PDG nlysis does not involve ny exeution of progrm. The ide ehind [4] is to first determine onditionl rules in softwre projet. These re rules (derived from PDGs, s we will see) ourring frequently within projet, representing fult-free ptterns. Then, rule violtions re serhed, whih re onsidered to e negleted onditions. This is sed on the ssumption tht the more ertin pttern is used, the more likely it is to e vlid rule. The onditionl rules re generted from PDGs y deriving (topo-

10 524 MANAGING AND MINING GRAPH DATA dd dd dd =_in =_in ret=result =_in ret=result =_in result=+ result=+ ret=result () () () Figure An exmple PDG, sugrph nd topologil grph minor. logil) grph minors 2. Suh grph minors represent trnsitive intrproedurl dependenies. They n e seen like sugrphs s set of smller grphs desriing the hrteristis of PDG. The PDG minors re otined y employing heuristi mximl frequent sugrph-mining lgorithm developed y the uthors. Then, n expert hs to onfirm nd possily edit the grph minors (lso lled progrmming rules) found y the lgorithm. Finlly, heuristi grph-mthing lgorithm, whih is developed y the uthors s well, serhes the PDGs to find the rule violtions in question. From tehnil point of view, esides the PDG representtion, the pproh relies on the two new heuristi lgorithms for mximl frequent sugrph mining nd grph mthing. Both tehniques re not investigted from grph theoreti point of view nor evluted with stndrd dt sets for grph mining. Most importntly, there re no gurntees for the heuristi lgorithms: It remins unler in whih ses grphs re not found y the lgorithms. Furthermore, the pproh requires n expert to exmine the rules, typilly hundreds, y hnd. However, the lgorithms do work well in the evlution of the uthors. The evlution on four open soure progrms demonstrtes tht the pproh finds most negleted onditions in rel softwre projets. More preisely, 82% of ll rules re found, ompred to mnul investigtion. A drwk of the pproh is the reltively high flse-positive rte whih leds to ug-detetion preision of 27% on verge. Though grph-mining tehniques similr to dynmi ll grph mining (s presented in the following) re used in [4], the pprohes re not relted. The work of Chng et l. relies on stti PDGs. They do not require ny progrm exeution, s dynmi ll grphs do. 2 A grph minor is grph otined y repeted deletions nd edge ontrtions from grph [10]. For topologil grph minors s used in [4], in ddition, pths etween two nodes n e repled with edges etween oth nodes. Figure 17.2 provides () n exmple PDG long with () sugrph nd () topologil grph minor. The ltter is minor of oth, the PDG nd the sugrph. Note tht in generl ny sugrph of grph is minor s well.

11 Softwre-Bug Loliztion with Grph Mining Cll-Grph Redution As motivted erlier, redution tehniques re essentil for ll grph sed ug loliztion: Cll grphs re usully very lrge, nd grph-mining lgorithms do not sle for suh sizes. Cll-grph redution is usully done y lossy ompression of the grphs. Therefore, it involves the trdeoff etween keeping s muh informtion s possile nd strong ompression. As some ug loliztion tehniques rely on the temporl order of method exeutions, the orresponding redution tehniques enode this informtion in the redued grphs. In Susetion 4.1 we desrie the possily esiest redution tehnique, whih we ll totl redution. In Susetion 4.2 we introdue vrious tehniques for the redution of itertively exeuted strutures. As some tehniques mke use of the temporl order of method lls during redution, we desrie these spets in Susetion 4.3. We provide some ides on the redution of reursion in Susetion 4.4 nd onlude the setion with rief omprison in Susetion Totl Redution The totl redution tehnique is proly the esiest tehnique nd yields good ompression. In the following, we introdue two vrints: Totl redution (R totl ). Totl redution mps every node representing the sme method in the ll grph to single node in the redued grph. This my give wy to the existene of loops (i.e., the output is regulr grph, not tree), nd it limits the size of the grph (in terms of nodes) to the numer of methods of the progrm. In ug loliztion, [25] hs introdued this tehnique, long with temporl extension (see Susetion 4.3). Totl redution with edge weights (R totl w ). [14] hs extended the plin totl redution sheme (R totl ) to inlude ll frequenies: Every edge in the grph representing method ll is nnotted with n edge weight. It represents the totl numer of lls of the llee method from the ller method in the originl grph. These weights llow for more detiled nlyses. Figure 17.3 ontins exmples of the totl redution tehniques: () is n unredued ll grph, () its totl redution (R totl ) nd () its totl redution with edge weights (R totl w ). In generl, totl redution (R totl nd R totl w ) redues the grphs quite signifintly. Therefore, it llows grph mining sed ug loliztion with softwre projets lrger thn other redution tehniques. On the other hnd, muh

12 526 MANAGING AND MINING GRAPH DATA 1 1 d d () unredued () R totl Figure Totl redution tehniques. 4 1 d () R totl w informtion on the progrm exeution is lost. This onerns frequenies of the exeutions of methods (R totl only) s well s informtion on different struturl ptterns within the grphs (R totl nd R totl w ). In prtiulr, the informtion is lost in whih ontext (t whih position within grph) ertin sustruture is exeuted. 4.2 Itertions Next to totl redution, redution sed on the ompression of itertively exeuted strutures (i.e., used y loops) is promising. This is due to the frequent usge of itertions in tody s softwre. In the following, we introdue two vrints: Unordered zero-one-mny redution (R 01m unord ). This redution tehnique omits equl sustrutures of exeutions whih re invoked more thn twie from the sme node. This ensures tht mny equl sustrutures lled within loop do not led to ll grphs of n extreme size. In ontrst, the informtion tht some sustruture is exeuted severl times is still enoded in the grph struture, ut without ext numers. This is done y douling sustrutures within the ll grph. Compred to totl redution (R totl ), more informtion on progrm exeution is kept. The downside is tht the ll grph generlly is muh lrger. This redution tehnique is inspired y Di Ftt et l. [9] (f. R 01m ord in Susetion 4.3), ut does not tke the temporl order of the method exeutions into ount. [13, 14] hve used it for omprisons with other tehniques whih do not mke use of temporl informtion. Sutree redution (R sutree ). This redution tehnique, proposed in [13, 14], redues sutrees exeuted itertively y deleting ll ut the first sutree nd inserting the ll frequenies s edge weights. In generl, it therefore leds to smller grphs thn R 01m unord. The edge weights llow for detiled nlysis; they serve s the sis of the nly-

13 Softwre-Bug Loliztion with Grph Mining 527 sis tehnique desried in Susetion 5.2. Detils of the redution tehnique re given in the reminder of this susetion. Note tht with R totl, nd with R 01m unord in most ses s well, the grphs of orret nd filing exeution with ll frequeny ffeting ug (f. Susetion 2.2) re redued to extly the sme grph. With R sutree (nd with R totl w s well), the edge weights would e different when ll frequeny ffeting ugs our. Anlysis tehniques n disover this (f. Susetion 5.2). 1 1 d () unredued d () R 01m unord Figure Redution tehniques sed on itertions. 4 1 () R sutree Figure 17.4 illustrtes the two itertion-sed redution tehniques: () is n unredued ll grph, () its zero-one-mny redution without temporl order (R 01m unord ) nd () its sutree redution (R sutree ). Note tht the four lls of from re redued to two lls with R 01m unord nd to one edge with weight 4 withr sutree. Further, the grph resulting fromr sutree hs one node more thn the one otined from R totl w in Figure 17.3, ut the sme numer of edges. d level 1 level 1 level 1 level 3 level 2 d d level 2 level 3 d d 2 level 2 2 level 3 d 3 () Figure A rw ll tree, its first nd seond trnsformtion step. () () For the sutree redution (R sutree ), [14] orgnizes the ll tree into n horizontl levels. The root node is t level 1. All other nodes re in levels numered with the distne to the root. A n- ve pproh to redue the exmple ll tree in Figure 17.5 would e to strt t level 1 with Node. There, one would find two hild sutrees with different struture one ould not merge nything. Therefore, one proeeds level y level, strting from level n 1, s desried in Algorithm 22. In the exmple in Figure 17.5, one strts inlevel 2.

14 528 MANAGING AND MINING GRAPH DATA The left Nodehs two different hildren. Thus, nothing n e merged there. In the right, the two hildren re merged y dding the edge weights of the merged edges, yielding the tree in Figure In the next level, level 1, one proesses the root Node. Here, the struture of the two suessor sutrees is the sme. Therefore, they re merged, resulting in the tree in Figure Algorithm 22 Sutree redution lgorithm. 1: Input: ll tree orgnized in n levels 2: for level = n 1 to 1 do 3: for eh node in level do 4: merge ll isomorph hild-sutrees of node, sum up orresponding edge weights 5: end for 6: end for 4.3 Temporl Order So fr, the ll grphs desried just represent the ourrene of method lls. Even though, sy, Figures 17.3 nd 17.4 might suggest tht is lled efore in the root Node, this informtion is not enoded in the grphs. As this might e relevnt for disriminting fulty nd orret progrm exeutions, the ug-loliztion tehniques proposed in [9, 25] tke the temporl order of method lls within one ll grph into ount. In Figure 17.6, inresing integers tthed to the nodes represent the order. In the following, we present the orresponding redution tehniques: Totl redution with temporl edges (R totl tmp ). In ddition to the totl redution (R totl ), [25] uses so lled temporl edges. The uthors insert them etween ll methods whih re exeuted onseutively nd re invoked from the sme method. They ll the resulting grphs softwreehvior grphs. This redution tehnique inludes the temporl order from the rw ordered ll trees in the redued grph representtions. Tehnilly, temporl edges re direted edges with nother lel, e.g., temporl, ompred to other edges whih re leled, sy, ll. As the grph-mining lgorithms used for further nlysis n hndle edges leled differently, the nlysis of suh grphs does not give wy to ny speil hllenges, exept for n inresed numer of edges. In onsequene, the totlly redued grphs loose their min dvntge, their smll size. However, tking the temporl order into ount might help disovering ertin ugs.

15 Softwre-Bug Loliztion with Grph Mining 529 Ordered zero-one-mny redution (R 01m ord ). This redution tehnique proposed y Di Ftt et l. [9] mkes use of the temporl order. This is done y representing the grph s rooted ordered tree, whih n e nlyzed with n order wre mining lgorithm. To inlude the temporl order, the redution tehnique is hnged s follows: While R 01m unord omits ny equl sustruture whih is invoked more thn twie from the sme node, here only sustrutures re removed whih re exeuted more thn twie in diret sequene. This filittes tht ll temporl reltionships re retined. E.g., in the redution of the sequene,,,d, (see Figure 17.6) only the third is removed, nd it is still enoded tht is lled fter d one. Depending on the tul exeution, this tehnique might led to extreme sizes of ll trees. For exmple, if within loop Method is lled followed y two lls of, the redution leds to the repeted sequene,,, whih is not redued t ll. The rooted ordered tree miner in [9] prtly ompenstes the dditionl effort for mining lgorithms used y suh sizes, whih re huge ompred to R 01m unord. Rooted ordered tree mining lgorithms sle signifintly etter thn usul grph mining lgorithms [5], s they mke use of the order. () unredued d () R totl tmp () R 01m ord Figure Temporl informtion in ll grph redutions. Figure 17.6 illustrtes the two grph redutions whih re wre of the temporl order. (The integers tthed to the nodes represent the invotion order.) () is n unredued ll grph, () its totl redution with temporl edges (dshed, R totl tmp ) nd () its ordered zero-one-mny redution (R 01m ord ). Note tht, ompred tor 01m unord,r 01m ord keeps third Nodelled from, s the diret sequene of nodes leled is interrupted. 4.4 Reursion Another hllenge with the potentil to redue the size of ll grphs is reursion. The totl redutions (R totl, R totl w nd R totl tmp ) impliitly hndle reursion s they redue oth itertion nd reursion. E.g., when every method

16 530 MANAGING AND MINING GRAPH DATA is ollpsed to single node, (self-)loops impliitly represent reursion. Besides tht, reursion hs not een investigted muh in the ontext of ll-grph redution nd in prtiulr not s strting point for redutions in ddition to itertions. The reson for tht is, s we will see in the following, tht the redution of reursion is less ovious thn reduing itertions nd might finlly result in the sme grphs s with totl redution. Furthermore, in omputeintensive pplitions, progrmmers frequently reple reursions with itertions, s this voids ostly method lls. Nevertheless, we hve investigted reursion-sed redution of ll grphs to ertin extent nd present some pprohes in the following. Two types of reursion n e distinguished: Diret reursion. When method lls itself diretly, suh method ll is lled diret reursion. An exmple is given in Figure 17.7 where Method lls itself. Figure 17.7 presents possile redution represented with self-loop t Node. In Figure 17.7, edge weights s inr sutree represent oth frequenies of itertions nd the depth of diret reursion. Indiret reursion. It my hppen tht some method lls nother method whih in turn lls the first one gin. This leds to hin of method lls s in the exmple in Figure 17.7 where lls whih gin lls et. Suh hins n e of ritrry length. Oviously, suh indiret reursions n e redued s shown in Figures 17.7 (d). This leds to the existene of loops d d () () () (d) (e) (f) Figure Exmples for redution sed on reursion. Both types of reursion re hllenging when it omes to redution. Figures 17.7e (f) illustrte one wy of reduing diret reursions. While the susequent reflexive lls of re merged into single node with weighted self-loop,, nd d eome silings. As with totl redutions, this leds to new strutures whih do not our in the originl grph. In ug loliztion, one might wnt to void suh rtifts. E.g., d lled from extly the sme

17 Softwre-Bug Loliztion with Grph Mining 531 method s ould e struture-ffeting ug whih is not found when suh rtifts our. The prolem with indiret reursion is tht it n e hrd to detet nd eomes expensive to detet ll ourrenes of long-hined reursion. To onlude, when reduing reursions, one hs to e wre tht, s with totl redution, some rtifts my our. 4.5 Comprison To ompre redution tehniques, we must look t the level of ompression they hieve on ll grphs. Tle 17.1 ontins the sizes of the resulting grphs (inresing in the numer of edges) when different redution tehniques re pplied to the sme ll grph. The ll grph used here is otined from n exeution of the Jv diff tool tken from [8] used in the evlution in [13, 14]. Clerly, the effet of the redution tehniques vries extremely depending on the kind of progrm nd the dt proessed. However, the smll progrm used illustrtes the effet of the vrious tehniques. Furthermore it n e expeted tht the differenes in ll-grph ompressions eome more signifint with inresing ll grph sizes. This is euse lrger grphs tend to offer more possiilities for redutions. Redution Nodes Edges R totl, R totl w R sutree R totl tmp R 01m unord R 01m ord unredued Tle Exmples for the effet of ll grph redution tehniques. Oviously, the totl redution (R totl nd R totl w ) hieves the strongest ompression nd yields redution y two orders of mgnitude. As 22 nodes remin, the progrm hs exeuted extly this numer of different methods. The sutree redution (R sutree ) hs signifintly more nodes ut only five more edges. As roughly speking grph-mining lgorithms sle with the numer of edges, this seems to e tolerle. We expet the smll inrese in the numer of edges to e ompensted y the inrese in struturl informtion enoded. The unordered zero-one-mny redution tehnique (R 01m unord ) gin yields somewht lrger grphs. This is euse repetitions re represented s douled sustrutures insted of edge weights. With the totl redution with temporl edges (R totl tmp ), the numer of edges inreses y roughly 50% due to the temporl informtion, while the ordered zero-one-mny redution (R 01m ord ) lmost doules this numer. Susetion 5.4 ssesses the effetive-

18 532 MANAGING AND MINING GRAPH DATA ness of ug loliztion with the different redution tehniques long with the loliztion methods. Clerly, some ll grph redution tehniques lso re expensive in terms of runtime. However, we do not ompre the runtimes, s the susequent grph mining step usully is signifintly more expensive. To summrize, different uthors hve proposed different redution tehniques, eh one together with loliztion tehnique (f. Setion 5): the totl redution (R totl tmp ) in [25], the zero-one-mny redution (R 01m ord ) in [9] nd the sutree redution (R sutree ) in [13, 14]. Some of the redutions n e used or t lest e vried in order to work together with ug loliztion tehnique different from the originl one. In Susetion 5.4, we present originl nd vried omintions. 5. Cll Grph Bsed Bug Loliztion This setion fouses on the third nd lst step of the generi ug-loliztion proess from Susetion 2.3, nmely frequent sugrph mining nd ug loliztion sed on the mining results. In this hpter, we distinguish etween struturl pprohes [9, 25] nd the frequeny-sed pproh used in [13, 14]. In Susetions 5.1 nd 5.2 we desrie the two kinds of pprohes. In Susetion 5.3 we introdue severl tehniques to integrte the results of struturl nd frequeny-sed pprohes. We present some omprisons in Susetion Struturl Approhes Struturl pprohes for ug loliztion n lote struture ffeting ugs (f. Susetion 2.2) in prtiulr. Approhes following this ide do so either in isoltion or s omplement to frequeny-sed pproh. In most ses, likelihood P(m) tht Method m ontins ug is lulted, for every method. This likelihood is then used to rnk the methods. In the following, we refer to it s sore. In the reminder of this susetion, we introdue nd disuss the different struturl soring pprohes. The Approh y Di Ftt et l. In [9], the R 01m ord ll-grph redution is used (f. Setion 4), nd the rooted ordered tree miner FREQT [2] is employed to find frequent sutrees. The ll trees nlyzed re lrge nd led to slility prolems. Hene, the uthors limit the size of the sutrees serhed to mximum of four nodes. Bsed on the results of frequent sutree mining, they define the speifi neighorhood (SN ). It is the set of ll sugrphs ontined in ll ll grphs of filing exeutions whih re not frequent in ll grphs of orret exeutions:

19 Softwre-Bug Loliztion with Grph Mining 533 SN := {sg (supp(sg,d fil ) = 100%) (supp(sg,d orr ) minsup)} where supp(g,d) denotes the support of grph g, i.e., the frtion of grphs in grph dtse D ontining g. D fil nd D orr denote the sets of ll grphs of filing nd orret exeutions. [9] uses minimum support minsup of 85%. Bsed on the speifi neighorhood, struturl sore P SN is defined: P SN (m) := supp(g m,sn) supp(g m,sn)+supp(g m,d orr ) where g m denotes ll grphs ontining Method m. Note tht P SN ssigns the vlue 0 to methods whih do not our within SN nd the vlue 1 to methods whih our in SN ut not in orret progrm exeutions D orr. The Approh y Eihinger et l. The notion of speifi neighorhood (SN ) hs the prolem tht no support n e lulted when the SN is empty. 3 Furthermore, experiments of ours hve reveled tht the P SN -soring only works well if signifint numer of grphs is ontined insn. This depends on the grph redution nd mining tehniques nd hs not lwys een the se in the experiments. Thus, to omplement the frequeny-sed soring (f. Susetion 5.2), nother struturl sore is defined in [14]. It is sed on the set of frequent sugrphs whih our in filing exeutions only, SG fil. The struturl sore P fil is lulted s the support of m in SG fil : P fil (m) := supp(g m,sg fil ) Further Support-sed Approhes. Both the P SN -sore [9] nd the P fil -sore [14] hve their weknesses. Both pprohes onsider struture ffeting ugs whih led to dditionl sustrutures in ll grphs orresponding to filing exeutions. In thesn, only sustrutures ourring in ll filing exeutions (D fil ) re onsidered they re ignored if single filing exeution does not ontin the struture. The P fil -sore onentrtes on sugrphs ourring in filing exeutions only (SG fil ), lthough they do not need to e ontined in ll filing exeutions. Therefore, oth pprohes might not find struture ffeting ugs leding not to dditionl strutures ut to fewer strutures. The weknesses mentioned hve not een prolem so fr, s they hve rrely ffeted the respetive evlution, or the omintion with nother rnking method hs ompensted it. 3 [9] uses simplisti fll-k pproh to del with this effet.

20 534 MANAGING AND MINING GRAPH DATA One possile solution for roder struturl sore is to define sore sed on two support vlues: The support of every sugrph sg in the set of ll grphs of orret exeutions supp(sg,d orr ) nd the respetive support in the set of filing exeutions supp(sg,d fil ). As we re interested in the support of methods nd not of sugrphs, the mximum support vlues of ll sugrphs sg in the set of sugrphs SG ontining ertin Method m n e derived: s fil (m) := s orr (m) := mx {sg sg SG,m sg} supp(sg,d fil) mx {sg sg SG,m sg} supp(sg,d orr) Exmple Think of Method, lled from themin-method nd ontining ug. Let us ssume there is sugrph min (where denotes n edge etween two nodes) whih hs support of 100% in filing exeutions nd 40% in orret ones. At the sme time there is the sugrph min where lls fterwrds. Let us sy tht the ug ours extly in this onstelltion. In this sitution, min hs support of 0% ind orr while it hs support of 100% ind fil. Let us further ssume tht there lso is muh lrger sugrph sg whih ontins nd ours in 10% of ll filing exeutions. The vlue s fil () therefore is 100%, the mximum of 100% (sed on sugrph min ), 100% (sed on min ) nd 10% (sed on sg). With the two reltive support vlues s orr nd s fil s sis, new struturl sores n e defined. One possiility would e the solute differene of s fil nd s orr : P fil-orr (m) = s fil (m) s orr (m) Exmple To ontinue Exmple 17.1, P fil-orr () is 60%, the solute differene of 40% (s orr ()) nd 100% (s fil ()). We do not hieve higher vlue thn 60%, s Method lso ours in ug-free sugrphs. The intuition ehind P fil-orr is tht oth kinds of struture ffeting ugs re overed: (1) those whih led to dditionl strutures (high s fil nd low to moderte s orr vlues like in Exmple 17.2) nd (2) those leding to missing strutures (low s fil nd moderte to high s orr ). In ses where the support in oth sets is equl, e.g., oth re 100% for the min-method, P fil-orr is zero. We hve not yet evluted P fil-orr with rel dt. It might turn out tht different ut similr soring methods re etter. The Approh y Liu et l. Although [25] is the first study whih pplies grph mining tehniques to dynmi ll grphs to lolize non-rshing ugs,

21 Softwre-Bug Loliztion with Grph Mining 535 this work is not diretly omptile to the other pprohes desried so fr. In [25], ug loliztion is hieved y rther omplex lssifition proess, nd it does not generte rnking of methods suspeted to ontin ug, ut set of suh methods. The work is sed on ther totl tmp redution tehnique nd works with totl redued grphs with temporl edges (f. Setion 4). The ll grphs re mined with vrint of the CloseGrph lgorithm [33]. This step results in frequent sugrphs whih re turned into inry fetures hrterizing progrm exeution: A oolen feture vetor represents every exeution. In this vetor, every element indites if ertin sugrph is inluded in the orresponding ll grph. Using those feture vetors, support-vetor mhine (SVM) is lerned whih deides if progrm exeution is orret or filing. More preisely, for every method, two lssifiers re lerned: one sed on ll grphs inluding the respetive method, one sed on grphs without this method. If the preision rises signifintly when dding grphs ontining ertin method, this method is deemed more likely to ontin ug. Suh methods re dded to the so-lled ug-relevnt funtion set. Its funtions usully line up in form similr to stk tre whih is presented to user when progrm rshes. Therefore, the ug-relevnt funtion set serves s the output of the whole pproh. This set is given to softwre developer who n use it to lote ugs more esily. 5.2 Frequeny-sed Approh The frequeny-sed pproh for ug loliztion y Eihinger et l. [13, 14] is in prtiulr suited to lote frequeny ffeting ugs (f. Susetion 2.2), in ontrst to the struturl pprohes. It lultes sore s well, i.e., the likelihood to ontin ug, for every method. After hving performed frequent sugrph mining with the CloseGrph lgorithm [33] on ll grphs redued with ther sutree tehnique, Eihinger et l. nlyze the edge weights. As n exmple, ll-frequeny ffeting ug inreses the frequeny of ertin method invotion nd therefore the weight of the orresponding edge. To find the ug, one hs to serh for edge weights whih re inresed in filing exeutions. To do so, they fous on frequent sugrphs whih our in oth orret nd filing exeutions. The gol is to develop n pproh whih utomtilly disovers whih edge weights of ll grphs from progrm re most signifint to disriminte etween orret nd filing. To do so, one possiility is to onsider different edge types, e.g., edges hving the sme lling Method m s (strt) nd the sme method lled m e (end). However, edges of one type n pper more thn one within one sugrph nd, of ourse, in severl different sugrphs. Therefore, the uthors nlyze every edge in every suh lotion, whih is referred to s ontext. To

22 536 MANAGING AND MINING GRAPH DATA speify the ext lotion of n edge in its ontext within ertin sugrph, they do not use the method nmes, s they my our more thn one. Insted, they use unique id for the lling node (id s ) nd nother one for the method lled (id e ). All ids re vlid within their sugrph. To sum up, edges in its ontext in ertin sugrph sg re referened with the following tuple: (sg,id s,id e ). A ertin ug does not ffet ll method lls (edges) of the sme type, ut method lls of the sme type in the sme ontext. Therefore, the uthors ssemle feture tle with every edge in every ontext s olumns nd ll progrm exeutions in the rows. The tle ells ontin the respetive edge weights. Tle 17.2 serves s n exmple. (sg 1,id 1,id 2) (sg 1,id 1,id 3) (sg 2,id 1,id 2) (sg 2,id 1,id 3) Clss g orret g filing Tle Exmple tle used s input for feture-seletion lgorithms. The first olumn ontins referene to the progrm exeution or, more preisely, to its redued ll grph g i G. The seond olumn orresponds to the first sugrph (sg 1 ) nd the edge from id 1 (Method ) to id 2 (Method ). The third olumn orresponds to the sme sugrph (sg 1 ) ut to the edge from id 1 toid 3. Note tht oth id 2 nd id 3 represent Method. The fourth olumn represents n edge from id 1 to id 2 in the seond sugrph (sg 2 ). The fifth olumn represents nother edge in sg 2. Note tht ids hve different menings in different sugrphs. The lst olumn ontins the lss orret or filing. If ertin sugrph is not ontined in ll grph, the orresponding ells hve vlue 0, likeg 1, whih does not ontin sg 1. Grphs (rows) n ontin ertin sugrph not just one, ut severl times t different lotions. In this se, verges re used in the orresponding ells of the tle. The tle struture desried llows for detiled nlysis of edge weights in different ontexts within sugrph. Algorithm 23 desries ll susequent steps in this susetion. After putting together the tle, Eihinger et l. deploy stndrd feture-seletion lgorithm to sore the olumns of the tle nd thus the different edges. They use n entropy-sed lgorithm from the Wek dt-mining suite [31]. It lultes the informtion gin InfoGin [29] (with respet to the lss of the exeutions, orret or filing) for every olumn (Line 23 in Algorithm 23). The informtion gin is vlue etween 0 nd 1, interpreted s likelihood of eing responsile for ugs. Columns with n informtion gin of 0, i.e., the edges lwys hve the sme weights in oth lsses, re disrded immeditely (Line 23 in Algorithm 23). Cll grphs of filing exeutions frequently ontin ug-like ptterns whih re used y preeding ug. Eihinger et l. ll suh rtifts follow-up

23 Softwre-Bug Loliztion with Grph Mining d d e f e () () Figure Follow-up ugs. f ugs. Figure 17.8 illustrtes follow-up ug: () represents ug free version, () ontins ll frequeny ffeting ug in Methodwhih ffets the invotions of d. Here, this method is lled 20 times insted of twie. Following the R sutree redution, this leds to proportionl inrese in the numer of lls in Method d. [14] ontins more detils how follow-up ugs re deteted nd removed from the set of edges E (Line 23 of Algorithm 23). Algorithm 23 Proedure to lulte P freq (m s,m e ) nd P freq (m). 1: Input: set of edges e E, e = (sg,id s,id e ) 2: ssign every e E its informtion gin InfoGin 3: E = E {e e.infogin = 0} 4: remove follow-up ugs from E 5: E (ms,m e) = {e e E e.id s.lel = m s e.id e.lel = m e } 6: P freq (m s,m e ) = mx e E (ms,me) (e.infogin) 7: E m = {e e E e.id s.lel = m} 8: P freq (m) = mx e E m (e.infogin) At this point, Eihinger et l. lulte likelihoods of method invotions ontining ug, for every invotion (desried y lling Method m s nd method lled m e ). They ll this sore P freq (m s,m e ), s it is sed on the ll frequenies. To do the lultion, they first determine sets E (ms,m e) of edges e E for every method invotion in Line 23 of Algorithm 23. In Line 23, they use themx() funtion to lultep freq (m s,m e ), the mximum InfoGin of ll edges (method invotions) in E. In generl, there re mny edges in E with the sme method invotion, s n invotion n our in different ontexts. With the mx() funtion, the uthors ssign every invotion the sore from the ontext rnked highest. Exmple An edge from to is ontined in two sugrphs. In one sugrph, this edge hs low InfoGin vlue of 0.1. In the other sugrph, nd therefore in nother ontext, the sme edge hs high InfoGin

24 538 MANAGING AND MINING GRAPH DATA vlue of 0.8, i.e., ug is reltively likely. As one is interested in these ses, lower sores for the sme invotion re less importnt, nd only the mximum is onsidered. At the moment, the rnking does not only provide the sore for method invotion, P freq (m s,m e ), ut lso the sugrphs where it ours nd the ext emeddings. This informtion might e importnt for softwre developer. The uthors report this informtion dditionlly. To ese omprison with other pprohes not providing this informtion, they lso lulte P freq (m) for every lling Method m in Lines 23 nd 23 of Algorithm 23. The explntion is nlogous to the one of the lultion of P freq (m s,m e ) in Lines 23 nd Comined Approhes As disussed efore, struturl pprohes re well-suited to lote struture ffeting ugs, while frequeny-sed pprohes fous on ll frequeny ffeting ugs. Therefore, it seems to e promising to omine oth pprohes. [13] nd [14] hve investigted suh strtegies. In [13], Eihinger et l. hve omined the frequeny-sed pproh with the P SN -sore [9]. In order to lulte the resulting sore, the uthors use the pproh y Di Ftt et l. [9] without temporl order: They use ther 01m unord redution with generl grph miner, gspn [32], in order to lulte the struturl P SN -sore. They derived the frequeny-sed P freq -sore s desried efore fter mining the sme ll grphs ut with ther sutree redution nd the CloseGrph lgorithm [33] nd different mining prmeters. In order to omine the two sores derived from the results of two grph mining runs, they lulted the rithmeti men of the normlized sores: P om[13] (m) = P freq (m) 2 mx (P freq(n)) + P SN (m) 2 mx (P SN(n)) n sg D n sg D where n is method in sugrph sg in the dtse of ll ll grphs D. As the omined pproh in [13] leds to good results ut requires two ostly grph-mining exeutions, the uthors hve developed tehnique in [14] whih requires only one grph-mining exeution: They omine the frequeny-sed sore with the simple struturl sore P fil, oth sed on the results from one CloseGrph [33] exeution. They omine the results with the rithmeti men, s efore: P om[14] (m) = P freq (m) 2 mx (P freq(n)) + P fil (m) 2 mx (P fil(n)) n sg D n sg D

CS 241 Week 4 Tutorial Solutions

CS 241 Week 4 Tutorial Solutions CS 4 Week 4 Tutoril Solutions Writing n Assemler, Prt & Regulr Lnguges Prt Winter 8 Assemling instrutions utomtilly. slt $d, $s, $t. Solution: $d, $s, nd $t ll fit in -it signed integers sine they re 5-it

More information

Lesson 4.4. Euler Circuits and Paths. Explore This

Lesson 4.4. Euler Circuits and Paths. Explore This Lesson 4.4 Euler Ciruits nd Pths Now tht you re fmilir with some of the onepts of grphs nd the wy grphs onvey onnetions nd reltionships, it s time to egin exploring how they n e used to model mny different

More information

[SYLWAN., 158(6)]. ISI

[SYLWAN., 158(6)]. ISI The proposl of Improved Inext Isomorphi Grph Algorithm to Detet Design Ptterns Afnn Slem B-Brhem, M. Rizwn Jmeel Qureshi Fulty of Computing nd Informtion Tehnology, King Adulziz University, Jeddh, SAUDI

More information

CMPUT101 Introduction to Computing - Summer 2002

CMPUT101 Introduction to Computing - Summer 2002 CMPUT Introdution to Computing - Summer 22 %XLOGLQJ&RPSXWHU&LUFXLWV Chpter 4.4 3XUSRVH We hve looked t so fr how to uild logi gtes from trnsistors. Next we will look t how to uild iruits from logi gtes,

More information

Duality in linear interval equations

Duality in linear interval equations Aville online t http://ijim.sriu..ir Int. J. Industril Mthemtis Vol. 1, No. 1 (2009) 41-45 Dulity in liner intervl equtions M. Movhedin, S. Slhshour, S. Hji Ghsemi, S. Khezerloo, M. Khezerloo, S. M. Khorsny

More information

Midterm Exam CSC October 2001

Midterm Exam CSC October 2001 Midterm Exm CSC 173 23 Otoer 2001 Diretions This exm hs 8 questions, severl of whih hve suprts. Eh question indites its point vlue. The totl is 100 points. Questions 5() nd 6() re optionl; they re not

More information

Fault tree conversion to binary decision diagrams

Fault tree conversion to binary decision diagrams Loughorough University Institutionl Repository Fult tree onversion to inry deision digrms This item ws sumitted to Loughorough University's Institutionl Repository y the/n uthor. Cittion: ANDREWS, J.D.

More information

Parallelization Optimization of System-Level Specification

Parallelization Optimization of System-Level Specification Prlleliztion Optimiztion of System-Level Speifition Luki i niel. Gjski enter for Emedded omputer Systems University of liforni Irvine, 92697, US {li, gjski} @es.ui.edu strt This pper introdues the prlleliztion

More information

Introduction to Algebra

Introduction to Algebra INTRODUCTORY ALGEBRA Mini-Leture 1.1 Introdution to Alger Evlute lgeri expressions y sustitution. Trnslte phrses to lgeri expressions. 1. Evlute the expressions when =, =, nd = 6. ) d) 5 10. Trnslte eh

More information

A METHOD FOR CHARACTERIZATION OF THREE-PHASE UNBALANCED DIPS FROM RECORDED VOLTAGE WAVESHAPES

A METHOD FOR CHARACTERIZATION OF THREE-PHASE UNBALANCED DIPS FROM RECORDED VOLTAGE WAVESHAPES A METHOD FOR CHARACTERIZATION OF THREE-PHASE UNBALANCED DIPS FROM RECORDED OLTAGE WAESHAPES M.H.J. Bollen, L.D. Zhng Dept. Eletri Power Engineering Chlmers University of Tehnology, Gothenurg, Sweden Astrt:

More information

Error Numbers of the Standard Function Block

Error Numbers of the Standard Function Block A.2.2 Numers of the Stndrd Funtion Blok evlution The result of the logi opertion RLO is set if n error ours while the stndrd funtion lok is eing proessed. This llows you to rnh to your own error evlution

More information

Internet Routing. IP Packet Format. IP Fragmentation & Reassembly. Principles of Internet Routing. Computer Networks 9/29/2014.

Internet Routing. IP Packet Format. IP Fragmentation & Reassembly. Principles of Internet Routing. Computer Networks 9/29/2014. omputer Networks 9/29/2014 IP Pket Formt Internet Routing Ki Shen IP protool version numer heder length (words) for qulity of servie mx numer remining hops (deremented t eh router) upper lyer protool to

More information

COMP108 Algorithmic Foundations

COMP108 Algorithmic Foundations Grph Theory Prudene Wong http://www.s.liv..uk/~pwong/tehing/omp108/201617 How to Mesure 4L? 3L 5L 3L ontiner & 5L ontiner (without mrk) infinite supply of wter You n pour wter from one ontiner to nother

More information

Lecture 8: Graph-theoretic problems (again)

Lecture 8: Graph-theoretic problems (again) COMP36111: Advned Algorithms I Leture 8: Grph-theoreti prolems (gin) In Prtt-Hrtmnn Room KB2.38: emil: iprtt@s.mn..uk 2017 18 Reding for this leture: Sipser: Chpter 7. A grph is pir G = (V, E), where V

More information

Paradigm 5. Data Structure. Suffix trees. What is a suffix tree? Suffix tree. Simple applications. Simple applications. Algorithms

Paradigm 5. Data Structure. Suffix trees. What is a suffix tree? Suffix tree. Simple applications. Simple applications. Algorithms Prdigm. Dt Struture Known exmples: link tble, hep, Our leture: suffix tree Will involve mortize method tht will be stressed shortly in this ourse Suffix trees Wht is suffix tree? Simple pplitions History

More information

CS453 INTRODUCTION TO DATAFLOW ANALYSIS

CS453 INTRODUCTION TO DATAFLOW ANALYSIS CS453 INTRODUCTION TO DATAFLOW ANALYSIS CS453 Leture Register llotion using liveness nlysis 1 Introdution to Dt-flow nlysis Lst Time Register llotion for expression trees nd lol nd prm vrs Tody Register

More information

CS553 Lecture Introduction to Data-flow Analysis 1

CS553 Lecture Introduction to Data-flow Analysis 1 ! Ide Introdution to Dt-flow nlysis!lst Time! Implementing Mrk nd Sweep GC!Tody! Control flow grphs! Liveness nlysis! Register llotion CS553 Leture Introdution to Dt-flow Anlysis 1 Dt-flow Anlysis! Dt-flow

More information

Lecture 12 : Topological Spaces

Lecture 12 : Topological Spaces Leture 12 : Topologil Spes 1 Topologil Spes Topology generlizes notion of distne nd loseness et. Definition 1.1. A topology on set X is olletion T of susets of X hving the following properties. 1. nd X

More information

COMP 423 lecture 11 Jan. 28, 2008

COMP 423 lecture 11 Jan. 28, 2008 COMP 423 lecture 11 Jn. 28, 2008 Up to now, we hve looked t how some symols in n lphet occur more frequently thn others nd how we cn sve its y using code such tht the codewords for more frequently occuring

More information

Greedy Algorithm. Algorithm Fall Semester

Greedy Algorithm. Algorithm Fall Semester Greey Algorithm Algorithm 0 Fll Semester Optimiztion prolems An optimiztion prolem is one in whih you wnt to fin, not just solution, ut the est solution A greey lgorithm sometimes works well for optimiztion

More information

4.3 Balanced Trees. let us assume that we can manipulate them conveniently and see how they can be put together to form trees.

4.3 Balanced Trees. let us assume that we can manipulate them conveniently and see how they can be put together to form trees. 428 T FOU 4.3 Blned Trees T BT GOIT IN T VIOU setion work well for wide vriety of pplitions, ut they hve poor worst-se performne. s we hve noted, files lredy in order, files in reverse order, files with

More information

Minimal Memory Abstractions

Minimal Memory Abstractions Miniml Memory Astrtions (As implemented for BioWre Corp ) Nthn Sturtevnt University of Alert GAMES Group Ferury, 7 Tlk Overview Prt I: Building Astrtions Minimizing memory requirements Performnes mesures

More information

Outline. Motivation Background ARCH. Experiment Additional usages for Input-Depth. Regular Expression Matching DPI over Compressed HTTP

Outline. Motivation Background ARCH. Experiment Additional usages for Input-Depth. Regular Expression Matching DPI over Compressed HTTP ARCH This work ws supported y: The Europen Reserh Counil, The Isreli Centers of Reserh Exellene, The Neptune Consortium, nd Ntionl Siene Foundtion wrd CNS-119748 Outline Motivtion Bkground Regulr Expression

More information

[Prakash* et al., 5(8): August, 2016] ISSN: IC Value: 3.00 Impact Factor: 4.116

[Prakash* et al., 5(8): August, 2016] ISSN: IC Value: 3.00 Impact Factor: 4.116 [Prksh* et l 58: ugust 6] ISSN: 77-9655 I Vlue: Impt Ftor: 6 IJESRT INTERNTIONL JOURNL OF ENGINEERING SIENES & RESERH TEHNOLOGY SOME PROPERTIES ND THEOREM ON FUZZY SU-TRIDENT DISTNE Prveen Prksh* M Geeth

More information

McAfee Web Gateway

McAfee Web Gateway Relese Notes Revision C MAfee We Gtewy 7.6.2.11 Contents Aout this relese Enhnement Resolved issues Instlltion instrutions Known issues Additionl informtion Find produt doumenttion Aout this relese This

More information

CS 340, Fall 2016 Sep 29th Exam 1 Note: in all questions, the special symbol ɛ (epsilon) is used to indicate the empty string.

CS 340, Fall 2016 Sep 29th Exam 1 Note: in all questions, the special symbol ɛ (epsilon) is used to indicate the empty string. CS 340, Fll 2016 Sep 29th Exm 1 Nme: Note: in ll questions, the speil symol ɛ (epsilon) is used to indite the empty string. Question 1. [10 points] Speify regulr expression tht genertes the lnguge over

More information

10.2 Graph Terminology and Special Types of Graphs

10.2 Graph Terminology and Special Types of Graphs 10.2 Grph Terminology n Speil Types of Grphs Definition 1. Two verties u n v in n unirete grph G re lle jent (or neighors) in G iff u n v re enpoints of n ege e of G. Suh n ege e is lle inient with the

More information

Chapter 9. Greedy Technique. Copyright 2007 Pearson Addison-Wesley. All rights reserved.

Chapter 9. Greedy Technique. Copyright 2007 Pearson Addison-Wesley. All rights reserved. Chpter 9 Greey Tehnique Copyright 2007 Person Aison-Wesley. All rights reserve. Greey Tehnique Construts solution to n optimiztion prolem piee y piee through sequene of hoies tht re: fesile lolly optiml

More information

An Approach to Filter the Test Data for Killing Multiple Mutants in Different Locations

An Approach to Filter the Test Data for Killing Multiple Mutants in Different Locations Interntionl Journl of Computer Theory nd Engineering, Vol. 5, No. 2, April 2013 An Approh to Filter the Test Dt for Killing Multiple Mutnts in Different Lotions Ngendr Prtp Singh, Rishi Mishr, Silesh Tiwri,

More information

Lecture 13: Graphs I: Breadth First Search

Lecture 13: Graphs I: Breadth First Search Leture 13 Grphs I: BFS 6.006 Fll 2011 Leture 13: Grphs I: Bredth First Serh Leture Overview Applitions of Grph Serh Grph Representtions Bredth-First Serh Rell: Grph G = (V, E) V = set of verties (ritrry

More information

If you are at the university, either physically or via the VPN, you can download the chapters of this book as PDFs.

If you are at the university, either physically or via the VPN, you can download the chapters of this book as PDFs. Lecture 5 Wlks, Trils, Pths nd Connectedness Reding: Some of the mteril in this lecture comes from Section 1.2 of Dieter Jungnickel (2008), Grphs, Networks nd Algorithms, 3rd edition, which is ville online

More information

Distance vector protocol

Distance vector protocol istne vetor protool Irene Finohi finohi@i.unirom.it Routing Routing protool Gol: etermine goo pth (sequene of routers) thru network from soure to Grph strtion for routing lgorithms: grph noes re routers

More information

In the last lecture, we discussed how valid tokens may be specified by regular expressions.

In the last lecture, we discussed how valid tokens may be specified by regular expressions. LECTURE 5 Scnning SYNTAX ANALYSIS We know from our previous lectures tht the process of verifying the syntx of the progrm is performed in two stges: Scnning: Identifying nd verifying tokens in progrm.

More information

FASTEST METHOD TO FIND ALTERNATIVE RE-ROUTE

FASTEST METHOD TO FIND ALTERNATIVE RE-ROUTE INTERNATIONAL JOURNAL OF RESEARCH IN COMPUTER APPLICATIONS AND ROBOTICS ISSN 2320-7345 FASTEST METHOD TO FIND ALTERNATIVE RE-ROUTE 1 M.JothiLkshmi, M.S., M.Phil. 2 C.Theeendr, M.S., M.Phil. 3 M.K.Pvithr,

More information

Pattern Matching. Pattern Matching. Pattern Matching. Review of Regular Expressions

Pattern Matching. Pattern Matching. Pattern Matching. Review of Regular Expressions Pttern Mthing Pttern Mthing Some of these leture slides hve een dpted from: lgorithms in C, Roert Sedgewik. Gol. Generlize string serhing to inompletely speified ptterns. pplitions. Test if string or its

More information

COSC 6374 Parallel Computation. Non-blocking Collective Operations. Edgar Gabriel Fall Overview

COSC 6374 Parallel Computation. Non-blocking Collective Operations. Edgar Gabriel Fall Overview COSC 6374 Prllel Computtion Non-loking Colletive Opertions Edgr Griel Fll 2014 Overview Impt of olletive ommunition opertions Impt of ommunition osts on Speedup Crtesin stenil ommunition All-to-ll ommunition

More information

Computational geometry

Computational geometry Leture 23 Computtionl geometry Supplementl reding in CLRS: Chpter 33 exept 33.3 There re mny importnt prolems in whih the reltionships we wish to nlyze hve geometri struture. For exmple, omputtionl geometry

More information

Additional Measurement Algorithms in the Overhauser Magnetometer POS-1

Additional Measurement Algorithms in the Overhauser Magnetometer POS-1 Additionl Mesurement Algorithms in the Overhuser Mgnetometer POS-1 O.V. Denisov, A.Y. Denisov, V.A. Spunov (QM Lortory of Url Stte Tehnil University, Mir 19, Ekterinurg, 620002, Russi) J.L. Rsson (Royl

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distriuted Systems Priniples nd Prdigms Christoph Dorn Distriuted Systems Group, Vienn University of Tehnology.dorn@infosys.tuwien..t http://www.infosys.tuwien..t/stff/dorn Slides dpted from Mrten vn Steen,

More information

Final Exam Review F 06 M 236 Be sure to look over all of your tests, as well as over the activities you did in the activity book

Final Exam Review F 06 M 236 Be sure to look over all of your tests, as well as over the activities you did in the activity book inl xm Review 06 M 236 e sure to loo over ll of your tests, s well s over the tivities you did in the tivity oo 1 1. ind the mesures of the numered ngles nd justify your wor. Line j is prllel to line.

More information

Distributed Systems Principles and Paradigms. Chapter 11: Distributed File Systems

Distributed Systems Principles and Paradigms. Chapter 11: Distributed File Systems Distriuted Systems Priniples nd Prdigms Mrten vn Steen VU Amsterdm, Dept. Computer Siene steen@s.vu.nl Chpter 11: Distriuted File Systems Version: Deemer 10, 2012 2 / 14 Distriuted File Systems Distriuted

More information

LINX MATRIX SWITCHERS FIRMWARE UPDATE INSTRUCTIONS FIRMWARE VERSION

LINX MATRIX SWITCHERS FIRMWARE UPDATE INSTRUCTIONS FIRMWARE VERSION Overview LINX MATRIX SWITCHERS FIRMWARE UPDATE INSTRUCTIONS FIRMWARE VERSION 4.4.1.0 Due to the omplex nture of this updte, plese fmilirize yourself with these instrutions nd then ontt RGB Spetrum Tehnil

More information

Type Checking. Roadmap (Where are we?) Last lecture Context-sensitive analysis. This lecture Type checking. Symbol tables

Type Checking. Roadmap (Where are we?) Last lecture Context-sensitive analysis. This lecture Type checking. Symbol tables Type Cheking Rodmp (Where re we?) Lst leture Contet-sensitie nlysis Motition Attriute grmmrs Ad ho Synt-direted trnsltion This leture Type heking Type systems Using synt direted trnsltion Symol tles Leil

More information

The Network Layer: Routing in the Internet. The Network Layer: Routing & Addressing Outline

The Network Layer: Routing in the Internet. The Network Layer: Routing & Addressing Outline CPSC 852 Internetworking The Network Lyer: Routing in the Internet Mihele Weigle Deprtment of Computer Siene Clemson University mweigle@s.lemson.edu http://www.s.lemson.edu/~mweigle/ourses/ps852 1 The

More information

Photovoltaic Panel Modelling Using a Stochastic Approach in MATLAB &Simulink

Photovoltaic Panel Modelling Using a Stochastic Approach in MATLAB &Simulink hotovolti nel Modelling Using Stohsti Approh in MATLAB &Simulink KAREL ZALATILEK, JAN LEUCHTER eprtment of Eletril Engineering University of efene Kouniov 65, 61 City of Brno CZECH REUBLIC krelzpltilek@unoz,

More information

CS 551 Computer Graphics. Hidden Surface Elimination. Z-Buffering. Basic idea: Hidden Surface Removal

CS 551 Computer Graphics. Hidden Surface Elimination. Z-Buffering. Basic idea: Hidden Surface Removal CS 55 Computer Grphis Hidden Surfe Removl Hidden Surfe Elimintion Ojet preision lgorithms: determine whih ojets re in front of others Uses the Pinter s lgorithm drw visile surfes from k (frthest) to front

More information

What are suffix trees?

What are suffix trees? Suffix Trees 1 Wht re suffix trees? Allow lgorithm designers to store very lrge mount of informtion out strings while still keeping within liner spce Allow users to serch for new strings in the originl

More information

Mining Edge-Weighted Call Graphs to Localise Software Bugs

Mining Edge-Weighted Call Graphs to Localise Software Bugs Mining Edge-Weighted Call Graphs to Loalise Software Bugs Frank Eihinger, Klemens Böhm, and Matthias Huer Institute for Program Strutures and Data Organisation (IPD), Universität Karlsruhe (TH), Germany

More information

2 Computing all Intersections of a Set of Segments Line Segment Intersection

2 Computing all Intersections of a Set of Segments Line Segment Intersection 15-451/651: Design & Anlysis of Algorithms Novemer 14, 2016 Lecture #21 Sweep-Line nd Segment Intersection lst chnged: Novemer 8, 2017 1 Preliminries The sweep-line prdigm is very powerful lgorithmic design

More information

CS321 Languages and Compiler Design I. Winter 2012 Lecture 5

CS321 Languages and Compiler Design I. Winter 2012 Lecture 5 CS321 Lnguges nd Compiler Design I Winter 2012 Lecture 5 1 FINITE AUTOMATA A non-deterministic finite utomton (NFA) consists of: An input lphet Σ, e.g. Σ =,. A set of sttes S, e.g. S = {1, 3, 5, 7, 11,

More information

A Tautology Checker loosely related to Stålmarck s Algorithm by Martin Richards

A Tautology Checker loosely related to Stålmarck s Algorithm by Martin Richards A Tutology Checker loosely relted to Stålmrck s Algorithm y Mrtin Richrds mr@cl.cm.c.uk http://www.cl.cm.c.uk/users/mr/ University Computer Lortory New Museum Site Pemroke Street Cmridge, CB2 3QG Mrtin

More information

COSC 6374 Parallel Computation. Communication Performance Modeling (II) Edgar Gabriel Fall Overview. Impact of communication costs on Speedup

COSC 6374 Parallel Computation. Communication Performance Modeling (II) Edgar Gabriel Fall Overview. Impact of communication costs on Speedup COSC 6374 Prllel Computtion Communition Performne Modeling (II) Edgr Griel Fll 2015 Overview Impt of ommunition osts on Speedup Crtesin stenil ommunition All-to-ll ommunition Impt of olletive ommunition

More information

Incremental Design Debugging in a Logic Synthesis Environment

Incremental Design Debugging in a Logic Synthesis Environment Inrementl Design Deugging in Logi Synthesis Environment Andres Veneris Jing Brndon Liu University of Toronto Freesle Semiondutors Dept ECE nd CS High Performne Tools Group Toronto, ON M5S 3G4 Austin, TX

More information

Asymmetric Visual Hierarchy Comparison with Nested Icicle Plots

Asymmetric Visual Hierarchy Comparison with Nested Icicle Plots symmetri Visul Hierrhy Comprison with Nested Iile Plots Fin ek 1, Frnz-Josef Wiszniewsky 2, Mihel urh 1, Stephn Diehl 2, nd Dniel Weiskopf 1 1 VISUS, University of Stuttgrt, Germny 2 University of Trier,

More information

Midterm 2 Sample solution

Midterm 2 Sample solution Nme: Instructions Midterm 2 Smple solution CMSC 430 Introduction to Compilers Fll 2012 November 28, 2012 This exm contins 9 pges, including this one. Mke sure you hve ll the pges. Write your nme on the

More information

Troubleshooting. Verify the Cisco Prime Collaboration Provisioning Installation (for Advanced or Standard Mode), page

Troubleshooting. Verify the Cisco Prime Collaboration Provisioning Installation (for Advanced or Standard Mode), page Trouleshooting This setion explins the following: Verify the Ciso Prime Collortion Provisioning Instlltion (for Advned or Stndrd Mode), pge 1 Upgrde the Ciso Prime Collortion Provisioning from Smll to

More information

Fig.25: the Role of LEX

Fig.25: the Role of LEX The Lnguge for Specifying Lexicl Anlyzer We shll now study how to uild lexicl nlyzer from specifiction of tokens in the form of list of regulr expressions The discussion centers round the design of n existing

More information

Single-Layer Trunk Routing Using 45-Degree Lines within Critical Areas for PCB Routing

Single-Layer Trunk Routing Using 45-Degree Lines within Critical Areas for PCB Routing SASIMI 2010 Proeedings (R3-8) Single-Lyer Trunk Routing Using 45-Degree Lines within Critil Ares for PCB Routing Kyosuke SHINODA Yukihide KOHIRA Atsushi TAKAHASHI Tokyo Institute of Tehnology Dept. of

More information

V = set of vertices (vertex / node) E = set of edges (v, w) (v, w in V)

V = set of vertices (vertex / node) E = set of edges (v, w) (v, w in V) Definitions G = (V, E) V = set of verties (vertex / noe) E = set of eges (v, w) (v, w in V) (v, w) orere => irete grph (igrph) (v, w) non-orere => unirete grph igrph: w is jent to v if there is n ege from

More information

Approximate Joins for Data Centric XML

Approximate Joins for Data Centric XML Approximte Joins for Dt Centri XML Nikolus Augsten 1, Mihel Böhlen 1, Curtis Dyreson, Johnn Gmper 1 1 Fulty of Computer Siene, Free University of Bozen-Bolzno Dominiknerpltz 3, Bozen, Itly {ugsten,oehlen,gmper}@inf.uniz.it

More information

Width and Bounding Box of Imprecise Points

Width and Bounding Box of Imprecise Points Width nd Bounding Box of Impreise Points Vhideh Keikh Mrten Löffler Ali Mohdes Zhed Rhmti Astrt In this pper we study the following prolem: we re given set L = {l 1,..., l n } of prllel line segments,

More information

Problem Final Exam Set 2 Solutions

Problem Final Exam Set 2 Solutions CSE 5 5 Algoritms nd nd Progrms Prolem Finl Exm Set Solutions Jontn Turner Exm - //05 0/8/0. (5 points) Suppose you re implementing grp lgoritm tt uses ep s one of its primry dt strutures. Te lgoritm does

More information

MITSUBISHI ELECTRIC RESEARCH LABORATORIES Cambridge, Massachusetts. Introduction to Matroids and Applications. Srikumar Ramalingam

MITSUBISHI ELECTRIC RESEARCH LABORATORIES Cambridge, Massachusetts. Introduction to Matroids and Applications. Srikumar Ramalingam Cmrige, Msshusetts Introution to Mtrois n Applitions Srikumr Rmlingm MERL mm//yy Liner Alger (,0,0) (0,,0) Liner inepenene in vetors: v, v2,..., For ll non-trivil we hve s v s v n s, s2,..., s n 2v2...

More information

6.045J/18.400J: Automata, Computability and Complexity. Quiz 2: Solutions. Please write your name in the upper corner of each page.

6.045J/18.400J: Automata, Computability and Complexity. Quiz 2: Solutions. Please write your name in the upper corner of each page. 6045J/18400J: Automt, Computbility nd Complexity Mrh 30, 2005 Quiz 2: Solutions Prof Nny Lynh Vinod Vikuntnthn Plese write your nme in the upper orner of eh pge Problem Sore 1 2 3 4 5 6 Totl Q2-1 Problem

More information

Distance Computation between Non-convex Polyhedra at Short Range Based on Discrete Voronoi Regions

Distance Computation between Non-convex Polyhedra at Short Range Based on Discrete Voronoi Regions Distne Computtion etween Non-onvex Polyhedr t Short Rnge Bsed on Disrete Voronoi Regions Ktsuki Kwhi nd Hiroms Suzuki Deprtment of Preision Mhinery Engineering, The University of Tokyo 7-3-1 Hongo, Bunkyo-ku,

More information

Journal of Combinatorial Theory, Series A

Journal of Combinatorial Theory, Series A Journl of Comintoril Theory, Series A 0 (0) Contents lists ville t SiVerse SieneDiret Journl of Comintoril Theory, Series A www.elsevier.om/lote/jt Spheril tiling y ongruent pentgons Hongho Go, Nn Shi,

More information

Correcting the Dynamic Call Graph Using Control Flow Constraints

Correcting the Dynamic Call Graph Using Control Flow Constraints Correting the Dynmi Cll Grph Using Control Flow Constrints Byeongheol Lee Kevin Resnik Mihel Bond Kthryn MKinley 1 Appered in CC2007 Motivtion Complexity of lrge objet oriented progrms Deompose the progrm

More information

INTEGRATED WORKFLOW ART DIRECTOR

INTEGRATED WORKFLOW ART DIRECTOR ART DIRECTOR Progrm Resoures INTEGRATED WORKFLOW PROGRAM PLANNING PHASE In this workflow phse proess, you ollorte with the Progrm Mnger, the Projet Mnger, nd the Art Speilist/ Imge Led to updte the resoures

More information

Tiling Triangular Meshes

Tiling Triangular Meshes Tiling Tringulr Meshes Ming-Yee Iu EPFL I&C 1 Introdution Astrt When modelling lrge grphis senes, rtists re not epeted to model minute nd repetitive fetures suh s grss or snd with individul piees of geometry

More information

Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming

Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming Lecture 10 Evolutionry Computtion: Evolution strtegies nd genetic progrmming Evolution strtegies Genetic progrmming Summry Negnevitsky, Person Eduction, 2011 1 Evolution Strtegies Another pproch to simulting

More information

Package Contents. Wireless-G USB Network Adapter with SpeedBooster USB Cable Setup CD-ROM with User Guide (English only) Quick Installation

Package Contents. Wireless-G USB Network Adapter with SpeedBooster USB Cable Setup CD-ROM with User Guide (English only) Quick Installation A Division of Ciso Systems, In. Pkge Contents Wireless-G USB Network Adpter with SpeedBooster USB Cle Setup CD-ROM with User Guide (English only) Quik Instlltion 2,4 GHz 802.11g Wireless Model No. Model

More information

Can Pythagoras Swim?

Can Pythagoras Swim? Overview Ativity ID: 8939 Mth Conepts Mterils Students will investigte reltionships etween sides of right tringles to understnd the Pythgoren theorem nd then use it to solve prolems. Students will simplify

More information

Presentation Martin Randers

Presentation Martin Randers Presenttion Mrtin Rnders Outline Introduction Algorithms Implementtion nd experiments Memory consumption Summry Introduction Introduction Evolution of species cn e modelled in trees Trees consist of nodes

More information

From Dependencies to Evaluation Strategies

From Dependencies to Evaluation Strategies From Dependencies to Evlution Strtegies Possile strtegies: 1 let the user define the evlution order 2 utomtic strtegy sed on the dependencies: use locl dependencies to determine which ttriutes to compute

More information

Efficient Subscription Management in Content-based Networks

Efficient Subscription Management in Content-based Networks Effiient Susription Mngement in Content-sed Networks Rphël Chnd, Psl A. Feler Institut EURECOM 06904 Sophi Antipolis, Frne {hnd feler}@eureom.fr Astrt Content-sed pulish/susrie systems offer onvenient

More information

COMBINATORIAL PATTERN MATCHING

COMBINATORIAL PATTERN MATCHING COMBINATORIAL PATTERN MATCHING Genomic Repets Exmple of repets: ATGGTCTAGGTCCTAGTGGTC Motivtion to find them: Genomic rerrngements re often ssocited with repets Trce evolutionry secrets Mny tumors re chrcterized

More information

Algorithm Design (5) Text Search

Algorithm Design (5) Text Search Algorithm Design (5) Text Serch Tkshi Chikym School of Engineering The University of Tokyo Text Serch Find sustring tht mtches the given key string in text dt of lrge mount Key string: chr x[m] Text Dt:

More information

Ma/CS 6b Class 1: Graph Recap

Ma/CS 6b Class 1: Graph Recap M/CS 6 Clss 1: Grph Recp By Adm Sheffer Course Detils Adm Sheffer. Office hour: Tuesdys 4pm. dmsh@cltech.edu TA: Victor Kstkin. Office hour: Tuesdys 7pm. 1:00 Mondy, Wednesdy, nd Fridy. http://www.mth.cltech.edu/~2014-15/2term/m006/

More information

Slides for Data Mining by I. H. Witten and E. Frank

Slides for Data Mining by I. H. Witten and E. Frank Slides for Dt Mining y I. H. Witten nd E. Frnk Simplicity first Simple lgorithms often work very well! There re mny kinds of simple structure, eg: One ttriute does ll the work All ttriutes contriute eqully

More information

Shared Memory Architectures. Programming and Synchronization. Today s Outline. Page 1. Message passing review Cosmic Cube discussion

Shared Memory Architectures. Programming and Synchronization. Today s Outline. Page 1. Message passing review Cosmic Cube discussion Tody s Outline Arhitetures Progrmming nd Synhroniztion Disuss pper on Cosmi Cube (messge pssing) Messge pssing review Cosmi Cube disussion > Messge pssing mhine Shred memory model > Communition > Synhroniztion

More information

An Efficient Code Update Scheme for DSP Applications in Mobile Embedded Systems

An Efficient Code Update Scheme for DSP Applications in Mobile Embedded Systems An Effiient Code Updte Sheme for DSP Applitions in Moile Emedded Systems Weiji Li, Youto Zhng Computer Siene Deprtment,University of Pittsurgh,Pittsurgh, PA 526 {weijili,zhngyt}@s.pitt.edu Astrt DSP proessors

More information

box Boxes and Arrows 3 true 7.59 'X' An object is drawn as a box that contains its data members, for example:

box Boxes and Arrows 3 true 7.59 'X' An object is drawn as a box that contains its data members, for example: Boxes nd Arrows There re two kinds of vriles in Jv: those tht store primitive vlues nd those tht store references. Primitive vlues re vlues of type long, int, short, chr, yte, oolen, doule, nd flot. References

More information

Agilent G3314AA BioConfirm Software

Agilent G3314AA BioConfirm Software Agilent G3314AA BioConfirm Softwre Quik Strt Guide Use this guide to instll nd get strted with the BioConfirm softwre. Wht is BioConfirm Softwre? Agilent G3314AA BioConfirm Softwre lets you onfirm the

More information

Calculus Differentiation

Calculus Differentiation //007 Clulus Differentition Jeffrey Seguritn person in rowot miles from the nerest point on strit shoreline wishes to reh house 6 miles frther down the shore. The person n row t rte of mi/hr nd wlk t rte

More information

Graphs with at most two trees in a forest building process

Graphs with at most two trees in a forest building process Grphs with t most two trees in forest uilding process rxiv:802.0533v [mth.co] 4 Fe 208 Steve Butler Mis Hmnk Mrie Hrdt Astrct Given grph, we cn form spnning forest y first sorting the edges in some order,

More information

P(r)dr = probability of generating a random number in the interval dr near r. For this probability idea to make sense we must have

P(r)dr = probability of generating a random number in the interval dr near r. For this probability idea to make sense we must have Rndom Numers nd Monte Crlo Methods Rndom Numer Methods The integrtion methods discussed so fr ll re sed upon mking polynomil pproximtions to the integrnd. Another clss of numericl methods relies upon using

More information

CS201 Discussion 10 DRAWTREE + TRIES

CS201 Discussion 10 DRAWTREE + TRIES CS201 Discussion 10 DRAWTREE + TRIES DrwTree First instinct: recursion As very generic structure, we could tckle this problem s follows: drw(): Find the root drw(root) drw(root): Write the line for the

More information

Profile Based Sub-Image Search in Image Databases

Profile Based Sub-Image Search in Image Databases Profile Bsed Su-Imge Serh in Imge Dtses Vishwkrm Singh 1, Amuj K. Singh 2 Deprtment of Computer Siene, University of Cliforni, Snt Brr, USA 1 vsingh@s.us.edu, 2 muj@s.us.edu Astrt Su-imge serh with high

More information

Tries. Yufei Tao KAIST. April 9, Y. Tao, April 9, 2013 Tries

Tries. Yufei Tao KAIST. April 9, Y. Tao, April 9, 2013 Tries Tries Yufei To KAIST April 9, 2013 Y. To, April 9, 2013 Tries In this lecture, we will discuss the following exct mtching prolem on strings. Prolem Let S e set of strings, ech of which hs unique integer

More information

Triple/Quadruple Patterning Layout Decomposition via Novel Linear Programming and Iterative Rounding

Triple/Quadruple Patterning Layout Decomposition via Novel Linear Programming and Iterative Rounding Triple/Qudruple Ptterning Lyout Deomposition vi Novel Liner Progrmming nd Itertive Rounding Yio Lin, Xioqing Xu, Bei Yu, Ross Bldik nd Dvid Z. Pn ECE Dept., University of Texs t Austin, Austin, TX USA

More information

Enterprise Digital Signage Create a New Sign

Enterprise Digital Signage Create a New Sign Enterprise Digitl Signge Crete New Sign Intended Audiene: Content dministrtors of Enterprise Digitl Signge inluding stff with remote ess to sign.pitt.edu nd the Content Mnger softwre pplition for their

More information

Inter-domain Routing

Inter-domain Routing COMP 631: NETWORKED & DISTRIBUTED SYSTEMS Inter-domin Routing Jsleen Kur Fll 2016 1 Internet-sle Routing: Approhes DV nd link-stte protools do not sle to glol Internet How to mke routing slle? Exploit

More information

Balanced Trees. 2-3 trees red-black trees B-trees. 2-3 trees red-black trees B-trees smaller than. 2-node. 3-node E J S X A C.

Balanced Trees. 2-3 trees red-black trees B-trees. 2-3 trees red-black trees B-trees smaller than. 2-node. 3-node E J S X A C. ymol tle review Blned Trees implementtion gurntee verge se serh insert delete serh hit insert delete ordered itertion? opertions on keys sequentil serh (linked list) N N N N/2 N N/2 no equls() 2-3 trees

More information

Comparison between nmos Pass Transistor logic style vs. CMOS Complementary Cells*

Comparison between nmos Pass Transistor logic style vs. CMOS Complementary Cells* Comprison etween nmos Pss Trnsistor logi style vs. CMOS Complementry Cells* Rkesh Mehrotr, Mssoud Pedrm Xunwei Wu Dept. of E.E.-Systems Dept. of Eletroni Eng. University of Southern Cliforni Hngzhou University

More information

Accurate Indirect Branch Prediction

Accurate Indirect Branch Prediction Aurte Indiret Brnh Predition Krel Driesen nd Urs Hölzle Deprtment of Computer Siene University of Cliforni Snt Brbr, CA 9 Abstrt Indiret brnh predition is likely to beome inresingly importnt in the future

More information

10.5 Graphing Quadratic Functions

10.5 Graphing Quadratic Functions 0.5 Grphing Qudrtic Functions Now tht we cn solve qudrtic equtions, we wnt to lern how to grph the function ssocited with the qudrtic eqution. We cll this the qudrtic function. Grphs of Qudrtic Functions

More information

OUTPUT DELIVERY SYSTEM

OUTPUT DELIVERY SYSTEM Differences in ODS formtting for HTML with Proc Print nd Proc Report Lur L. M. Thornton, USDA-ARS, Animl Improvement Progrms Lortory, Beltsville, MD ABSTRACT While Proc Print is terrific tool for dt checking

More information

Representation of Numbers. Number Representation. Representation of Numbers. 32-bit Unsigned Integers 3/24/2014. Fixed point Integer Representation

Representation of Numbers. Number Representation. Representation of Numbers. 32-bit Unsigned Integers 3/24/2014. Fixed point Integer Representation Representtion of Numbers Number Representtion Computer represent ll numbers, other thn integers nd some frctions with imprecision. Numbers re stored in some pproximtion which cn be represented by fixed

More information

To access your mailbox from inside your organization. For assistance, call:

To access your mailbox from inside your organization. For assistance, call: 2001 Ative Voie, In. All rights reserved. First edition 2001. Proteted y one or more of the following United Sttes ptents:,070,2;,3,90;,88,0;,33,102;,8,0;,81,0;,2,7;,1,0;,90,88;,01,11. Additionl U.S. nd

More information

Taming Subgraph Isomorphism for RDF Query Processing

Taming Subgraph Isomorphism for RDF Query Processing Tming Sugrph Isomorphism for RDF Query Proessing Jinh Kim # jinh.kim@orle.om Hyungyu Shin hgshin@dl.posteh..kr Wook-Shin Hn wshn@posteh..kr Sungpk Hong # Hssn Chfi # {sungpk.hong, hssn.hfi}@orle.om POSTECH,

More information