A Metric-based Approach to Detect Abstract Data Types and State Encapsulations

Size: px
Start display at page:

Download "A Metric-based Approach to Detect Abstract Data Types and State Encapsulations"

Transcription

1 Copyright by IEEE. Published i Proceedigs of the Coferece o Automated Software Egieerig, IEEE Computer Society. A Metric-based Approach to Detect Abstract Data Types ad State Ecapsulatios Jea-Fraçois Girard Frauhofer Istitute for Experimetal Software Egieerig Sauerwiese 6 D Kaiserslauter, Germay girard@iese.fhg.de Abstract This article presets a approach to idetify abstract data types (ADT) ad abstract state ecapsulatios (ASE, also called abstract objects) i source code. This approach groups together fuctios, types, ad variables ito ADT ad ASE cadidates accordig to the proportio of features they share. The set of features cosidered icludes the cotext of these elemets, the relatioships to their eviromet, ad iformal iformatio. A prototype tool has bee implemeted to support this approach. It has bee applied to three C systems (each betwee Kloc). The ADTs ad ASEs idetified by the approach are compared to those idetified by software egieers who did ot kow the proposed approach. I a case study, this approach has bee show to idetify, i most cases, more ADTs ad ASEs tha five published techiques applied o the same systems. This is importat whe tryig to idetify as may ADTs ad ASEs as possible. 1. Itroductio The Bauhaus project 1 aims at recoverig the software architecture of a system as it is implemeted. That is, recoverig multiple views which would idicate the mai compoets of the system, their coectors (how they commuicate), ad the costraits o these coectors ad compoets. This article presets a approach which ca be used as a first step i compoets idetificatio. A case study [Gira97a] suggests that abstract data types ad abstract 1. Research collaboratio betwee the Frauhofer IESE ad the Uiversity of Stuttgart. Raier Koschke, Georg Schied Uiversity of Stuttgart Breitwiesestr D Stuttgart, Germay {koschke, schied}@iformatik.ui-stuttgart.de state ecapsulatios are two istaces of the smallest compoets which are sigificat at the architectural level. The authors have amed such buildig blocks atomic compoets, because they ca be used to build larger compoets. Accordig to Sommerville [Somm92] a abstract data type (ADT) is a abstractio of a type which ecapsulates all the type s valid operatios ad hides the details of the implemetatio of those operatios by providig access to the types exclusively through a well-defied set of operatios. A abstract state ecapsulatio (ASE) is a group of global variables together with the routies which access them. These clusters are also called abstract objects [Ghez91] or object istaces [Yeh95]. Cross-breedigs of ADTs ad ASEs are called hybrid compoets. They cosist of routies, variables, ad types. These three types of atomic compoets are importat to the authors research o architecture recovery, but they are also of geeral importace. Their role has bee recogized to provide iformatio hidig ad thus to support maitaiability [Ghez91] ad reuse [Somm92]. However, these atomic compoets are ot always explicitly captured i the source code, because programmig laguages like C do ot provide good support to express them or software developmet does ot always exploit them. Cosequetly, reverse egieerig techiques are required to idetify them i these circumstaces. This article presets a reverse egieerig approach, called similarity clusterig, which groups together fuctios, types, ad variables ito ADT or ASE cadidates accordig to a similarity metric. The set of features cosidered by this metric icludes the cotext of these elemets, the relatioships betwee these elemets, ad

2 iformal iformatio. I order to evaluate the proposed similarity clusterig approach, it was applied to three C systems (betwee Kloc) ad the results were compared to the atomic compoets idetified by software egieers. Five other published atomic compoet idetificatio techiques were applied to these systems. O this bechmark, similarity clusterig approach idetifies, i most cases, more correct ASEs ad ADTs tha the other techiques. This is importat i order to recover as may ADTs ad ASEs as possible. Paper Overview The remaider of the article is orgaized as follows: Sectio 2 itroduces the system graph abstractio used to defie the similarity metric at the core of the proposed approach. Sectio 3 presets the approach. Sectio 4 presets related research. Sectio 5 describes the experimet setup used to evaluate atomic compoets idetified by automatic techiques. Sectio 6 discusses results ad summarizes the results of a case study [Gira97b] comparig some of them to the proposed approach. Sectio 7 cocludes ad proposes further research. 2. A Coceptual Model for Programmig Laguage Etities The resource flow graph is a graph abstractio of a system which is used to defie the similarity metric at the core of similarity clusterig. It captures typical relatioships betwee routies, variables, ad user-defied types, the buildig blocks of atomic compoets. The relatioships cosidered i this approach are illustrated i the etity-relatioship diagram of Figure 1. 1 m m user-defied type is-part-of-type calls retur-type routie parameter-of-type m actual-parameter uses m sets m m global variable of-type 1 etity 1 relatioship of cardiality 1: Figure 1. A etity-relatioship model for elemets of atomic compoets. This etity-relatioship model defies the structure of a resource flow graph which is a abstractio of the source code. Nodes of this graph stad for the etities ad edges express the relatioships amog etities. I the followig sectio, the resource flow graph is used to defie the similarity metrics. 3. Similarity Metric Approach This sectio presets the similarity clusterig approach. It first gives a overview of the approach. The it discusses the various aspects of similarity which are combied i the approach. This approach is ispired by Schwake s work [Schw91] aimed at detectig subsystems usig a similarity metric betwee routies. The clusterig similarity approach applies the idea of this work to atomic compoets idetificatio by geeralizig this metric, addig iformal iformatio, edge-depedet weights, ad adaptig may of its parameters. The two approaches will be cotrasted i more detail i sectio Approach Overview The similarity clusterig approach groups etities (fuctios, user-defied types, ad global variables) accordig to the proportio of features (etities they access, their ame, the file where they are defied, etc.) they have i commo. The ituitio is that if these features reflect the correct direct ad idirect relatioships betwee these etities, the etities which have the most similar relatioships should belog to the same ADT or ASE. Fuctios, variables, ad types are grouped accordig to the followig algorithm: Place each etity i a group by itself repeat Idetify the most similar groups Combie them util the existig groups are satisfactory remove groups which are ot valid atomic compoets I each iteratio of this algorithm, a similarity metric measures the proportio of features which are shared. The algorithm termiates whe existig groups are satisfactory. I the experimet reported i this paper, groups are cosidered satisfactory whe the most similar groups have a similarity which is below a certai threshold. This threshold is established experimetally o systems where atomic compoets are kow. The similarity metric is costructed of three layers: The similarity betwee two groups of etities which is defied i terms of similarity betwee etities across groups.

3 The similarity betwee two etities which is a weighted sum of various aspects of similarity. Each specific aspect of similarity betwee two etities. The similarity betwee groups of etities used i this paper is defied as the average betwee all pairs of similarities i the two sets: Sim( S 1, S 2 ) = The similarity betwee two etities is the weighted sum of various aspects of similarity. The followig aspects are icluded i the similarity metric for the experimet reported i this paper: Direct relatios Idirect relatios Iformal iformatio Direct relatios are relatios betwee the two etities compared. Idirect relatios are relatios with commo third etities. Iformal iformatio is the iformatio i a program source code which is ot captured by the sematics of programmig laguages, but is used by programmers to commuicate the itet of a program (e.g., commets, idetifier ames, file orgaizatio, etc.) The similarity betwee two etities A ad B is defied as follows (the factors x i are used to adjust the ifluece of the diverse specific similarities): Sim( A, = [ x 1 Sim idirect ( A, + x 2 Sim direct ( A, + x 3 Sim iformal ( A, ] ( x 1 + x 2 + x 2 ) Each aspect is ormalized to obtai values betwee 0 ad 1, so the resultig similarity is also ormalized Direct Relatios Sim( s i, s j ) ( s i S 1, s j S 2 ) size( S 1 ) size( S 2 ) Direct relatios represet immediate coectios betwee two etities ad are geerally more importat tha idirect relatios ad iformal iformatio. Their cotributio to the similarity is computed assim direct ( A, which yields a value betwee 0 ad 1. I terms of the resource flow graph, this is defied as the weighed sum of edges betwee A ad B divided by the weighed sum of all possible edge types betwee A ad B: Sim direct ( A, W ( lik( A, ) = W ( all-liks( odetype( A), odetype( )) where lik (A, deotes the actual liks betwee A ad B, all-liks() deotes all edge-types which are possible i a resource flow graph betwee two give ode types. W ( X) = weight( x) where weight( x) 0 is a x X weightig factor which allows to give certai features more ifluece o the global value of the metric. Weights The weight factors are itroduced to give more ifluece to certai features. The weights are the first factors used to improve the precisio of the approach. Shao Iformatio Cotet Oe weightig factor weight(x) used i this paper is Shao s iformatio cotet [Sha72] from iformatio theory: weight( x) = log( probability( x) ) where probability(x) is replaced by the fractio of all etities that have x i commo. The hypothesis is that rarely used etities are more sigificat tha frequet etities. For example, a error variable which is used everywhere i the system is less distictive tha a variable that is oly used by a small portio of the system. Relatio Type A alterative to Shao s iformatio cotet is to assig fixed edge-weights to the kid of edges betwee etities. For example, whe lookig for a ADT, edges coected to user-defied types are more importat tha call edges, hece should be give more weight. These fixed weights are used i some experimets. I other experimets they were combied with Shao s iformatio cotet by multiplyig the two values Idirect Relatios Idirect relatios capture the proportio of commo features two etities share. I terms of the resource flow graph, these features are eighbors of the etities compared. The similarity aspect for idirect relatios uses the followig formula: Sim idirect ( A, Commo( A, = Commo( A, + d Distict( A, where Commo (A, reflects the umber of commo features of A ad B, Distict (A, reflects the umber of distict features ad d 0 is a parameter which regulates the importace give to distict features. I terms of the resource flow graph, they are defied as follows: Commo( A, = W ( edges-with( A) edges-with( ) Distict( A, = W ( edges-with( A) edges-with( ) The operator deotes the symmetric differece for sets. The term edges-with( returs a set of odes which are coected to B. The exact set of odes depeds o whether the directio of edges is cosidered or ot.

4 3.4. Iformal Iformatio Programmers capture part of the meaig of programs i commets ad i the ame of fuctios, variables, ad types. This helps them ad other programmers fid their way aroud i a program. Aother guide i a program is the file orgaizatio: related fuctios, variables, ad types are ofte put together i oe file. Both of these meas of commuicatio amog programmers are examples of iformal iformatio. Usually, iformal iformatio is igored by reverse egieerig techiques (a otable exceptio is [Bigg89]) which focus o the iformatio kept by a compiler. This sectio discusses how the iformatio cotaied i the ames of program idetifiers ad file orgaizatio ca be relevat to the idetificatio of atomic compoets. It also describes how they are take ito accout by the proposed approach Names of Idetifiers The amig of fuctios, variables, ad types is a importat source of iformatio about a program give to a huma reader. It has bee observed [Bigg89] that eve the author of a program has difficulties i recogizig the purpose of a excerpt from his code oce sigificat idetifier ames have bee replaced by isigificat oes. (e.g., top_stack -> f1). The amig of idetifiers also covey iformatio relevat to the idetificatio of atomic compoets. For example, i oe of the systems ivestigated routies that belog to a abstract data type list had similar ames: list_isert, list_remove, ad list_create. Two amig covetios are widely used for log idetifiers built from may words: separate words with uderscore ( _ ) or start each ew word with a capital letter (e.g., IsertWord). The followig metric based o the umber of commo words betwee two idetifiers exploits these covetios: words( X) words( Y ) Sim words ( X, Y ) = words( X) words( Y ) Whe these covetios are ot used, idetifiers are frequetly costructed usig a commo prefix or postfix. I this case the followig metric is used: Sim suffix ( X, Y ) = 1 X = Y prefix( X, Y ) + postfix( X, Y ) 1 + prefix( X, Y ) + postfix( X, Y ) X Y where prefix ad postfix are the legths of the commo pre- ad postfix of their two argumets, if the legth is loger tha three characters; otherwise it is zero Orgaizatio of Files The divisio of a program ito files also coveys some iformatio about the meaig of a program. Related fuctios ad variables are ofte put i the same file or i files with a commo substrig i their ame (e.g., clietdb ad cliet-service). The previous metric for idetifier ame similarity based o pre- ad postfixes is used to compare file ames without extesios (i.e., oly file i file.c or file.h) Sim fileame ( X, Y ) = Sim suffix ( fame( X), fame( Y )) 4. Related Research This sectio presets a brief overview of the related research i reverse egieerig ad similarity metrics Detectio of ADTs ad ASEs or Objects There is a rich literature o the detectio of ADTs ad ASEs or object istaces from systems writte i procedural laguages (usually C). May techiques [Oga94, Gira97a, Yeh95, Caf93a, Caf94] that aim at ADT recovery focus o the relatios betwee types ad the parameters ad the retur type of a fuctio (called fuctio sigature). These relatios are usually represeted by edges i a graph where the odes correspod to fuctios ad user-defied data types of a system. The basic idea of these techiques is that the set of coected compoets of this graph form the set of ADT cadidates. However, these cadidates are ofte too large, because of fuctios which examie or modify structures of may types. As a result, these ADT cadidates ofte combie ad thereby hide multiple correct referece ADTs. Each of the followig techiques proposes a differet heuristic to avoid these large cadidates by imposig additioal coditios o the coected compoets: Same Module heuristic [Gira97a]: It groups oly those routies, global variables, ad types together that are declared i the same file. Part Type heuristic [Oga94]. It filters out types i a parameter list that are part of aother type i the list. Iteral Access heuristic [Yeh95]: It filters out routies which do ot access iteral parts of record types that are part of a ADT. Eumeratio & Domiace heuristic [Caf94]: It filters out eumeratios ad subrages from the types cosidered to form a ADT whe the ADT is too large. It also uses the domiace relatio o the call graph to idetify fuctios which are called oly from a ADT i order to package them with the ADT.

5 Our similarity clusterig cosiders the same relatios betwee fuctios ad types, but it also takes ito accout the relatios with the cotext of etities. Like the Same Module heuristic, similarity clusterig cosiders the file where types ad fuctios are defied, but the ifluece of the file orgaizatio o the metric ca be lowered whe it is ot a importat factor. Like Eumeratio ad Domiace heuristic, similarity clusterig cosiders the call relatioship betwee routies. Yeh et al. [Yeh95] ad Cafora et al. [Caf93] idetify ASEs or object istaces based o the set ad use relatioship betwee fuctios ad global variables. These relatios are usually represeted by edges i a graph where the odes correspod to fuctios ad global variables. These approaches ca be summarized as follows: Delta IC (a adaptatio of [Caf93b]) It geerates potetial ASEs usig a fixed patter, the evaluates the improvemet o a coectivity metric due to the itroductio of a potetial cadidate. If the improvemet is good eough, the the cadidate is kept, otherwise it is rejected. Object Istace heuristic [Yeh95]: It computes the coected compoets of this graph ad cosiders them as ASE cadidates. Our similarity clusterig differs from these techiques i that it takes ito accout how frequetly a variable is used while creatig cadidates. This addresses oe of the two causes of massive compoets reported by Yeh et al. [Yeh95] of exteral variables or structures used throughout the system. Givig more weight to variables used ifrequetly ca alleviate this problem Schwake s Approach I [Schw91], Schwake defies a similarity metric used to group fuctios ito modules. This approach differs from previous approaches i that it geerates cadidates usig a metric which provides a more refied view o the relatioships betwee program etities. The previous approaches compute coected compoets or other fixed patters i a graph. I cotrast, whether these patters are preset or ot, Schwake s approach deals with cotiuous values which reflect the degrees of similarity. This is computed as Sim idirect give i sectio 3.3. The similarity clusterig approach exploits these uaces, but exteds the metric i the directios summarized i Table Similarity Similarity metrics have bee researched extesively by the AI commuity, i particular the case-based reasoig commuity. May aspects of this research focus o specific eeds of this commuity, for example Aamodt [Aamo94] records kowledge about the field i order to provide explaatios. However, some refereces like Richter [Rich92] preset a good overview of the basic ideas ad itroduce learig approaches which ca be applied to discover the appropriate similarity. A systematic search for the best possible similarity metric is beyod the objective of this research. However, it is future work to idetify what could be applied from related work o similarity metrics. Table 1: Compariso with Schwake s Approach Schwake s Approach 5. Experimet Setup I order to evaluate our similarity clusterig approach, it was applied to three medium-size programs, ad the results were the compared to the atomic compoets idetified by software egieers. The compoets idetified by the approach are called the cadidate compoets. The atomic compoets idetified by software egieers will be called referece compoets. This sectio summarizes the experimetal setup ad the aalysis method used Systems Studied Article s Approach Domai routies routies user-defied types global variables Weights Shao ifo. Shao ifo. edges weight which reflect the type of relatio betwee etities features iformal ifo. usage of o-local ames ot used type relatios usage relatios call relatios tokes i idetifiers pre- ad postfix i idetifiers file direct liks values = 0 or 1 cotiuous values betwee 0 ad 1 similarity betwee groups maximum similarity betwee elemets average similarity betwee elemets The aalyses described above were applied to three medium size C programs (see Table 2 for their characteristics). Aero is a X widow system-based simulator for rigid body systems [Kell95], bash is a Uix shell, ad CVS is a tool for cotrollig cocurret software developmet.

6 System Name Versio 5.2. Huma Aalysts Table 2. Systems Studied Lies of Code # User Defied Types # Global Variables Five software egieers were give the task of idetifyig atomic compoets i each system. These systems were ukow to them. There was o overlap of their work. They eeded about 20 hours for each system to gather the atomic compoets of the respective systems. Details cocerig the guidelies give to the software egieers, their experiece,ad how the task was divided amog them are described i [Gira97b]. Table 3 shows the respective umbers of all forms of atomic compoets (abstract data types, abstract state ecapsulatio, hybrid atomic compoets) that were idetified by the group of software egieers for each studied system. The variatio i experiece ad the umber of people workig o each system prevet compariso of differet techiques across systems util cross-validatio ad future studies characterize the importace of these factors. However, prelimiary ispectio of the idetified atomic compoets foud o aberrat compoets. Furthermore, the fact that oe of the software egieers kew the automatic aalyses to be applied to the systems, preveted bias toward a specific techique Compariso of Cadidate ad Referece Compoets # User Defied Routies aero Kloc bash Kloc cvs Kloc Table 3. Referece Atomic Compoets. System #ADT #ASE #Hybrid Aero Bash CVS This subsectio explais how imperfect matches betwee cadidate ad referece compoets are compared ad classified. Cadidate compoets Cs ad referece compoets Rs are compared usig a approximate matchig to accommodate the fact that the distributio of fuctios, global variables, ad types ito atomic compoets is sometimes subjective. We treat oe compoet S as part of aother compoet T (deoted by S << T) if at least 70 percet of the elemets of S are also i T. Based o this approximatio, the geerated cadidates are classified ito 3 categories accordig to their usefuless to a software egieer lookig for atomic compoets: Good whe the match betwee a cadidate C ad a referece R is close (i.e., C << R ad R << C). Matches of this type require a quick verificatio i order to idetify the few elemets which should be removed or added to the atomic compoet. Ok whe the relatioship holds oly i oe directio for cadidates C i ad refereces R i : - C i << R, but ot R << C i (i > 0) - R i << C, but ot C <<R i (i > 0) Partial matches of this type require more attetio to split, combie, or refie a compoet. Bad cadidate compoets are ot close eough to the referece compoets to guide the software egieer s work Accuracy I order to idicate the quality of imperfect matches of cadidate ad referece compoets, a accuracy factor has bee associated with each match. The accuracy betwee a cadidate C ad a referece R is computed by the followig formula: C R accuracy( C, R) = C R For matches betwee more tha two compoets (~1 ad 1~) the uio of all elemets of the compoets is used to compute the accuracy. The accuracy is ot defied for ~m matches, because the m refereces are ot always uique. 6. Results This sectio compares the atomic compoets recovered by similarity clusterig with those recovered by other techiques. The it discusses the impact of false positives. Bechmark Results. The case study [Gira97b] applied the followig techiques to recover atomic compoets o the three systems described here ad used the same evaluatio setup: same module [Gira97a] part type [Oga94] iteral access (a adapted versio of [Yeh95] that combies results of Yeh et al. s iteral access ad object istace heuristic). delta IC (a adaptatio of [Caf93b])

7 Schwake (a miimal adaptatio of [Schw91]) which is modified oly to cosider variables ad types as well as fuctios. All other parameters remai as described i [Schw91]. The umber of recovered ADTs ad ASEs for each system usig the above techiques are reported i the case study [Gira97b]. There, the results are aalyzed i more detail. I Table 4 we cotrast these results with the outcome of our ew aalyzig techique (last lie of the table). The table etries correspod to the umber of compoets (good + ok) recovered by each techique multiplied by their accuracy. It ca be observed that similarity clusterig idetifies cosiderably more ADTs ad ASEs tha the other techiques except for the ASEs of CVS ad Aero. For approaches that are ot able to detect a certai kid of atomic compoet, the respective etries i Table 4 are left empty. Because of lack of space we leave out the results for hybrid compoets. They cofirm the results for ADT ad ASE detectio. Table 4: Recovery Summary Techique aero bash cvs adt ase adt ase adt ase Same Module Part Type Iteral Access Delta IC Schwake Similarity Clusterig However, idetifyig these additioal compoets does come with a high price: with the curret implemetatio, the umber of false positives (bad category) is sigificatly larger as Table 5 shows. Table 5: False Positive Atomic Compoets Techique aero bash cvs Same Module Iteral Access Part Type Delta IC Schwake Similarity clusterig I gatherig the results preseted here, we used 0.15 (aero & cvs) ad 0.25 (bash) as thresholds for the clusterig algorithm outlied i sectio 3.1. I practice, whe the umber of cadidates is too large, oe ca decide to modify the threshold to obtai less cadidates or to use the other methods. For example, whe the threshold for bash is raised from 0.3 to 0.4, the umber of cadidates drops from 209 to 135 cadidates, but the umber of good matches drops from 6 to 2. It is a topic of further research to fid a way to reduce the umber of false positives. 7. Coclusios I this article, we preseted a ew approach to extract atomic compoets (abstract data types ad abstract state ecapsulatios i this paper) from source code. At the core of our work is a clusterig method based o a similarity metric betwee elemetary program etities (e.g., routies, types, ad variables) ispired by the work of Schwake [Schw91]. I cotrast to the origial approach of Schwake, we geeralized the similarity metric to take ito accout edge-depedet weights ad iformal iformatio extracted from idetifier ad file ames. Our experimetal results show that these extesios improve the quality ad quatity of atomic compoets foud. We evaluated the performace of this approach i the cotext where it is importat to recover as may of these as possible. We compared the compoets idetified by a group of software egieers o three C systems (30-38 Kloc) to the compoets idetified by similarity clusterig ad five other published approaches. I most cases, our similarity clusterig approach idetifies more atomic compoets tha the other approaches. However, the goal of recogizig atomic compoets of the architecture of software systems is oly partially solved. Though givig better results tha other methods proposed i the literature, our clusterig method recovers oly a portio of them ad would beefit from beig combied with the results of other approaches. Also, the price to pay for these results is a high umber of false positives. I practice, this approach would be applied to a system to suggest a list of cadidates which are to be reviewed by software egieers. Reviewig cadidates is much faster tha lookig for the atomic compoets i the source code. Fidig atomic cadidates i the code took o average 20 hours for each of the systems studied. Whe there are too may cadidates to review for the time available, the practitioer ca adjust the threshold to reduce the umber of cadidates or he might select to use a alterative approach. I both cases, the case study reported i this paper could help him amke a iformed decisio, beig aware of the trade-offs ivolved. I summary, despite its drawbacks, the similarity clusterig approach is a useful tool for idetifyig atomic compoets. It is a good complemet to existig approaches ad ca be combied with those.

8 Future work Develop meas for reducig the umber of false positives i cadidates. Possibilities ivestigated iclude statistical filterig of cadidates ad better parametrizatio. Study the relatios betwee the various parameters of the approach tryig to fid out which oes are systemdepedet. Develop a systematic process to establish the parameters ad report experimetal results. Explore how the various approaches for idetifyig atomic compoets ca be combied. Ackowledgmet We would like to thak Jea-Marc DeBaud ad Erhard Plödereder for their support to this project ad their isightful iputs to this research. We would like to express special thaks to Joachim Bayer, Hiltrud Betz, Kristia Ludqvist, Mia Mäkäräie, ad Klaus Schmid for their maual aalysis of the three subject systems used i our compariso. Refereces [Aamo94] [Bigg89] [Caf93a] A. Aamodt. Topic i Case-Based Reasoig, chapter Explaatio-Based Case-Based Reasoig, pages Spriger Verlag, T. J. Biggerstaff. Desig recovery for maiteace ad reuse. IEEE Computer, 22:36 49, July G. Cafora, A. Cimitile, ad M. Muro. A reverse egieerig method for idetifyig reusable abstract data type. I Workig Coferece o Reverse Egieerig, pages May [Caf93b] G. Cafora, A. Cimitile, M. Muro, ad C. J. Taylor. Extractig abstract data type from C programs: A case study. I Iteratioal Coferece o Software Maiteace, pages September [Caf94] G. Cafora, A. Cimitile, M.Tortorella, ad M. Muro. A precise method for idetifyig reusable abstract data types i code. I Iteratioal Coferece o Software Maiteace, pages September [Ghez91] [Gira97a] [Gira97b] [Kell95] [Oga94] [Rich92] [Schw91] [Sha72] [Somm92] [Yeh95] C. Ghezzi, M. Jazayeri, ad D. Madrioli. Fudametal Software Egieerig. Pretice Hall Iteratioal, J.F Girard ad R. Koschke. Fidig compoets i a hierarchy of modules: a step towards architectural uderstadig. I Iteratioal Coferece o Software Maiteace, J.F Girard, R. Koschke, ad G. Schied. Compariso of abstract data type ad abstract state ecapsulatio detectio techiques for architectural uderstadig. I Fourth Workig Coferece o Reverse Egieerig, October H. Keller, H. Stolz, A. Ziegler, ad T. Bräul. Virtual mechaics simulatio ad aimatio of rigid body systems with aero. Simulatio for Uderstadig, 65(1):74 79, July R.M. Ogado, S.S. Yau, ad N. Wilde. A object fider for program structure uderstadig i software maiteace. Joural of Software Maiteace, 6(5):261 83, September-October Richter. Classificatio ad learig of similarity measures. I Aual Coferece of the Germa Society for Classificatio, umber 16th. Spriger Verlag, R. W. Schwake. A itelliget tool for re-egieerig software modularity. I Iteratioal Coferece o Software Egieerig, pages 83 92, May C. E. Shao. The mathematical theory of commuicatio. Urbaa: Uiv. of Ill. Press, ISBN I. Sommerville. Software Egieerig. Addiso Wesley, fourth editio, A.S. Yeh, D.Harris, ad H. Reubestei. Recoverig abstract data types ad object istaces from a covetioal procedural laguage. I Secod Workig Coferece o Reverse Egieerig, pages , Los Alamitos, Califoria, July 1995.

Comparison of Abstract Data Type and Abstract State Encapsulation Detection Techniques for Architectural Understanding

Comparison of Abstract Data Type and Abstract State Encapsulation Detection Techniques for Architectural Understanding Copyright by IEEE. Published i Proceedigs of the Workig Coferece o Reverse Egieerig, pp. 66-75, 1997. IEEE Computer Society. Compariso of Abstract Data Type ad Abstract State Ecapsulatio Detectio Techiques

More information

Outline. Research Definition. Motivation. Foundation of Reverse Engineering. Dynamic Analysis and Design Pattern Detection in Java Programs

Outline. Research Definition. Motivation. Foundation of Reverse Engineering. Dynamic Analysis and Design Pattern Detection in Java Programs Dyamic Aalysis ad Desig Patter Detectio i Java Programs Outlie Lei Hu Kamra Sartipi {hul4, sartipi}@mcmasterca Departmet of Computig ad Software McMaster Uiversity Caada Motivatio Research Problem Defiitio

More information

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 1 Itroductio to Computers ad C++ Programmig Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 1.1 Computer Systems 1.2 Programmig ad Problem Solvig 1.3 Itroductio to C++ 1.4 Testig

More information

Bayesian approach to reliability modelling for a probability of failure on demand parameter

Bayesian approach to reliability modelling for a probability of failure on demand parameter Bayesia approach to reliability modellig for a probability of failure o demad parameter BÖRCSÖK J., SCHAEFER S. Departmet of Computer Architecture ad System Programmig Uiversity Kassel, Wilhelmshöher Allee

More information

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON Roberto Lopez ad Eugeio Oñate Iteratioal Ceter for Numerical Methods i Egieerig (CIMNE) Edificio C1, Gra Capitá s/, 08034 Barceloa, Spai ABSTRACT I this work

More information

A New Morphological 3D Shape Decomposition: Grayscale Interframe Interpolation Method

A New Morphological 3D Shape Decomposition: Grayscale Interframe Interpolation Method A ew Morphological 3D Shape Decompositio: Grayscale Iterframe Iterpolatio Method D.. Vizireau Politehica Uiversity Bucharest, Romaia ae@comm.pub.ro R. M. Udrea Politehica Uiversity Bucharest, Romaia mihea@comm.pub.ro

More information

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation 6-0-0 Kowledge Trasformatio from Task Scearios to View-based Desig Diagrams Nima Dezhkam Kamra Sartipi {dezhka, sartipi}@mcmaster.ca Departmet of Computig ad Software McMaster Uiversity CANADA SEKE 08

More information

Chapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 10 Defiig Classes Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 10.1 Structures 10.2 Classes 10.3 Abstract Data Types 10.4 Itroductio to Iheritace Copyright 2015 Pearso Educatio,

More information

3D Model Retrieval Method Based on Sample Prediction

3D Model Retrieval Method Based on Sample Prediction 20 Iteratioal Coferece o Computer Commuicatio ad Maagemet Proc.of CSIT vol.5 (20) (20) IACSIT Press, Sigapore 3D Model Retrieval Method Based o Sample Predictio Qigche Zhag, Ya Tag* School of Computer

More information

Pruning and Summarizing the Discovered Time Series Association Rules from Mechanical Sensor Data Qing YANG1,a,*, Shao-Yu WANG1,b, Ting-Ting ZHANG2,c

Pruning and Summarizing the Discovered Time Series Association Rules from Mechanical Sensor Data Qing YANG1,a,*, Shao-Yu WANG1,b, Ting-Ting ZHANG2,c Advaces i Egieerig Research (AER), volume 131 3rd Aual Iteratioal Coferece o Electroics, Electrical Egieerig ad Iformatio Sciece (EEEIS 2017) Pruig ad Summarizig the Discovered Time Series Associatio Rules

More information

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τεχνολογία Λογισμικού, 7ο/9ο εξάμηνο 2018-2019 Τεχνολογία Λογισμικού Ν.Παπασπύρου, Αν.Καθ. ΣΗΜΜΥ, ickie@softlab.tua,gr

More information

The Magma Database file formats

The Magma Database file formats The Magma Database file formats Adrew Gaylard, Bret Pikey, ad Mart-Mari Breedt Johaesburg, South Africa 15th May 2006 1 Summary Magma is a ope-source object database created by Chris Muller, of Kasas City,

More information

Empirical Validate C&K Suite for Predict Fault-Proneness of Object-Oriented Classes Developed Using Fuzzy Logic.

Empirical Validate C&K Suite for Predict Fault-Proneness of Object-Oriented Classes Developed Using Fuzzy Logic. Empirical Validate C&K Suite for Predict Fault-Proeess of Object-Orieted Classes Developed Usig Fuzzy Logic. Mohammad Amro 1, Moataz Ahmed 1, Kaaa Faisal 2 1 Iformatio ad Computer Sciece Departmet, Kig

More information

Chapter 3 Classification of FFT Processor Algorithms

Chapter 3 Classification of FFT Processor Algorithms Chapter Classificatio of FFT Processor Algorithms The computatioal complexity of the Discrete Fourier trasform (DFT) is very high. It requires () 2 complex multiplicatios ad () complex additios [5]. As

More information

Goals of this Lecture Activity Diagram Example

Goals of this Lecture Activity Diagram Example Goals of this Lecture Activity Diagram Example Object-Orieted Aalysis ad Desig - Fall 998 Preset a example activity diagram Ð Relate to requiremets, use cases, ad class diagrams Also, respod to a questio

More information

IncorporatingCluster-BasedRelationshipsin Web Rule Language

IncorporatingCluster-BasedRelationshipsin Web Rule Language IcorporatigCluster-BasedRelatioshipsi Web Rule Laguage Mala Mehrotra Pragati Syergetic ResearchIc. Cupertio. CA mm@pragati-ic.com http://www.pragati-ic.com 1 Itroductio The Sematic Web visio requires rule-based

More information

n Some thoughts on software development n The idea of a calculator n Using a grammar n Expression evaluation n Program organization n Analysis

n Some thoughts on software development n The idea of a calculator n Using a grammar n Expression evaluation n Program organization n Analysis Overview Chapter 6 Writig a Program Bjare Stroustrup Some thoughts o software developmet The idea of a calculator Usig a grammar Expressio evaluatio Program orgaizatio www.stroustrup.com/programmig 3 Buildig

More information

HADOOP: A NEW APPROACH FOR DOCUMENT CLUSTERING

HADOOP: A NEW APPROACH FOR DOCUMENT CLUSTERING Y.K. Patil* Iteratioal Joural of Advaced Research i ISSN: 2278-6244 IT ad Egieerig Impact Factor: 4.54 HADOOP: A NEW APPROACH FOR DOCUMENT CLUSTERING Prof. V.S. Nadedkar** Abstract: Documet clusterig is

More information

Evaluation scheme for Tracking in AMI

Evaluation scheme for Tracking in AMI A M I C o m m u i c a t i o A U G M E N T E D M U L T I - P A R T Y I N T E R A C T I O N http://www.amiproject.org/ Evaluatio scheme for Trackig i AMI S. Schreiber a D. Gatica-Perez b AMI WP4 Trackig:

More information

Improving Template Based Spike Detection

Improving Template Based Spike Detection Improvig Template Based Spike Detectio Kirk Smith, Member - IEEE Portlad State Uiversity petra@ee.pdx.edu Abstract Template matchig algorithms like SSE, Covolutio ad Maximum Likelihood are well kow for

More information

1.2 Binomial Coefficients and Subsets

1.2 Binomial Coefficients and Subsets 1.2. BINOMIAL COEFFICIENTS AND SUBSETS 13 1.2 Biomial Coefficiets ad Subsets 1.2-1 The loop below is part of a program to determie the umber of triagles formed by poits i the plae. for i =1 to for j =

More information

Elementary Educational Computer

Elementary Educational Computer Chapter 5 Elemetary Educatioal Computer. Geeral structure of the Elemetary Educatioal Computer (EEC) The EEC coforms to the 5 uits structure defied by vo Neuma's model (.) All uits are preseted i a simplified

More information

FREQUENCY ESTIMATION OF INTERNET PACKET STREAMS WITH LIMITED SPACE: UPPER AND LOWER BOUNDS

FREQUENCY ESTIMATION OF INTERNET PACKET STREAMS WITH LIMITED SPACE: UPPER AND LOWER BOUNDS FREQUENCY ESTIMATION OF INTERNET PACKET STREAMS WITH LIMITED SPACE: UPPER AND LOWER BOUNDS Prosejit Bose Evagelos Kraakis Pat Mori Yihui Tag School of Computer Sciece, Carleto Uiversity {jit,kraakis,mori,y

More information

c-dominating Sets for Families of Graphs

c-dominating Sets for Families of Graphs c-domiatig Sets for Families of Graphs Kelsie Syder Mathematics Uiversity of Mary Washigto April 6, 011 1 Abstract The topic of domiatio i graphs has a rich history, begiig with chess ethusiasts i the

More information

Ones Assignment Method for Solving Traveling Salesman Problem

Ones Assignment Method for Solving Traveling Salesman Problem Joural of mathematics ad computer sciece 0 (0), 58-65 Oes Assigmet Method for Solvig Travelig Salesma Problem Hadi Basirzadeh Departmet of Mathematics, Shahid Chamra Uiversity, Ahvaz, Ira Article history:

More information

Image Segmentation EEE 508

Image Segmentation EEE 508 Image Segmetatio Objective: to determie (etract) object boudaries. It is a process of partitioig a image ito distict regios by groupig together eighborig piels based o some predefied similarity criterio.

More information

On-line cursive letter recognition using sequences of local minima/maxima. Robert Powalka

On-line cursive letter recognition using sequences of local minima/maxima. Robert Powalka O-lie cursive letter recogitio usig sequeces of local miima/maxima Summary Robert Powalka 19 th August 1993 This report presets the desig ad implemetatio of a o-lie cursive letter recogizer usig sequeces

More information

Appendix D. Controller Implementation

Appendix D. Controller Implementation COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Appedix D Cotroller Implemetatio Cotroller Implemetatios Combiatioal logic (sigle-cycle); Fiite state machie (multi-cycle, pipelied);

More information

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming Lecture Notes 6 Itroductio to algorithm aalysis CSS 501 Data Structures ad Object-Orieted Programmig Readig for this lecture: Carrao, Chapter 10 To be covered i this lecture: Itroductio to algorithm aalysis

More information

On Modeling Software Architecture Recovery as Graph Matching

On Modeling Software Architecture Recovery as Graph Matching O Modelig Software Architecture Recovery as Graph Matchig Kamra Sartipi Kostas Kotogiais Uiversity of Waterloo School of Computer Sciece ad, Dept. of Electrical & Computer Egieerig Waterloo, ON. NL 3G,

More information

Keywords Software Architecture, Object-oriented metrics, Reliability, Reusability, Coupling evaluator, Cohesion, efficiency

Keywords Software Architecture, Object-oriented metrics, Reliability, Reusability, Coupling evaluator, Cohesion, efficiency Volume 3, Issue 9, September 2013 ISSN: 2277 128X Iteratioal Joural of Advaced Research i Computer Sciece ad Software Egieerig Research Paper Available olie at: www.ijarcsse.com Couplig Evaluator to Ehace

More information

What are we going to learn? CSC Data Structures Analysis of Algorithms. Overview. Algorithm, and Inputs

What are we going to learn? CSC Data Structures Analysis of Algorithms. Overview. Algorithm, and Inputs What are we goig to lear? CSC316-003 Data Structures Aalysis of Algorithms Computer Sciece North Carolia State Uiversity Need to say that some algorithms are better tha others Criteria for evaluatio Structure

More information

Dynamic Programming and Curve Fitting Based Road Boundary Detection

Dynamic Programming and Curve Fitting Based Road Boundary Detection Dyamic Programmig ad Curve Fittig Based Road Boudary Detectio SHYAM PRASAD ADHIKARI, HYONGSUK KIM, Divisio of Electroics ad Iformatio Egieerig Chobuk Natioal Uiversity 664-4 Ga Deokji-Dog Jeoju-City Jeobuk

More information

CHAPTER IV: GRAPH THEORY. Section 1: Introduction to Graphs

CHAPTER IV: GRAPH THEORY. Section 1: Introduction to Graphs CHAPTER IV: GRAPH THEORY Sectio : Itroductio to Graphs Sice this class is called Number-Theoretic ad Discrete Structures, it would be a crime to oly focus o umber theory regardless how woderful those topics

More information

New Results on Energy of Graphs of Small Order

New Results on Energy of Graphs of Small Order Global Joural of Pure ad Applied Mathematics. ISSN 0973-1768 Volume 13, Number 7 (2017), pp. 2837-2848 Research Idia Publicatios http://www.ripublicatio.com New Results o Eergy of Graphs of Small Order

More information

Improvement of the Orthogonal Code Convolution Capabilities Using FPGA Implementation

Improvement of the Orthogonal Code Convolution Capabilities Using FPGA Implementation Improvemet of the Orthogoal Code Covolutio Capabilities Usig FPGA Implemetatio Naima Kaabouch, Member, IEEE, Apara Dhirde, Member, IEEE, Saleh Faruque, Member, IEEE Departmet of Electrical Egieerig, Uiversity

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Pytho Programmig: A Itroductio to Computer Sciece Chapter 1 Computers ad Programs 1 Objectives To uderstad the respective roles of hardware ad software i a computig system. To lear what computer scietists

More information

On Modeling Software Architecture Recovery as Graph Matching

On Modeling Software Architecture Recovery as Graph Matching O Modelig Software Architecture Recovery as Graph Matchig Kamra Sartipi Kostas Kotogiais Uiversity of Waterloo School of Computer Sciece ad, Dept. of Electrical & Computer Egieerig Waterloo, ON. NL 3G,

More information

On Infinite Groups that are Isomorphic to its Proper Infinite Subgroup. Jaymar Talledo Balihon. Abstract

On Infinite Groups that are Isomorphic to its Proper Infinite Subgroup. Jaymar Talledo Balihon. Abstract O Ifiite Groups that are Isomorphic to its Proper Ifiite Subgroup Jaymar Talledo Baliho Abstract Two groups are isomorphic if there exists a isomorphism betwee them Lagrage Theorem states that the order

More information

Chapter 5. Functions for All Subtasks. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 5. Functions for All Subtasks. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 5 Fuctios for All Subtasks Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 5.1 void Fuctios 5.2 Call-By-Referece Parameters 5.3 Usig Procedural Abstractio 5.4 Testig ad Debuggig

More information

Data diverse software fault tolerance techniques

Data diverse software fault tolerance techniques Data diverse software fault tolerace techiques Complemets desig diversity by compesatig for desig diversity s s limitatios Ivolves obtaiig a related set of poits i the program data space, executig the

More information

Extending The Sleuth Kit and its Underlying Model for Pooled Storage File System Forensic Analysis

Extending The Sleuth Kit and its Underlying Model for Pooled Storage File System Forensic Analysis Extedig The Sleuth Kit ad its Uderlyig Model for Pooled File System Foresic Aalysis Frauhofer Istitute for Commuicatio, Iformatio Processig ad Ergoomics Ja-Niclas Hilgert* Marti Lambertz Daiel Plohma ja-iclas.hilgert@fkie.frauhofer.de

More information

System and Software Architecture Description (SSAD)

System and Software Architecture Description (SSAD) System ad Software Architecture Descriptio (SSAD) Diabetes Health Platform Team #6 Jasmie Berry (Cliet) Veerav Naidu (Project Maager) Mukai Nog (Architect) Steve South (IV&V) Vijaya Prabhakara (Quality

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Pytho Programmig: A Itroductio to Computer Sciece Chapter 6 Defiig Fuctios Pytho Programmig, 2/e 1 Objectives To uderstad why programmers divide programs up ito sets of cooperatig fuctios. To be able to

More information

Sectio 4, a prototype project of settig field weight with AHP method is developed ad the experimetal results are aalyzed. Fially, we coclude our work

Sectio 4, a prototype project of settig field weight with AHP method is developed ad the experimetal results are aalyzed. Fially, we coclude our work 200 2d Iteratioal Coferece o Iformatio ad Multimedia Techology (ICIMT 200) IPCSIT vol. 42 (202) (202) IACSIT Press, Sigapore DOI: 0.7763/IPCSIT.202.V42.0 Idex Weight Decisio Based o AHP for Iformatio Retrieval

More information

What are Information Systems?

What are Information Systems? Iformatio Systems Cocepts What are Iformatio Systems? Roma Kotchakov Birkbeck, Uiversity of Lodo Based o Chapter 1 of Beett, McRobb ad Farmer: Object Orieted Systems Aalysis ad Desig Usig UML, (4th Editio),

More information

Architectural styles for software systems The client-server style

Architectural styles for software systems The client-server style Architectural styles for software systems The cliet-server style Prof. Paolo Ciacarii Software Architecture CdL M Iformatica Uiversità di Bologa Ageda Cliet server style CS two tiers CS three tiers CS

More information

Analysis of Class Design Coupling Based on Information Entropy Di Jiang 1,2, a, Hua Zhou 1,2,b and Xingping Sun 1,2,c

Analysis of Class Design Coupling Based on Information Entropy Di Jiang 1,2, a, Hua Zhou 1,2,b and Xingping Sun 1,2,c Advaced Materials Research Olie: 2013-01-25 IN: 1662-8985, Vol. 659, pp 196-201 doi:10.4028/www.scietific.et/amr.659.196 2013 Tras Tech Publicatios, witzerlad Aalysis of Class Desig Couplig Based o Iformatio

More information

ISSN (Print) Research Article. *Corresponding author Nengfa Hu

ISSN (Print) Research Article. *Corresponding author Nengfa Hu Scholars Joural of Egieerig ad Techology (SJET) Sch. J. Eg. Tech., 2016; 4(5):249-253 Scholars Academic ad Scietific Publisher (A Iteratioal Publisher for Academic ad Scietific Resources) www.saspublisher.com

More information

Algorithms for Disk Covering Problems with the Most Points

Algorithms for Disk Covering Problems with the Most Points Algorithms for Disk Coverig Problems with the Most Poits Bi Xiao Departmet of Computig Hog Kog Polytechic Uiversity Hug Hom, Kowloo, Hog Kog csbxiao@comp.polyu.edu.hk Qigfeg Zhuge, Yi He, Zili Shao, Edwi

More information

performance to the performance they can experience when they use the services from a xed location.

performance to the performance they can experience when they use the services from a xed location. I the Proceedigs of The First Aual Iteratioal Coferece o Mobile Computig ad Networkig (MobiCom 9) November -, 99, Berkeley, Califoria USA Performace Compariso of Mobile Support Strategies Rieko Kadobayashi

More information

How do we evaluate algorithms?

How do we evaluate algorithms? F2 Readig referece: chapter 2 + slides Algorithm complexity Big O ad big Ω To calculate ruig time Aalysis of recursive Algorithms Next time: Litterature: slides mostly The first Algorithm desig methods:

More information

New HSL Distance Based Colour Clustering Algorithm

New HSL Distance Based Colour Clustering Algorithm The 4th Midwest Artificial Itelligece ad Cogitive Scieces Coferece (MAICS 03 pp 85-9 New Albay Idiaa USA April 3-4 03 New HSL Distace Based Colour Clusterig Algorithm Vasile Patrascu Departemet of Iformatics

More information

. Written in factored form it is easy to see that the roots are 2, 2, i,

. Written in factored form it is easy to see that the roots are 2, 2, i, CMPS A Itroductio to Programmig Programmig Assigmet 4 I this assigmet you will write a java program that determies the real roots of a polyomial that lie withi a specified rage. Recall that the roots (or

More information

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5 Morga Kaufma Publishers 26 February, 28 COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Chapter 5 Set-Associative Cache Architecture Performace Summary Whe CPU performace icreases:

More information

EMPIRICAL ANALYSIS OF FAULT PREDICATION TECHNIQUES FOR IMPROVING SOFTWARE PROCESS CONTROL

EMPIRICAL ANALYSIS OF FAULT PREDICATION TECHNIQUES FOR IMPROVING SOFTWARE PROCESS CONTROL Iteratioal Joural of Iformatio Techology ad Kowledge Maagemet July-December 2012, Volume 5, No. 2, pp. 371-375 EMPIRICAL ANALYSIS OF FAULT PREDICATION TECHNIQUES FOR IMPROVING SOFTWARE PROCESS CONTROL

More information

Improving Face Recognition Rate by Combining Eigenface Approach and Case-based Reasoning

Improving Face Recognition Rate by Combining Eigenface Approach and Case-based Reasoning Improvig Face Recogitio Rate by Combiig Eigeface Approach ad Case-based Reasoig Haris Supic, ember, IAENG Abstract There are may approaches to the face recogitio. This paper presets a approach that combies

More information

Data Warehousing. Paper

Data Warehousing. Paper Data Warehousig Paper 28-25 Implemetig a fiacial balace scorecard o top of SAP R/3, usig CFO Visio as iterface. Ida Carapelle & Sophie De Baets, SOLID Parters, Brussels, Belgium (EUROPE) ABSTRACT Fiacial

More information

Lecture 5. Counting Sort / Radix Sort

Lecture 5. Counting Sort / Radix Sort Lecture 5. Coutig Sort / Radix Sort T. H. Corme, C. E. Leiserso ad R. L. Rivest Itroductio to Algorithms, 3rd Editio, MIT Press, 2009 Sugkyukwa Uiversity Hyuseug Choo choo@skku.edu Copyright 2000-2018

More information

EFFECT OF QUERY FORMATION ON WEB SEARCH ENGINE RESULTS

EFFECT OF QUERY FORMATION ON WEB SEARCH ENGINE RESULTS Iteratioal Joural o Natural Laguage Computig (IJNLC) Vol. 2, No., February 203 EFFECT OF QUERY FORMATION ON WEB SEARCH ENGINE RESULTS Raj Kishor Bisht ad Ila Pat Bisht 2 Departmet of Computer Sciece &

More information

Computers and Scientific Thinking

Computers and Scientific Thinking Computers ad Scietific Thikig David Reed, Creighto Uiversity Chapter 15 JavaScript Strigs 1 Strigs as Objects so far, your iteractive Web pages have maipulated strigs i simple ways use text box to iput

More information

Heaps. Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015

Heaps. Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 Presetatio for use with the textbook Algorithm Desig ad Applicatios, by M. T. Goodrich ad R. Tamassia, Wiley, 201 Heaps 201 Goodrich ad Tamassia xkcd. http://xkcd.com/83/. Tree. Used with permissio uder

More information

Pattern Recognition Systems Lab 1 Least Mean Squares

Pattern Recognition Systems Lab 1 Least Mean Squares Patter Recogitio Systems Lab 1 Least Mea Squares 1. Objectives This laboratory work itroduces the OpeCV-based framework used throughout the course. I this assigmet a lie is fitted to a set of poits usig

More information

CS 683: Advanced Design and Analysis of Algorithms

CS 683: Advanced Design and Analysis of Algorithms CS 683: Advaced Desig ad Aalysis of Algorithms Lecture 6, February 1, 2008 Lecturer: Joh Hopcroft Scribes: Shaomei Wu, Etha Feldma February 7, 2008 1 Threshold for k CNF Satisfiability I the previous lecture,

More information

Neuro Fuzzy Model for Human Face Expression Recognition

Neuro Fuzzy Model for Human Face Expression Recognition IOSR Joural of Computer Egieerig (IOSRJCE) ISSN : 2278-0661 Volume 1, Issue 2 (May-Jue 2012), PP 01-06 Neuro Fuzzy Model for Huma Face Expressio Recogitio Mr. Mayur S. Burage 1, Prof. S. V. Dhopte 2 1

More information

Data Structures and Algorithms. Analysis of Algorithms

Data Structures and Algorithms. Analysis of Algorithms Data Structures ad Algorithms Aalysis of Algorithms Outlie Ruig time Pseudo-code Big-oh otatio Big-theta otatio Big-omega otatio Asymptotic algorithm aalysis Aalysis of Algorithms Iput Algorithm Output

More information

Structuring Redundancy for Fault Tolerance. CSE 598D: Fault Tolerant Software

Structuring Redundancy for Fault Tolerance. CSE 598D: Fault Tolerant Software Structurig Redudacy for Fault Tolerace CSE 598D: Fault Tolerat Software What do we wat to achieve? Versios Damage Assessmet Versio 1 Error Detectio Iputs Versio 2 Voter Outputs State Restoratio Cotiued

More information

Fundamentals of Media Processing. Shin'ichi Satoh Kazuya Kodama Hiroshi Mo Duy-Dinh Le

Fundamentals of Media Processing. Shin'ichi Satoh Kazuya Kodama Hiroshi Mo Duy-Dinh Le Fudametals of Media Processig Shi'ichi Satoh Kazuya Kodama Hiroshi Mo Duy-Dih Le Today's topics Noparametric Methods Parze Widow k-nearest Neighbor Estimatio Clusterig Techiques k-meas Agglomerative Hierarchical

More information

The isoperimetric problem on the hypercube

The isoperimetric problem on the hypercube The isoperimetric problem o the hypercube Prepared by: Steve Butler November 2, 2005 1 The isoperimetric problem We will cosider the -dimesioal hypercube Q Recall that the hypercube Q is a graph whose

More information

Redundancy Allocation for Series Parallel Systems with Multiple Constraints and Sensitivity Analysis

Redundancy Allocation for Series Parallel Systems with Multiple Constraints and Sensitivity Analysis IOSR Joural of Egieerig Redudacy Allocatio for Series Parallel Systems with Multiple Costraits ad Sesitivity Aalysis S. V. Suresh Babu, D.Maheswar 2, G. Ragaath 3 Y.Viaya Kumar d G.Sakaraiah e (Mechaical

More information

Improving Information Retrieval System Security via an Optimal Maximal Coding Scheme

Improving Information Retrieval System Security via an Optimal Maximal Coding Scheme Improvig Iformatio Retrieval System Security via a Optimal Maximal Codig Scheme Dogyag Log Departmet of Computer Sciece, City Uiversity of Hog Kog, 8 Tat Chee Aveue Kowloo, Hog Kog SAR, PRC dylog@cs.cityu.edu.hk

More information

Lower Bounds for Sorting

Lower Bounds for Sorting Liear Sortig Topics Covered: Lower Bouds for Sortig Coutig Sort Radix Sort Bucket Sort Lower Bouds for Sortig Compariso vs. o-compariso sortig Decisio tree model Worst case lower boud Compariso Sortig

More information

Improved Random Graph Isomorphism

Improved Random Graph Isomorphism Improved Radom Graph Isomorphism Tomek Czajka Gopal Paduraga Abstract Caoical labelig of a graph cosists of assigig a uique label to each vertex such that the labels are ivariat uder isomorphism. Such

More information

Harris Corner Detection Algorithm at Sub-pixel Level and Its Application Yuanfeng Han a, Peijiang Chen b * and Tian Meng c

Harris Corner Detection Algorithm at Sub-pixel Level and Its Application Yuanfeng Han a, Peijiang Chen b * and Tian Meng c Iteratioal Coferece o Computatioal Sciece ad Egieerig (ICCSE 015) Harris Corer Detectio Algorithm at Sub-pixel Level ad Its Applicatio Yuafeg Ha a, Peijiag Che b * ad Tia Meg c School of Automobile, Liyi

More information

Baan Tools User Management

Baan Tools User Management Baa Tools User Maagemet Module Procedure UP008A US Documetiformatio Documet Documet code : UP008A US Documet group : User Documetatio Documet title : User Maagemet Applicatio/Package : Baa Tools Editio

More information

Image based Cats and Possums Identification for Intelligent Trapping Systems

Image based Cats and Possums Identification for Intelligent Trapping Systems Volume 159 No, February 017 Image based Cats ad Possums Idetificatio for Itelliget Trappig Systems T. A. S. Achala Perera School of Egieerig Aucklad Uiversity of Techology New Zealad Joh Collis School

More information

Mapping Publishing and Mapping Adaptation in the Middleware of Railway Information Grid System

Mapping Publishing and Mapping Adaptation in the Middleware of Railway Information Grid System Mappig Publishig ad Mappig Adaptatio i the Middleware of Railway Iformatio Grid ystem You Gamei, Liao Huamig, u Yuzhog Istitute of Computig Techology, Chiese Academy of cieces, Beijig 00080 gameiu@ict.ac.c

More information

Stone Images Retrieval Based on Color Histogram

Stone Images Retrieval Based on Color Histogram Stoe Images Retrieval Based o Color Histogram Qiag Zhao, Jie Yag, Jigyi Yag, Hogxig Liu School of Iformatio Egieerig, Wuha Uiversity of Techology Wuha, Chia Abstract Stoe images color features are chose

More information

Exact Minimum Lower Bound Algorithm for Traveling Salesman Problem

Exact Minimum Lower Bound Algorithm for Traveling Salesman Problem Exact Miimum Lower Boud Algorithm for Travelig Salesma Problem Mohamed Eleiche GeoTiba Systems mohamed.eleiche@gmail.com Abstract The miimum-travel-cost algorithm is a dyamic programmig algorithm to compute

More information

The Closest Line to a Data Set in the Plane. David Gurney Southeastern Louisiana University Hammond, Louisiana

The Closest Line to a Data Set in the Plane. David Gurney Southeastern Louisiana University Hammond, Louisiana The Closest Lie to a Data Set i the Plae David Gurey Southeaster Louisiaa Uiversity Hammod, Louisiaa ABSTRACT This paper looks at three differet measures of distace betwee a lie ad a data set i the plae:

More information

arxiv: v2 [cs.ds] 24 Mar 2018

arxiv: v2 [cs.ds] 24 Mar 2018 Similar Elemets ad Metric Labelig o Complete Graphs arxiv:1803.08037v [cs.ds] 4 Mar 018 Pedro F. Felzeszwalb Brow Uiversity Providece, RI, USA pff@brow.edu March 8, 018 We cosider a problem that ivolves

More information

Load balanced Parallel Prime Number Generator with Sieve of Eratosthenes on Cluster Computers *

Load balanced Parallel Prime Number Generator with Sieve of Eratosthenes on Cluster Computers * Load balaced Parallel Prime umber Geerator with Sieve of Eratosthees o luster omputers * Soowook Hwag*, Kyusik hug**, ad Dogseug Kim* *Departmet of Electrical Egieerig Korea Uiversity Seoul, -, Rep. of

More information

Adaptive Resource Allocation for Electric Environmental Pollution through the Control Network

Adaptive Resource Allocation for Electric Environmental Pollution through the Control Network Available olie at www.sciecedirect.com Eergy Procedia 6 (202) 60 64 202 Iteratioal Coferece o Future Eergy, Eviromet, ad Materials Adaptive Resource Allocatio for Electric Evirometal Pollutio through the

More information

In this chapter, you learn the concepts and terminology of databases and

In this chapter, you learn the concepts and terminology of databases and A Itroductio to Database Developmet I this chapter, you lear the cocepts ad termiology of databases ad how to desig the tables that your forms ad reports will use. Fially, you build the actual tables used

More information

One advantage that SONAR has over any other music-sequencing product I ve worked

One advantage that SONAR has over any other music-sequencing product I ve worked *gajedra* D:/Thomso_Learig_Projects/Garrigus_163132/z_productio/z_3B2_3D_files/Garrigus_163132_ch17.3d, 14/11/08/16:26:39, 16:26, page: 647 17 CAL 101 Oe advatage that SONAR has over ay other music-sequecig

More information

GE FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III

GE FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III GE2112 - FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III PROBLEM SOLVING AND OFFICE APPLICATION SOFTWARE Plaig the Computer Program Purpose Algorithm Flow Charts Pseudocode -Applicatio Software Packages-

More information

New Fuzzy Color Clustering Algorithm Based on hsl Similarity

New Fuzzy Color Clustering Algorithm Based on hsl Similarity IFSA-EUSFLAT 009 New Fuzzy Color Clusterig Algorithm Based o hsl Similarity Vasile Ptracu Departmet of Iformatics Techology Tarom Compay Bucharest Romaia Email: patrascu.v@gmail.com Abstract I this paper

More information

Reversible Realization of Quaternary Decoder, Multiplexer, and Demultiplexer Circuits

Reversible Realization of Quaternary Decoder, Multiplexer, and Demultiplexer Circuits Egieerig Letters, :, EL Reversible Realizatio of Quaterary Decoder, Multiplexer, ad Demultiplexer Circuits Mozammel H.. Kha, Member, ENG bstract quaterary reversible circuit is more compact tha the correspodig

More information

An Improved Shuffled Frog-Leaping Algorithm for Knapsack Problem

An Improved Shuffled Frog-Leaping Algorithm for Knapsack Problem A Improved Shuffled Frog-Leapig Algorithm for Kapsack Problem Zhoufag Li, Ya Zhou, ad Peg Cheg School of Iformatio Sciece ad Egieerig Hea Uiversity of Techology ZhegZhou, Chia lzhf1978@126.com Abstract.

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 18 Strategies for Query Processig Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio DBMS techiques to process a query Scaer idetifies

More information

A New Bit Wise Technique for 3-Partitioning Algorithm

A New Bit Wise Technique for 3-Partitioning Algorithm Special Issue of Iteratioal Joural of Computer Applicatios (0975 8887) o Optimizatio ad O-chip Commuicatio, No.1. Feb.2012, ww.ijcaolie.org A New Bit Wise Techique for 3-Partitioig Algorithm Rajumar Jai

More information

Automated Schema Matching Techniques: An Exploratory Study

Automated Schema Matching Techniques: An Exploratory Study Res. Lett. If. Math. Sci. (2003) 4, 3-36 Available olie at http://iims.massey.ac.z /research/letters/ Automated Schema Matchig Techiques: A Exploratory Study Xiao Log Su Istitute of Iformatio ad Mathematical

More information

On (K t e)-saturated Graphs

On (K t e)-saturated Graphs Noame mauscript No. (will be iserted by the editor O (K t e-saturated Graphs Jessica Fuller Roald J. Gould the date of receipt ad acceptace should be iserted later Abstract Give a graph H, we say a graph

More information

Chapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 4 Procedural Abstractio ad Fuctios That Retur a Value Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 4.1 Top-Dow Desig 4.2 Predefied Fuctios 4.3 Programmer-Defied Fuctios 4.4

More information

A Novel Feature Extraction Algorithm for Haar Local Binary Pattern Texture Based on Human Vision System

A Novel Feature Extraction Algorithm for Haar Local Binary Pattern Texture Based on Human Vision System A Novel Feature Extractio Algorithm for Haar Local Biary Patter Texture Based o Huma Visio System Liu Tao 1,* 1 Departmet of Electroic Egieerig Shaaxi Eergy Istitute Xiayag, Shaaxi, Chia Abstract The locality

More information

IMP: Superposer Integrated Morphometrics Package Superposition Tool

IMP: Superposer Integrated Morphometrics Package Superposition Tool IMP: Superposer Itegrated Morphometrics Package Superpositio Tool Programmig by: David Lieber ( 03) Caisius College 200 Mai St. Buffalo, NY 4208 Cocept by: H. David Sheets, Dept. of Physics, Caisius College

More information

BASED ON ITERATIVE ERROR-CORRECTION

BASED ON ITERATIVE ERROR-CORRECTION A COHPARISO OF CRYPTAALYTIC PRICIPLES BASED O ITERATIVE ERROR-CORRECTIO Miodrag J. MihaljeviC ad Jova Dj. GoliC Istitute of Applied Mathematics ad Electroics. Belgrade School of Electrical Egieerig. Uiversity

More information

Visualization of Gauss-Bonnet Theorem

Visualization of Gauss-Bonnet Theorem Visualizatio of Gauss-Boet Theorem Yoichi Maeda maeda@keyaki.cc.u-tokai.ac.jp Departmet of Mathematics Tokai Uiversity Japa Abstract: The sum of exteral agles of a polygo is always costat, π. There are

More information

Effect of control points distribution on the orthorectification accuracy of an Ikonos II image through rational polynomial functions

Effect of control points distribution on the orthorectification accuracy of an Ikonos II image through rational polynomial functions Effect of cotrol poits distributio o the orthorectificatio accuracy of a Ikoos II image through ratioal polyomial fuctios Marcela do Valle Machado 1, Mauro Homem Atues 1 ad Paula Debiasi 1 1 Federal Rural

More information

DATA MINING II - 1DL460

DATA MINING II - 1DL460 DATA MINING II - 1DL460 Sprig 2017 A secod course i data miig http://www.it.uu.se/edu/course/homepage/ifoutv2/vt17/ Kjell Orsbor Uppsala Database Laboratory Departmet of Iformatio Techology, Uppsala Uiversity,

More information