Evaluating Software Maintenance Cost Using Functional Redundancy Metrics
|
|
- Phoebe Warren
- 5 years ago
- Views:
Transcription
1 1 Evaluating Software Maintenance Cost Using Functional Redundancy Metrics Takeo Imai, Yoshio Kataoka, Tetsuji Fukaya System Engineering Laboratory Corporate Research & Development Center Toshiba Corp. a Abstract Source code copying for reuse (code cloning) is often observed in software implementations. Such code cloning causes difficulty when software functionalities are modified: i.e, cloned codes increase the maintenance cost of software. We aim to estimate the maintenance cost caused by clones. We propose a novel approach, which evaluates influence of cloned codes over the maintenance cost. The basic idea is to measure Functional Redundancy(FR): A degree of propagation of clone-potential functions. FR is measured as follows: First, we cluster functions in the software according to similarities between them. Second, we make n-ary weighted tree(fr tree) based on the cluster. Finally, we measure FR by weight of each node in FR-tree. In this paper, we describe the details of our proposal. We also apply the approach to 17K-ELOC C code to demonstrate its effectiveness. Keywords FR, Functional Redundancy, Code Cloning, Software Maintenance, Similarity, Cost I. INTRODUCTION In most software projects, quite a large proportion of the cost is used in maintenance [13]. We believe some effective method is needed to reduce the cost on software maintenance. Our primal objective is to construct a cost-effective method for maintenance management, such as the following: 1. Cost estimation on software maintainability 2. Problem detection using the estimation result 3. Activity control on the maintenance implementation In order to achieve our purpose, the achievement of the first step is the most important issue of our study. We therefore aim to evaluate the maintenance cost with quantitative metrics. There are several factors that affect the maintenance cost. One of the factors is code cloning, which occurs quite often. It also has a severe impact on the cost. We discuss the detail of this problem below. Code cloning is a software reuse technique using source code copying. Developers t to use this technique commonly for various reasons. One of the reasons is that it is easier to use existing software than to program from scratch. Another is that the code which developers want to reuse is usually not designed to be reused as a black-box. Therefore, many similar segments of a code are commonly observed throughout a software or a software project. Such scattered segments of codes (we call them simply as cloned codes or clones) however cause adverse effects, some of which are listed in [5]. We cite several such items: All authors are with System Engineering Laboratory, Corporate Research & Development Center, Toshiba Corporation, 1 Komukai-Cho, Saiwai-Ku, Kawasaki , Japan. Tel: Fax: E- mail:{takeo.imai, yoshio.kataoka, tetsuji.fukaya}@toshiba.co.jp The same software bug reoccurs throughout software despite many local fixes. Code reviews and inspections are needlessly exted. It becomes difficult to locate and fix all instances of a particular mistake. Software defects are replicated through the system. Developers create multiple unique fixes for bugs with no method of resolving the variations into a standard fix. The items above principally cause problems when a software is modified. If developers wish to modify a code segment, all clones of the segment potentially need to be modified, or the same software bug (or enhancement) reoccurs. That is why we focus on the code cloning problem as a significant cost-intensive issue. In this paper, our purpose is to construct a metric to estimate the software modification cost caused by code clones. Our first candidate for such metric was clone percentage, the ratio of cloned codes to the whole source code the in size; in LOC (Lines of Code), for example. We initially thought this way for the following reasons: In a previous work, Bosch [4] estimated the modification cost with the following equation. cost = requests LOC/request hour/loc where request is a modification request for the source code. Bosch also introduced the study of Henry et al.[6], which took statistics of software productivity with LOC/hour. Therefore, if LOC/request is calculated, we can estimate the cost per change request. Hence we thought clone percentage as the estimation of LOC caused by clones, and attempted to apply the equation above as our cost-estimation model. We, however, found an oversight in such a model. As we cited above, it becomes difficult to locate and fix all clones: i.e., clones cause an increased cost on identification: identifying the segments to be modified in the source code. Many of previous works dealing with clones [3][7][9][8][1] have focused on code detection techniques. This fact indicates the difficulty of identifying clones in a software. Here we assume a simple model of software modification with clones. The NS chart in Fig. 1 shows the flow of the model. When a request occurs, the modified place and its clones are identified, manually or with a clone-detection method. After
2 2 True True (requested) identify design implement another clone? False another change? False The second feature is to use similarity between two functions. Here, we do not indicate the definition of similarity. We simply assume that similarity is described in the real number, and the range is [0..1], such as percentage. Clones (clone-potential functions) rarely match each other exactly. i.e., clones match in some similarity. As we described in Section I, clones may increase the number of modified times. Therefore, as the similarity becomes larger, the chance of required modification may become greater. We must note here that the method for calculating similarity is not given in this paper, because the method is out of our concern. We can use various methods here for similarity estimation. Fig. 1. software modification model with clones that fixed codes are designed and implemented onto identified places. We must note the implement phase are repeated by the number of clones. Moreover, there may be another pattern of clones or a leak in clone detection: They can make other requests of modification. In this case the whole modification steps are iterated again, and the maintenance cost increases drastically. That is to say, there are two major factors that increase the maintenance cost: the modified size and the number of modified times. And the second factor is increased by clone propagation: the number of clones and the number of patterns of clones. In this paper, we focus on the clone propagation, and propose a metric named Functional Redundancy (FR), which stands for a degree of clone-potential function propagation. This paper is organized as follows: First, we discuss the detail of FR in Section II. We then apply our FR evaluation approach to 17K-ELOC sized practical software written in C in Section III. In Section IV we introduce some additional uses of FR for clone management. We discuss related works in comparison with ours in Section V. Finally we conclude this paper in Section VI. II. FUNCTIONAL REDUNDANCY A. Basic idea The FR metric has two features. First, the metric focuses on clone-potential functions: functions that possibly contain clones. One of the reasons of our focusing on clone-potential functions is a nature of clones: a segment of code and its clones basically have the same functionality, while a function in a source code is an explicit unit of functionality in a software. In addition, our experience alludes that many functions are cloned entirely. Another reason is, as we described above, that we take clone propagation into consideration in evaluating FR. In light of our objective, it is sufficient to estimate the number of functions containing clones. Such a feature, however, has a demerit. The estimation result might be inaccurate when the size of each function is uneven because we have to normalize the size of a source code by function. The suitability of the feature will be evaluated later. B. Measurement of FR B.1 similarity between functions Functions and their similarities can be illustrated as in Fig.2. Circles which contain numbers mean different functions (from 1 to 8), and values on each lines stand for the similarity ([0..1] in this figure) between two functions Fig. 2. functions and their similarity With the similarity, functions form some classified groups, which are shown as ovals in Fig. 2. The classification heuristic is as in the following, for example: 1. Set a threshold as the minimum (i.e, 0). 2. Raise the threshold. 3. If a value of the similarity becomes lower than the threshold, connect the relation associated with the value, and group functions that are connected with one another. 4. Return to 2 until the threshold comes up to the maximum (i.e, 1). Otherwise quit. In the example of Fig. 2, functions are grouped into two groups when the threshold is equal to 0.1: {1,2,3,4,5} and {6,7,8}. When the threshold is 0.4, there are 4 groups, {1,2,3}, {4, 5}, {6}, and {7,8}. C. FR tree An FR tree is an n-ary tree with which functions and their similarities are illustrated. The example of Fig.2 with a FR tree is shown in Fig. 3.
3 3 0.1(8) 0.4(5) 0.8(3) 1 0.6(2) 0.4(3) 0.7(2) Node: Fig. 3. FR tree Similarity (NL) procedure MakeTree(pairs: array of Pair) var T: Tree; N: Node; begin sort_by_similarity(pairs, decreasing); for i := 1 to sizeof(pairs) do begin if T contains pairs[i].node[1] and T contains pairs[i].node[2] then return; for j := 1 to 2 do begin new(n); register(n, T); if T contains pairs[i].node[j] then add tree_top(pairs[i].node[j]) to N.child; else add pairs[i].node[j] to N.child; An FR tree consists of nodes and their parent-child relations, like an ordinary n-ary tree. The tree also has a top (a node that does not have the parent node), external nodes (nodes that do not have the child node) and internal nodes (nodes that are not external ones). An external node in a tree corresponds to a function in one software. Every function has one corresponding external node. An internal node has a node (or nodes) whether internal or external. Additionally, an internal node has two extra weights: The number of leaves (NL) and Similarity. These weights are defined as follows. 1. Given any node N, NL of N (NL(N)) is the number of leaves N contains. Here, a leaf contained in a node N corresponds to (a) an external node that is a child of N, or (b) a leaf that is contained in a child of N. The number of leaves a node K contains can be calculated recursively, as follows. leaf(k) = leaf(k c ) + child ext (K) where K c child int(k) leaf(n) is a set of all leaves N contains, child ext (N) is a set of all external child nodes of N, child int (N) is a set of all internal child nodes of N, and S be the size of a set S. NL(N) corresponds to leaf(n). 2. Prior to defining similarity weight, we introduce someleaf(k) and conleaf(k, s). Let a node K have n children. We define a set someleaf(k) ={k 1,k 2..., k n }, where every element k i is K s child node when k i is external, or one of the leaves K s child has when k i is internal. Given the similarity s, we define conleaf(k, s) that satisfies the condition below: conleaf(k, s) def = {someleaf(k) return; Fig. 4. Algorithm of Making FR Tree k someleaf(k), k i someleaf(k), similar(k, k i )=s(1 i n, k k i )} where similar(k, k i ) equals the similarity between k and k i. Here we describe the similarity attribute of a node N as s(n). s(k) is equivalent to s iff both of the conditions (a) and (b) below are met: (a) There exists at least one conleaf(k, s). (b) For all s 1 s, there is no conleaf(k, s 1 ). In addition to the definitions above, an FR tree is formed with the following rule: 3. For all two nodes P and C whose relation is a parent-child one, the two similarities s(p ) and s(c) are related as follows: s(c) s(p ) D. Measurement process D.1 making FR tree Fig. 4 describes the algorithm to construct an FR tree, written in pseudo-pascal code. As an input, all function pairs and the similarity of every pair are given. First, the pairs are sorted by the similarity in the decreasing order. Then, each pair is added to the tree in order. D.2 measuring FR Here we measure FR based on an FR tree. The concept of FR is given below: As similarity between functions becomes greater, the possibility increases that these functions are clones, i.e., FR should be greater. FR should also be greater when there are more similar functions in a group.
4 4 Along with such concept, we measure FR from similarity and the number of leaves (or the number of children) each node of the tree has as weights. We propose two metrics, one of which can be an alternative of the other. We call them as FR1 and FR2. FR1 FR1 of a program P (fr 1 (P )) is defined as follows. fr 1 (P ) def = ( child(n) 1) s(n) +1 N nodes int(p ) where nodes int (P ) is a set of all internal nodes contained in FR tree of P. child(n) is a set of all the child nodes of N, whether internal or external. It should be noted that we can normalize the value of FR1. In the right side of the definition above, the number of product terms (( child(n) 1) s(n), and 1 ) is equivalent to the number of functions P has. Hence as for the range of the similarity [0..1] such as percentage, fr 1 (P ) and the number of functions ( func(p ) ) are related as follows. fr 1 (P ) func(p ) When fr 1 (P ) and func(p ) are equal, all similarities are equal to 1. Therefore, we can use the following normalizing operation to FR1 and calculate normalized FR1(fr 1 norm (P )). fr 1 norm = fr 1(P ) func(p ) In the example of Fig. 3, fr 1 (P ) and fr 1 norm (P ) are measured as follows. fr 1 (P ) = = 4.8 fr 1 norm (P )=4.8/8 =0.6 FR2 FR2 of a program P (fr 2 (P )) is defined as follows. fr 2 (P ) def = child(n) 2 s(n) N nodes(p ) FR2 evaluates the impact of child(n) more than FR1. As is mentioned above, the more children a node has in FR tree, the more clones there can be. Hence this metric is effective when many copies of the same code occur in a program in the same way. In the example of Fig. 3, fr 2 (P ) is measured as follows. fr 2 (P ) = = 16 In our study so far, we have not focused on FR2 as much as FR1. Therefore we discuss this method only briefly in this paper. III. EXPERIMENT AND EXAMINATION We applied FR metric FR1 to the source code of a system for telecommunication control. This code is written in C and it has approximately 17K ELOC (Executable Lines of Code). This software consists of 5 modules, which are between 2K and 4K ELOC size, and have about functions (Table. I). We call the modules A to E respectively. ELOC functions ELOC/func A B C D E TABLE I SAMPLE SOURCE CODE Here, we also applied clone percentage (CP) as our comparative approach. As we mentioned in Section I, CP was the first candidate of our metric. We believed this metric can evaluate the size of clones but cannot reflect the clone propagation. We compared our metric and CP, and then verified whether our belief was correct. In addition, another concern of ours was the issue described in Section II-A: Our metric has an inaccuracy in evaluating the size of clones. We verified this inaccuracy here. In this section, after introducing the detail of experiment method, we show the experiment result, and then move to their comparison. A. Experiment Detail A.1 Measurement of Similarity We measured similarity between two functions by using simple diff, and calculated the following equation, given a and b as functions. ( similarity(a, b) =max 1 diff(a) LOC(a), 1 diff(b) ) LOC(b) i.e., we calculated the number of common lines between a and b first, and then measured the ratio of common lines per all lines of each function. Using diff is actually an inefficient method, but the efficiency of similarity measurement is not our concern in this paper. There have been many effective approaches so far, and we can use them alternatively, if needed. We used the maximum of the ratio between two functions because we attempted to measure conservatively. A.2 Measurement of CP We also measured CP by using diff. CP = cloned(p ) LOC(P )
5 5 Where P is the measured program, LOC(P ) is all the ELOCs of P, and cloned(p ) is a cloned LOC of P, i.e. the number of not diff ed codes. In fact, accurate calculation cannot be carried out in a timeefficient manner, so we used some simpler approximation. The detail is not described here because it is out of our concern. A.3 Measurement of FR As an FR metric, we used normalized FR1(fr 1 norm ), which is shown in II-D.2. There are two reasons to select this metric. First, fr 1 norm is normalized so that we can compare the results with each other. Moreover, fr 1 norm represents an approximate percentage of clones; that is, we can compare the metric with CP. B. Experiment Result The experiment result is shown in Fig A B C D E Fig. 5. Experiment Result: CP and FR CP FR_norm Table II shows the statistical comparison between CP and FR: average, standard deviation, and correlation coefficient. CP FR average std dev correlation TABLE II COMPARISON WITH LINE-LEVEL REDUNDANCY We must note that Fig.5 shows the biggest difference on the measurement of module B, where CP was 21% while FR was 59%. With more detailed investigation, we found that there were over 50 similar functions in B (that is, over 55% of the functions were clones!). They looked almost entirely correspondent with each other, but the size of each function was about 10 lines. Therefore this great clone group affected CP much less than FR. This example shows that FR evaluated the clone propagation while CP did not. In this point of view, our purpose is achieved with the FR metric. On the other hand, CP and FR were strongly correlated as a whole; the correlation coefficient was between CP and FR. This seems to indicate that the demerit of FR had a less influence in our result. But we believe further evaluation and discussion is needed for appraising the influence of the demerit. Fig. 5 also shows another feature that FR exceeded CP in every module. This may be because of our FR measurement policy. As we mentioned, we used the maximum between two ratios as similarity. It may be why FR was considered to become relatively larger. We must also note that the algorithm of forming an FR tree make FR exaggerated. For example, let us consider the following situation. Given the three functions a, b and c, their similarity are: similarity(a, b) = 60% similarity(b, c) = 30% similarity(c, a) = 20% According to the algorithm described in Fig. 4, first, a and b make a node whose similarity is 60%. Second, b and c make a node of 30% similarity. Finally c and a is evaluated, but the FR tree already has both of the two functions. Therefore c and a are treated as their similarity being 30% in the tree. In actual situations, similarity consists (n 1)-dimension network during functions, not a tree. However it costs more to treat such network. We believe it is efficient to substitute an FR tree for the network. IV. ADDITIONAL USES OF FR In this section, we introduce additional uses of FR for clone management. We mentioned in Section I that our objective was to construct a maintenance-management method, such as in the following: 1. Cost estimation 2. Problem detection 3. Activity control In the previous sections, we described the first step of the method. Here we will describe the others in order. A. Detection of Influential Clones on FR Firstly we describe the approach along with FR metric to detect the most influential clones on maintenance cost. We achieve this aim with an FR tree. Our policy here is to detect clones which are more similar, and larger in number. Fig. 6 shows such algorithm. We introduce a criterion number u in advance. It is used to estimate how many clones should be detected. First, from the top of an FR tree, NL (See Section II- C) of each child node are compared. Second, the node whose NL is the largest is selected. Then the same operation is applied to the selected node. Finally, the larger NL node is traced from parent to child. It should be noted that the NL becomes smaller as this process is repeated. When NL becomes smaller than u, or the selected node has no internal node, we finally select the functions that the finally selected node has as its leaves, and this process s. We interpret these functions as the most influential clones.
6 6 function influentialcodedetection (tree: Tree) : set of Nodes var N: Node; begin N := top(tree); while (child(n) contains internal node) or ( leaf(n) is not less than $u$) do N := search_the_max_nl(child(n)); return leaf(n); Fig. 6. Influential Clone Detection: Algorithm This approach is based on a simple searching algorithm of n- ary tree. Therefore the complexity is O(log(n)) where n is the number of functions. In the example of Fig. 3, we start from the top 0.1(8), and select 0.4(5), 0.8(3) in order. If u is smaller than 5, the functions 1, 2, 3 as the leaves of the node 0.8(3) are finally chosen. If u is equal or larger than 5, the functions 1, 2, 3, 4, 5 of 0.4(5) are chosen. B. Modification Activity Control Secondly we describe the method to check the existence of clones when some modification request has taken place. This method is also an application of an FR tree. The process is described as the following: 1. An FR tree is given as an input in advance. 2. A function to be modified (f) is selected. 3. The FR tree is traced from the leaf associated with f, in the child-to-parent order. 4. As the tree is traced, the node s similarity becomes smaller, and NL becomes larger. The node is evaluated with these two weights. 5. According to the evaluation, one node N is chosen at the and the functions related to leaf(n) are determined as clones of f. To evaluate the nodes in the process above, we introduce Partial Functional Redundancy(PFR). Before the definition of PFR, we would like to redefine FR. With the definition here, the following equations are formed. N = top(p ) fr(n) = fr(p ) where top(p) is the top node of FR tree constructed from P. Given any number n, PFR of a function f (pfr(f,n)) is defined as follows: pfr(f,n) def = fr(p n (f)) where p n (f) is the nth parent node from the external node associated with f. In the process above, n starts with 1 and increases as the recursion of trace occurs. We can determine whether to finish the process with PFR. When the process is finished, functions of leaf(p n (f)) is determined as potential clones. V. RELATED WORK Mayrand et al.[11][12] aim at evaluating the quality of software, and focus on functional clones like our study. The main feature of their approach is to classify the clones according to their modified pattern: from ExactCopy to DistinctControlFlow. They use their classification for maintenance management and attempt to improve the maintenability. Balazinska et al. [1] follow Mayrands approach and classify clones in 18 patterns, but use the classification to suggest reengineering methods. The main advantage of our study over theirs will be the scope of evaluation: We evaluate the quality of the whole software with one metric, while their evaluation methods are based on the relation between two functions. As for the understandability of these evaluation results, we believe our approach is much easier to be understood. Moreover, our metric can be used to estimate the maintenance cost. This feature promotes the understandability and utility of our metric. In addition, our metric (FR1) can be normalized and therefore we can compare the estimation result with other softwares or projects. In return, our method does not deal with the semantics of clones. Therefore our method can detect which functions to be modified, but cannot suggest how to modify them. This feature is where their works have an advantage over ours. VI. CONCLUSION AND FUTURE WORK We have proposed a metric Functional Redundancy (FR) metric for estimating the maintenance cost caused by code clones, especially by propagation of clones throughout a software. We described the basic concept of FR metric, its measurement process. Then we applied our metric to 17K-ELOC source code written in C. In this context we verified our metric indubitably reflected the clone propagation, while clone percentage (CP, the ratio of cloned codes to the whole source code in LOC) did not. Moreover, we showed the demerit of FR, inaccuracy in evaluating the size of clones, had a little influence on our estimation result, and FR and CP had a strong correlation as a whole: the correlation coefficient with CP was We have also introduced the additional uses of FR, clonemanagement method based on FR: a detection of influential clones over the maintenance cost, and a management method when a modification request occurs. We believe FR is a novel approach to evaluate the quality of the whole software as to code clones. FR is especially good for analysis of the impact of clone propagation, which very few people have explored before. On the other hand, our metric might have the weakness in evaluating the size of clones. It is debatable which is more important issue for the maintenance cost estimation, and we have only limited information on the issue. We will inspect the relation between the size and the propagation of clones, and the impact each of them has on the maintenance cost in our future work. In addition, we will study some size-oriented approach, and finally merge FR and the size-oriented one. Such study will bring us more accurate and effective cost-estimation method.
7 7 REFERENCES [1] Magdalena Balazinska, Ettore Merlo, Michel Dagenais, Bruno Lagüe, and Kostas Kontogiannis. Measuring clone based reengineering opportunities. In Metrics 99, [2] Victor Basili, Lionel Briand, Steven Condon, Yong-Mi Kim, Walceĺio L. Melo, and Jon D. Valett. Understanding and predicting the process of software maintenance release. In Proceedings of the 1996 International Conference on Software Engineering (ICSE 96). ACM Press, [3] Ira D. Baxter, Andrew Yahin, Leonardo Moura, and Marcelo Sant Anna Lorraine Bier. Clone detection using abstract syntax trees. In Proceedings of the 1997 International Conference on Software Maintenance (ICSM 97). IEEE Computer Society Press, [4] Jan Bosch. Design & Use of Software Architectures. Addison Wesley, [5] William H. Brown, Raphael C. Malveau, Hays W. Skip McCormickIII, and Thomas J. Mowbray. AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. Wiley Computer Publishing, [6] J.E. Henry and J.P.Cain. A quantitative comparison of perfective and corrective software maintenance. Journal of Software Maintenance, Oct [7] J Howard Johnson. Identifying redundancy in source code using fingerprints. In CASCON 93, [8] Toshihiro Kamiya, Fumiaki Ohata, Kazuhiro Kondou, Shinji Kusumoto, and Katuro Inoue. Maintenance support tools for java programs: Ccfinder and jaat. In Proceedings of the 23rd International Conference on Software Engineering (ICSE 2001). ACM Press, [9] Jens Krinke. Identifying similar code with program depence graphs. In Proceedings of The Eighth Working Conference On Reverse Engineering 2001, [10] Bruno Laguë, Daniel Proulx, Ettore M. Merlo, Jean Mayrand, and John Hudepohl. Assessing benefits of incorporating function clone detection in a development process. In Proceedings of the 1997 International Conference on Software Maintenance (ICSM 97). IEEE Computer Society Press, [11] Jean Mayrand, Bruno Laguë, and John Hudepohl. Evaluating the benefits of clone detection in the software maintenance activities in large scale systems. In WESS 96, [12] Jean Mayrand, Claude Leblanc, and Ettore M. Merlo. Experiment on the automatic detection of function clones in a software system using metrics. In Proceedings of the International Conference on Software Management IEEE Computer Society Press, [13] Stephen R. Schach. Software Engineering. Asken Associates, 1993.
On Refactoring for Open Source Java Program
On Refactoring for Open Source Java Program Yoshiki Higo 1,Toshihiro Kamiya 2, Shinji Kusumoto 1, Katsuro Inoue 1 and Yoshio Kataoka 3 1 Graduate School of Information Science and Technology, Osaka University
More informationRefactoring Support Based on Code Clone Analysis
Refactoring Support Based on Code Clone Analysis Yoshiki Higo 1,Toshihiro Kamiya 2, Shinji Kusumoto 1 and Katsuro Inoue 1 1 Graduate School of Information Science and Technology, Osaka University, Toyonaka,
More informationSoftware Quality Analysis by Code Clones in Industrial Legacy Software
Software Quality Analysis by Code Clones in Industrial Legacy Software Akito Monden 1 Daikai Nakae 1 Toshihiro Kamiya 2 Shin-ichi Sato 1,3 Ken-ichi Matsumoto 1 1 Nara Institute of Science and Technology,
More informationToward a Taxonomy of Clones in Source Code: A Case Study
Toward a Taxonomy of Clones in Source Code: A Case Study Cory Kapser and Michael W. Godfrey Software Architecture Group (SWAG) School of Computer Science, University of Waterloo fcjkapser, migodg@uwaterloo.ca
More informationAlgorithm to Detect Non-Contiguous Clones with High Precision
Algorithm to Detect Non-Contiguous Clones with High Precision Sonam Gupta Research Scholar, Suresh Gyan Vihar University, Jaipur, Rajasthan, India Dr. P.C. Gupta Department of Computer Science and Engineering
More informationOn Refactoring Support Based on Code Clone Dependency Relation
On Refactoring Support Based on Code Dependency Relation Norihiro Yoshida 1, Yoshiki Higo 1, Toshihiro Kamiya 2, Shinji Kusumoto 1, Katsuro Inoue 1 1 Graduate School of Information Science and Technology,
More informationKeywords Code cloning, Clone detection, Software metrics, Potential clones, Clone pairs, Clone classes. Fig. 1 Code with clones
Volume 4, Issue 4, April 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Detection of Potential
More informationRearranging the Order of Program Statements for Code Clone Detection
Rearranging the Order of Program Statements for Code Clone Detection Yusuke Sabi, Yoshiki Higo, Shinji Kusumoto Graduate School of Information Science and Technology, Osaka University, Japan Email: {y-sabi,higo,kusumoto@ist.osaka-u.ac.jp
More informationTo Enhance Type 4 Clone Detection in Clone Testing Swati Sharma #1, Priyanka Mehta #2 1 M.Tech Scholar,
To Enhance Type 4 Clone Detection in Clone Testing Swati Sharma #1, Priyanka Mehta #2 1 M.Tech Scholar, 2 Head of Department, Department of Computer Science & Engineering, Universal Institute of Engineering
More informationCOMPARISON AND EVALUATION ON METRICS
COMPARISON AND EVALUATION ON METRICS BASED APPROACH FOR DETECTING CODE CLONE D. Gayathri Devi 1 1 Department of Computer Science, Karpagam University, Coimbatore, Tamilnadu dgayadevi@gmail.com Abstract
More informationDCC / ICEx / UFMG. Software Code Clone. Eduardo Figueiredo.
DCC / ICEx / UFMG Software Code Clone Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Code Clone Code Clone, also called Duplicated Code, is a well known code smell in software systems Code clones
More informationKeywords Clone detection, metrics computation, hybrid approach, complexity, byte code
Volume 3, Issue 5, May 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com An Emerging Approach
More informationTool Support for Refactoring Duplicated OO Code
Tool Support for Refactoring Duplicated OO Code Stéphane Ducasse and Matthias Rieger and Georges Golomingi Software Composition Group, Institut für Informatik (IAM) Universität Bern, Neubrückstrasse 10,
More informationClone Detection using Textual and Metric Analysis to figure out all Types of Clones
Detection using Textual and Metric Analysis to figure out all Types of s Kodhai.E 1, Perumal.A 2, and Kanmani.S 3 1 SMVEC, Dept. of Information Technology, Puducherry, India Email: kodhaiej@yahoo.co.in
More informationExploring the Relations between Code Cloning and Programming Languages
Exploring the Relations between Code Cloning and Programming Languages Ilca Webster Department of Computer Science York University 1. Introduction Copying code within a software system and adapting it
More informationCode Clone Detection Technique Using Program Execution Traces
1,a) 2,b) 1,c) Code Clone Detection Technique Using Program Execution Traces Masakazu Ioka 1,a) Norihiro Yoshida 2,b) Katsuro Inoue 1,c) Abstract: Code clone is a code fragment that has identical or similar
More informationClone Analysis in the Web Era: an Approach to Identify Cloned Web Pages
Clone Analysis in the Web Era: an Approach to Identify Cloned Web Pages Giuseppe Antonio Di Lucca, Massimiliano Di Penta*, Anna Rita Fasolino, Pasquale Granato dilucca@unina.it, dipenta@unisannio.it, fasolino@unina.it,
More informationDETECTING SIMPLE AND FILE CLONES IN SOFTWARE
DETECTING SIMPLE AND FILE CLONES IN SOFTWARE *S.Ajithkumar, P.Gnanagurupandian, M.Senthilvadivelan, Final year Information Technology **Mr.K.Palraj ME, Assistant Professor, ABSTRACT: The objective of this
More informationZjednodušení zdrojového kódu pomocí grafové struktury
Zjednodušení zdrojového kódu pomocí grafové struktury Ing. Tomáš Bublík 1. Introduction Nowadays, there is lot of programming languages. These languages differ in syntax, usage, and processing. Keep in
More informationVisualization of Clone Detection Results
Visualization of Clone Detection Results Robert Tairas and Jeff Gray Department of Computer and Information Sciences University of Alabama at Birmingham Birmingham, AL 5294-1170 1-205-94-221 {tairasr,
More informationInternational Journal of Computer Science Trends and Technology (IJCST) Volume 5 Issue 2, Mar Apr 2017
RESEARCH ARTICLE OPEN ACCESS Handling Anomalies in the System Design: A Unique Methodology and Solution Pratik Rajan Bhore [1], Dr. Shashank D. Joshi [2], Dr. Naveenkumar Jayakumar [3] Department of Computer
More informationRelation of Code Clones and Change Couplings
Relation of Code Clones and Change Couplings Reto Geiger, Beat Fluri, Harald C. Gall, and Martin Pinzger s.e.a.l. software evolution and architecture lab, Department of Informatics, University of Zurich,
More informationSoftware Clone Detection. Kevin Tang Mar. 29, 2012
Software Clone Detection Kevin Tang Mar. 29, 2012 Software Clone Detection Introduction Reasons for Code Duplication Drawbacks of Code Duplication Clone Definitions in the Literature Detection Techniques
More informationProblematic Code Clones Identification using Multiple Detection Results
Problematic Code Clones Identification using Multiple Detection Results Yoshiki Higo, Ken-ichi Sawa, and Shinji Kusumoto Graduate School of Information Science and Technology, Osaka University, 1-5, Yamadaoka,
More informationSearching for Configurations in Clone Evaluation A Replication Study
Searching for Configurations in Clone Evaluation A Replication Study Chaiyong Ragkhitwetsagul 1, Matheus Paixao 1, Manal Adham 1 Saheed Busari 1, Jens Krinke 1 and John H. Drake 2 1 University College
More informationFalsification: An Advanced Tool for Detection of Duplex Code
Indian Journal of Science and Technology, Vol 9(39), DOI: 10.17485/ijst/2016/v9i39/96195, October 2016 ISSN (Print) : 0974-6846 ISSN (Online) : 0974-5645 Falsification: An Advanced Tool for Detection of
More informationARCHITECTURE MIGRATION USING DSM IN A LARGE-SCALE SOFTWARE PROJECT
14 TH INTERNATIONAL DEPENDENCY AND STRUCTURE MODELING CONFERENCE, DSM 12 KYOTO, JAPAN, SEPTEMBER 13 14, 2012 ARCHITECTURE MIGRATION USING DSM IN A LARGE-SCALE SOFTWARE PROJECT Takashi Maki Corporate Technology
More informationA Novel Technique for Retrieving Source Code Duplication
A Novel Technique for Retrieving Source Code Duplication Yoshihisa Udagawa Computer Science Department, Faculty of Engineering Tokyo Polytechnic University Atsugi-city, Kanagawa, Japan udagawa@cs.t-kougei.ac.jp
More informationFUNCTION CLONE DETECTION IN WEB APPLICATIONS: A SEMIAUTOMATED APPROACH
Journal of Web Engineering, Vol. 3, No.1 (2004) 003-021 Rinton Press FUNCTION CLONE DETECTION IN WEB APPLICATIONS: A SEMIAUTOMATED APPROACH FABIO CALEFATO, FILIPPO LANUBILE, TERESA MALLARDO Dipartimento
More informationA study of the impact of C++ on software maintenance
A study of the impact of C++ on software maintenance Dennis Mancl AT&T Bell Laboratories Warren, NJ 07059 William Havanas AT&T Bell Laboratories Columbus, OH 43213 Abstract This is a case study of the
More informationToken based clone detection using program slicing
Token based clone detection using program slicing Rajnish Kumar PEC University of Technology Rajnish_pawar90@yahoo.com Prof. Shilpa PEC University of Technology Shilpaverma.pec@gmail.com Abstract Software
More informationInheritance Metrics: What do they Measure?
Inheritance Metrics: What do they Measure? G. Sri Krishna and Rushikesh K. Joshi Department of Computer Science and Engineering Indian Institute of Technology Bombay Mumbai, 400 076, India Email:{srikrishna,rkj}@cse.iitb.ac.in
More informationCode Clone Analysis and Application
Code Clone Analysis and Application Katsuro Inoue Osaka University Talk Structure Clone Detection CCFinder and Associate Tools Applications Summary of Code Clone Analysis and Application Clone Detection
More informationSource Code Author Identification Based on N-gram Author Profiles
Source Code Author Identification Based on N-gram Author files Georgia Frantzeskou, Efstathios Stamatatos, Stefanos Gritzalis, Sokratis Katsikas Laboratory of Information and Communication Systems Security
More information1 Introduction. Abstract
An MVC-based Analysis of Object-Oriented System Prototyping for Banking Related GUI Applications Correlationship between OO Metrics and Efforts for Requirement Change Satoru Uehara, Osamu Mizuno, Yumi
More informationUML Specification and Correction of Object-Oriented Anti-patterns
UML Specification and Correction of Object-Oriented Anti-patterns Maria Teresa Llano and Rob Pooley School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh, United Kingdom {mtl4,rjpooley}@hwacuk
More informationAn Effective Approach for Detecting Code Clones
An Effective Approach for Detecting Code Clones Girija Gupta #1, Indu Singh *2 # M.Tech Student( CSE) JCD College of Engineering, Affiliated to Guru Jambheshwar University,Hisar,India * Assistant Professor(
More informationSHINOBI: A Real-Time Code Clone Detection Tool for Software Maintenance
: A Real-Time Code Clone Detection Tool for Software Maintenance Takanobu Yamashina Hidetake Uwano Kyohei Fushida Yasutaka Kamei Masataka Nagura Shinji Kawaguchi Hajimu Iida Nara Institute of Science and
More informationRefactoring Industrial-Strength Code
Refactoring Industrial-Strength Code Refining code toward better design Usman Parvez Department of Computer Science National University of Computer and Emerging Sciences Lahore Pakistan usman.parvez@gmail.com
More informationA Study on A Tool to Suggest Similar Program Element Modifications
WASEDA UNIVERSITY Graduate School of Fundamental Science and Engineering A Study on A Tool to Suggest Similar Program Element Modifications A Thesis Submitted in Partial Fulfillment of the Requirements
More informationFolding Repeated Instructions for Improving Token-based Code Clone Detection
2012 IEEE 12th International Working Conference on Source Code Analysis and Manipulation Folding Repeated Instructions for Improving Token-based Code Clone Detection Hiroaki Murakami, Keisuke Hotta, Yoshiki
More informationAn Ethnographic Study of Copy and Paste Programming Practices in OOPL
An Ethnographic Study of Copy and Paste Programming Practices in OOPL Miryung Kim 1 Lawrence Bergman 2 Tessa Lau 2 David Notkin 1 Department of Computer Science & Engineering University of Washington 1
More informationAssociation Pattern Mining. Lijun Zhang
Association Pattern Mining Lijun Zhang zlj@nju.edu.cn http://cs.nju.edu.cn/zlj Outline Introduction The Frequent Pattern Mining Model Association Rule Generation Framework Frequent Itemset Mining Algorithms
More informationA Lost Cycles Analysis for Performance Prediction using High-Level Synthesis
A Lost Cycles Analysis for Performance Prediction using High-Level Synthesis Bruno da Silva, Jan Lemeire, An Braeken, and Abdellah Touhafi Vrije Universiteit Brussel (VUB), INDI and ETRO department, Brussels,
More informationCCFinderSW: Clone Detection Tool with Flexible Multilingual Tokenization
2017 24th Asia-Pacific Software Engineering Conference CCFinderSW: Clone Detection Tool with Flexible Multilingual Tokenization Yuichi Semura, Norihiro Yoshida, Eunjong Choi and Katsuro Inoue Osaka University,
More informationHOW AND WHEN TO FLATTEN JAVA CLASSES?
HOW AND WHEN TO FLATTEN JAVA CLASSES? Jehad Al Dallal Department of Information Science, P.O. Box 5969, Safat 13060, Kuwait ABSTRACT Improving modularity and reusability are two key objectives in object-oriented
More informationHybrid Feature Selection for Modeling Intrusion Detection Systems
Hybrid Feature Selection for Modeling Intrusion Detection Systems Srilatha Chebrolu, Ajith Abraham and Johnson P Thomas Department of Computer Science, Oklahoma State University, USA ajith.abraham@ieee.org,
More informationRobust Lip Contour Extraction using Separability of Multi-Dimensional Distributions
Robust Lip Contour Extraction using Separability of Multi-Dimensional Distributions Tomokazu Wakasugi, Masahide Nishiura and Kazuhiro Fukui Corporate Research and Development Center, Toshiba Corporation
More informationInvestigation of Metrics for Object-Oriented Design Logical Stability
Investigation of Metrics for Object-Oriented Design Logical Stability Mahmoud O. Elish Department of Computer Science George Mason University Fairfax, VA 22030-4400, USA melish@gmu.edu Abstract As changes
More informationUsing Dependency Graphs to Detect Open Source Intellectual Property Violation
1 Using Dependency Graphs to Detect Open Source Intellectual Property Violation Gail Carmichael - gbanaszk@connect.carleton.ca and Siamak Sharif - SiamakSharif@hotmail.com Abstract Clone detection is important
More informationA Study of Bad Smells in Code
International Journal for Science and Emerging ISSN No. (Online):2250-3641 Technologies with Latest Trends 7(1): 16-20 (2013) ISSN No. (Print): 2277-8136 A Study of Bad Smells in Code Gurpreet Singh* and
More informationDETERMINE COHESION AND COUPLING FOR CLASS DIAGRAM THROUGH SLICING TECHNIQUES
IJACE: Volume 4, No. 1, January-June 2012, pp. 19-24 DETERMINE COHESION AND COUPLING FOR CLASS DIAGRAM THROUGH SLICING TECHNIQUES Akhilesh Kumar 1* & Sunint Kaur Khalsa 1 Abstract: High cohesion or module
More informationEVALUATION OF TOKEN BASED TOOLS ON THE BASIS OF CLONE METRICS
EVALUATION OF TOKEN BASED TOOLS ON THE BASIS OF CLONE METRICS Rupinder Kaur, Harpreet Kaur, Prabhjot Kaur Abstract The area of clone detection has considerably evolved over the last decade, leading to
More informationSoftware Clone Detection and Refactoring
Software Clone Detection and Refactoring Francesca Arcelli Fontana *, Marco Zanoni *, Andrea Ranchetti * and Davide Ranchetti * * University of Milano-Bicocca, Viale Sarca, 336, 20126 Milano, Italy, {arcelli,marco.zanoni}@disco.unimib.it,
More informationCOST ESTIMATION FOR DISTRIBUTED SYSTEMS USING USE CASE DIAGRAM
S. V. Pingale et al. : Cost Estimation for Distributed Systems using Use Case Diagram Journal of Advances in Engineering Science 41 Section C (3), July - December 2010, PP 41-48 COST ESTIMATION FOR DISTRIBUTED
More informationCross Language Higher Level Clone Detection- Between Two Different Object Oriented Programming Language Source Codes
Cross Language Higher Level Clone Detection- Between Two Different Object Oriented Programming Language Source Codes 1 K. Vidhya, 2 N. Sumathi, 3 D. Ramya, 1, 2 Assistant Professor 3 PG Student, Dept.
More informationClassification of Java Programs in SPARS-J. Kazuo Kobori, Tetsuo Yamamoto, Makoto Matsusita and Katsuro Inoue Osaka University
Classification of Java Programs in SPARS-J Kazuo Kobori, Tetsuo Yamamoto, Makoto Matsusita and Katsuro Inoue Osaka University Background SPARS-J Reuse Contents Similarity measurement techniques Characteristic
More informationCS229 Lecture notes. Raphael John Lamarre Townshend
CS229 Lecture notes Raphael John Lamarre Townshend Decision Trees We now turn our attention to decision trees, a simple yet flexible class of algorithms. We will first consider the non-linear, region-based
More informationKeywords: Binary Sort, Sorting, Efficient Algorithm, Sorting Algorithm, Sort Data.
Volume 4, Issue 6, June 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com An Efficient and
More informationA Technique to Detect Multi-grained Code Clones
Detection Time The Number of Detectable Clones A Technique to Detect Multi-grained Code Clones Yusuke Yuki, Yoshiki Higo, and Shinji Kusumoto Graduate School of Information Science and Technology, Osaka
More informationCode Syntax-Comparison Algorithm based on Type-Redefinition-Preprocessing and Rehash Classification
320 JOURNAL OF MULTIMEDIA, VOL. 6, NO. 4, AUGUST 2011 Code Syntax-Comparison Algorithm based on Type-Redefinition-Preprocessing and Rehash Classification Baojiang Cui 1,2 1 Beijing University of Posts
More informationInsights into System Wide Code Duplication WCRE 2004
Insights into System Wide Code Duplication Matthias Rieger, Stéphane Ducasse, and Michele Lanza Software Composition Group University of Bern, Switzerland {rieger,ducasse,lanza}@iam.unibe.ch WCRE 2004
More informationCode duplication in Software Systems: A Survey
Code duplication in Software Systems: A Survey G. Anil kumar 1 Dr. C.R.K.Reddy 2 Dr. A. Govardhan 3 A. Ratna Raju 4 1,4 MGIT, Dept. of Computer science, Hyderabad, India Email: anilgkumar@mgit.ac.in, ratnaraju@mgit.ac.in
More informationJSCTracker: A Semantic Clone Detection Tool for Java Code Rochelle Elva and Gary T. Leavens
JSCTracker: A Semantic Clone Detection Tool for Java Code Rochelle Elva and Gary T. Leavens CS-TR-12-04 March 2012 Keywords: semantic clone detection, input-output behavior, effects, IOE behavior, Java
More informationA METRIC BASED EVALUATION OF TEST CASE PRIORITATION TECHNIQUES- HILL CLIMBING, REACTIVE GRASP AND TABUSEARCH
A METRIC BASED EVALUATION OF TEST CASE PRIORITATION TECHNIQUES- HILL CLIMBING, REACTIVE GRASP AND TABUSEARCH 1 M.Manjunath, 2 N.Backiavathi 1 PG Scholar, Department of Information Technology,Jayam College
More informationImpact of Dependency Graph in Software Testing
Impact of Dependency Graph in Software Testing Pardeep Kaur 1, Er. Rupinder Singh 2 1 Computer Science Department, Chandigarh University, Gharuan, Punjab 2 Assistant Professor, Computer Science Department,
More informationHandover Anti-patterns
Kei Ito Waseda University k-win@toki.waseda.jp Handover Anti-patterns Hironori Washizaki Global Software Engineering Laboratory, Waseda University washizaki@waseda.jp Yoshiaki Fukazawa Global Software
More informationQuantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study
Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study Jadson Santos Department of Informatics and Applied Mathematics Federal University of Rio Grande do Norte, UFRN Natal,
More informationLog System Based on Software Testing System Design And Implementation
4th International Conference on Mechatronics, Materials, Chemistry and Computer Engineering (ICMMCCE 2015) Log System Based on Software Testing System Design And Implementation Yan Liu1, a, Dahai Jin1,
More informationExtracting Code Clones for Refactoring Using Combinations of Clone Metrics
Extracting Code Clones for Refactoring Using Combinations of Clone Metrics Eunjong Choi 1, Norihiro Yoshida 2, Takashi Ishio 1, Katsuro Inoue 1, Tateki Sano 3 1 Graduate School of Information Science and
More informationLecture 2: Getting Started
Lecture 2: Getting Started Insertion Sort Our first algorithm is Insertion Sort Solves the sorting problem Input: A sequence of n numbers a 1, a 2,..., a n. Output: A permutation (reordering) a 1, a 2,...,
More informationCommon Coupling as a Measure of Reuse Effort in Kernel-Based Software with Case Studies on the Creation of MkLinux and Darwin
Common Coupling as a Measure of Reuse Effort in Kernel-Based Software with Case Studies on the Creation of MkLinux and Darwin Liguo Yu Department of Informatics Computer and Information Sciences Department
More informationUsing FCA to Suggest Refactorings to Correct Design Defects
Using FCA to Suggest Refactorings to Correct Design Defects Naouel Moha, Jihene Rezgui, Yann-Gaël Guéhéneuc, Petko Valtchev, and Ghizlane El Boussaidi GEODES, Department of Informatics and Operations Research
More informationConnectivity, Energy and Mobility Driven Clustering Algorithm for Mobile Ad Hoc Networks
Connectivity, Energy and Mobility Driven Clustering Algorithm for Mobile Ad Hoc Networks Fatiha Djemili Tolba University of Haute Alsace GRTC Colmar, France fatiha.tolba@uha.fr Damien Magoni University
More informationCompiler Construction
Compiler Construction Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ss-16/cc/ Recap: Static Data Structures Outline of Lecture 18 Recap:
More informationMaintainability and Agile development. Author: Mika Mäntylä
Maintainability and Agile development Author: Mika Mäntylä ISO 9126 Software Quality Characteristics Are the required functions available in the software? How easy is it to
More informationDetection of Non Continguous Clones in Software using Program Slicing
Detection of Non Continguous Clones in Software using Program Slicing Er. Richa Grover 1 Er. Narender Rana 2 M.Tech in CSE 1 Astt. Proff. In C.S.E 2 GITM, Kurukshetra University, INDIA Abstract Code duplication
More informationThis is a repository copy of A Rule Chaining Architecture Using a Correlation Matrix Memory.
This is a repository copy of A Rule Chaining Architecture Using a Correlation Matrix Memory. White Rose Research Online URL for this paper: http://eprints.whiterose.ac.uk/88231/ Version: Submitted Version
More informationA Rule Chaining Architecture Using a Correlation Matrix Memory. James Austin, Stephen Hobson, Nathan Burles, and Simon O Keefe
A Rule Chaining Architecture Using a Correlation Matrix Memory James Austin, Stephen Hobson, Nathan Burles, and Simon O Keefe Advanced Computer Architectures Group, Department of Computer Science, University
More informationCODE CLONE DETECTION A NEW APPROACH. - Sanjeev Chakraborty
CODE CLONE DETECTION A NEW APPROACH - Sanjeev Chakraborty ` CONTENTS Need of Research...3 1. Abstract...4 2. Introduction...4 3. Related Works...5 4. Methodology...5 5. Experimental Set-Up...6 6. Implementation...6
More informationRule-Based Method for Entity Resolution Using Optimized Root Discovery (ORD)
American-Eurasian Journal of Scientific Research 12 (5): 255-259, 2017 ISSN 1818-6785 IDOSI Publications, 2017 DOI: 10.5829/idosi.aejsr.2017.255.259 Rule-Based Method for Entity Resolution Using Optimized
More informationISSN: (PRINT) ISSN: (ONLINE)
IJRECE VOL. 5 ISSUE 2 APR.-JUNE. 217 ISSN: 2393-928 (PRINT) ISSN: 2348-2281 (ONLINE) Code Clone Detection Using Metrics Based Technique and Classification using Neural Network Sukhpreet Kaur 1, Prof. Manpreet
More informationA Metric-based Approach for Reconstructing Methods in Object-Oriented Systems
A Metric-based Approach for Reconstructing Methods in Object-Oriented Systems Tatsuya Miyake Yoshiki Higo Katsuro Inoue Graduate School of Information Science and Technology, Osaka University {t-miyake,higo,inoue@istosaka-uacjp
More informationCode Similarity Detection by Program Dependence Graph
2016 International Conference on Computer Engineering and Information Systems (CEIS-16) Code Similarity Detection by Program Dependence Graph Zhen Zhang, Hai-Hua Yan, Xiao-Wei Zhang Dept. of Computer Science,
More informationEvaluation of a Business Application Framework Using Complexity and Functionality Metrics
Evaluation of a Business Application Framework Using Complexity and Functionality Metrics Hikaru Fujiwara 1, Shinji Kusumoto 1, Katsuro Inoue 1, Toshifusa Ootsubo 2 and Katsuhiko Yuura 2 1 Graduate School
More informationPractical Language-Independent Detection of Near-Miss Clones
Practical Language-Independent Detection of Near-Miss Clones James R. Cordy Thomas R. Dean Nikita Synytskyy Queen s University Queen s University University of Waterloo cordy@cs.queensu.ca thomas.dean@ece.queensu.cam
More informationRevision of Inconsistent Orthographic Views
Journal for Geometry and Graphics Volume 2 (1998), No. 1, 45 53 Revision of Inconsistent Orthographic Views Takashi Watanabe School of Informatics and Sciences, Nagoya University, Nagoya 464-8601, Japan
More informationMassively Parallel Approximation Algorithms for the Knapsack Problem
Massively Parallel Approximation Algorithms for the Knapsack Problem Zhenkuang He Rochester Institute of Technology Department of Computer Science zxh3909@g.rit.edu Committee: Chair: Prof. Alan Kaminsky
More informationVisualizing Clone Cohesion and Coupling
Visualizing Cohesion and Coupling Zhen Ming Jiang University of Waterloo zmjiang@cs.uwaterloo.ca Ahmed E. Hassan University of Victoria ahmed@ece.uvic.ca Richard C. Holt University of Waterloo holt@plg.uwaterloo.ca
More informationSHOTGUN SURGERY DESIGN FLAW DETECTION. A CASE-STUDY
STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LVIII, Number 4, 2013 SHOTGUN SURGERY DESIGN FLAW DETECTION. A CASE-STUDY CAMELIA ŞERBAN Abstract. Due to the complexity of object oriented design, its assessment
More informationBST Deletion. First, we need to find the value which is easy because we can just use the method we developed for BST_Search.
BST Deletion Deleting a value from a Binary Search Tree is a bit more complicated than inserting a value, but we will deal with the steps one at a time. First, we need to find the value which is easy because
More informationDetection and Behavior Identification of Higher-Level Clones in Software
Detection and Behavior Identification of Higher-Level Clones in Software Swarupa S. Bongale, Prof. K. B. Manwade D. Y. Patil College of Engg. & Tech., Shivaji University Kolhapur, India Ashokrao Mane Group
More informationSPM Users Guide. This guide elaborates on powerful ways to combine the TreeNet and GPS engines to achieve model compression and more.
SPM Users Guide Model Compression via ISLE and RuleLearner This guide elaborates on powerful ways to combine the TreeNet and GPS engines to achieve model compression and more. Title: Model Compression
More informationQuick Parser Development Using Modified Compilers and Generated Syntax Rules
Quick Parser Development Using Modified Compilers and Generated Syntax Rules KAZUAKI MAEDA Department of Business Administration and Information Science, Chubu University 1200 Matsumoto, Kasugai, Aichi,
More informationSource Code Author Identification Based on N-gram Author Profiles
Source Code Author Identification Based on N-gram Author s Georgia Frantzeskou, Efstathios Stamatatos, Stefanos Gritzalis, Sokratis Katsikas Laboratory of Information and Communication Systems Security
More informationConstruction of Software Model Graph and Analysing Object-Oriented Program(C#) Using Abstract Syntax Tree Method
Construction of Software Model Graph and Analysing Object-Oriented Program(C#) Using Abstract Syntax Tree Method Appala Srinuvasu Muttipati #1, Poosapati Padmaja *2 # Research Scholar, Department of Computer
More informationA HYBRID METHOD FOR SIMULATION FACTOR SCREENING. Hua Shen Hong Wan
Proceedings of the 2006 Winter Simulation Conference L. F. Perrone, F. P. Wieland, J. Liu, B. G. Lawson, D. M. Nicol, and R. M. Fujimoto, eds. A HYBRID METHOD FOR SIMULATION FACTOR SCREENING Hua Shen Hong
More informationBeyond the Refactoring Browser: Advanced Tool Support for Software Refactoring
Beyond the Refactoring Browser: Advanced Tool Support for Software Refactoring Tom Mens Tom Tourwé Francisca Muñoz Programming Technology Lab Vrije Universiteit Brussel Pleinlaan 2, 1050 Brussel, Belgium
More informationWhite Box Testing with Object Oriented programming
White Box Testing with Object Oriented programming Mrs.Randive R.B 1, Mrs.Bansode S.Y 2 1,2 TPCT S College Of Engineering,Osmanabad Abstract:-Software testing is one of the best means to affirm the quality
More informationTree-Based Minimization of TCAM Entries for Packet Classification
Tree-Based Minimization of TCAM Entries for Packet Classification YanSunandMinSikKim School of Electrical Engineering and Computer Science Washington State University Pullman, Washington 99164-2752, U.S.A.
More information