Code Duplication++ Status Report Dolores Zage, Wayne Zage, Nathan White Ball State University November 2018

Size: px
Start display at page:

Download "Code Duplication++ Status Report Dolores Zage, Wayne Zage, Nathan White Ball State University November 2018"

Transcription

1 Code Duplication++ Status Report Dolores Zage, Wayne Zage, Nathan White Ball State University November 2018 Long Term Goals The goal of this project is to enhance the identification of code duplication across projects which can result in high cost reductions for a minimal price. Background for Long Term Goals Code duplication (or clones) causes an increase in software size and, sooner or later, every supplementary line of code enters the maintenance process, thereby increasing time and cost for an organization. Studies on code duplication percentages range from 15% to 25%, which lends to the fact that the software industry is a principal candidate for improvement. Often, the modification is only performed one instance at a time and developers are not aware of the existence of the other instances. Routinely, the full resolution of a bug fix occurs only after several costly implementation-test iterations. A common occurrence in commercial software systems, code duplication (or clones), can adversely impact the development and stability of software engineering projects, and multiple studies have confirmed this duplicitous nature [JARZ10]. Clones can be introduced unintentionally or intentionally through independent development efforts. Clones may be intentionally created to improve program reliability or development speed. The same functionality may be intentionally duplicated to minimize dependencies to deliver individual control. On the other hand, the process of applying design patterns (e.g., pattern-driven development on component platforms such as JEE and.net) increases the possibility of unintentional cloning. A survey of clone research by Koschke lists many other root causes for software clones [KOSC07]. A clone is a segment of code possessing different types of similarity in text, lexical or syntactical structure, a pattern or semantics. Identical code fragments varying only in layout and comments are labeled as type-1 clones. Code can be used as is or slightly altered to fit a purpose. Code containing lexically identical fragments except for variations in identifiers, literals and types are labeled as type-2 clones. Type-3 clones occur when code statements have been added, removed or modified in segments. Type-4 clones, the semantic clones, have similar semantics but different implementations in code and are the most difficult type of clone to detect [RATT13]. As the suffix number used for the designation of the clone type increases, the process of clone identification also becomes more difficult. Type-1 and Type-2 clones can be detected by many of the current tools. There are a handful of tools that claim to detect Type-3 clones. A study by Tiarks reports that the type-3 clone detectors only detected 25% of the clones accepted by human oracle [TIAR10]. Identifying the distance between near-miss clones is not available and very few tools can detect all of the Type-3 clones. Type-4 clones remain mainly undetectable [SHEN16]. Two other basic types of clones have been added to the clone taxonomy: model-based and structural. Since clones are present in higher-level languages, it is not surprising that clones exist in other development products such as UML models. Structural clones compare the patterns of interrelated classes emerging from the design. A poor design with clones will result in rework, slower development productivity and a decrease in the software s future extendibility. These consequences indicate the necessity for continuous assessment of the design, including tracking clones throughout the software lifecycle. Identifying design clones and tracking them through

2 implementation offers valuable insights into their behavior and the consequential development actions. Of all the currently identified basic clone types, type-4, model-based and structural have been the subject of very little previous research. Why is there a growing interest in clones or code duplication? Several studies have shown that redundancy increases the risk of update anomalies and increased maintenance effort. For example, if an error is detected in a code fragment, all similar fragments should be checked for the same error. Duplicated fragments can also significantly increase the work to be done when enhancing or adapting code. Kent Beck states that programmers read more code than they write [McCR15]. When cloning is intentional, it can be useful, such as in reuse or in the presence of an aspect. Clone detection can find shared and common features in software product lines. It can also assist in plagiarism detection, copyright infringement, software evolution analysis, virus detection and bug detection, making it an important and valuable part of software analysis [RATT13]. Clones are defined based on their granularity, which defines the boundary of comparison. Granularity can be fixed as in a file, function and class or free such as the number or statements or tokens. Selecting an appropriate granularity is important. Segments that are too small are of little pragmatic significance, while those too large are unlikely to be reused. The granularity chosen should exhibit characteristics of being useful in refactoring and maintenance. Approaches to identifying clones are an active research topic. Most techniques involve comparison of the identified artifact expressed as direct or abstracted structures or measures. The distance between each clone comparison can range from exact to various degrees of precision. Each technique holds both benefits and drawbacks in identifying exact copies, syntactically identical copies and copies with modifications. The metrics-identified clones are rated as the best choice in identifying all types of clones and can scale up for evaluating large systems [KOSC07]. Several researchers have noted that clone detection techniques can be improved through hybrid methods [SHEN16]. Our Previous Code Duplication Research: We have created an ordered 3-tuple distance metric for identifying clones that can identify Type-3 and Type-4 clones not previously identified by other tools. This advancement will support developers in clone tracking, thus avoiding the problems caused by clones. Breaking down information access barriers to code, such as identifying and tracking clones, can save organizations millions of wasted dollars each year and help refocus development on strategically significant opportunities. A study by Chanchal, Cordy, and Koschke compared the detection and classification adequacy of 42 clone detecting tools. For the study set, 16 different code clones were divided into 4 scenarios. Most of the tools performed well with three of the scenarios and the majority failed on one scenario. The failed scenario was based on the code contained in Figure 1. Figure 1: Source Basis for Clones Four clones were created from the source code in Figure 1 and are displayed in Table 1. Thirty of the 42 most popular clone detection tools could not detect Table 1 clones. The other remaining 12 clone detection tools only detected a partial set of Table 1 clones. Table 1 clones also were used in other more recent studies [SHEN16] producing similar results. Thus, Table 1 s code initially was used to validate our method of calculating a naming sequence and usage distance to identify clones and their respective type. This approach proved to be successful. Table 1: Clones types created from code in Figure 1 2

3 The type of clone can be distinguished by using the values of the three distance metrics. A pair of blocks is a Type-1 clone if all three metrics are zero. A pair of blocks would be a Type-2 clone if the sequence and usage metrics are zero and the naming metric is greater than zero. If the usage metric is greater than zero and less than the threshold (the maximum distance defined by the user), then it is a Type-3 clone. If the sequence metric returns a number greater than zero, the pair of blocks is a possible Type-4 clone. For a Type-4 clone, user feedback is required to determine if the pair is actually a clone. Table 2 presents the possible outcomes of the 3 metrics and the resulting possible clone types. Table 2: Clone types determined by Naming, Usage and Sequence Metrics Currently, there is no tool capable of discovering all kinds of Type-4 clones. Using the distance metrics improves the process of finding Type-4s by highlighting all the possible Type-4 clones and requires the user s feedback to determine if they are actual clones. Current Spectrum of Clone Research: The keynote paper from the 2014 IEEE conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE) entitled The Vison of Software Clone Management: Past, Present, and Future, states that software clone research in the past mostly focused on the detection and analysis of code clones, while research in recent years extends to the whole spectrum of clone management [ROY14]. The paper included a Kiviat graph, Figure 2, depicting the achievements and scopes along different dimensions of clone management activities. The graph contains ten dimensions of code clone management and scopes for further improvements concentrating on clone identification, tracing, refactoring, and cost-benefit analysis. A red oval has been added to draw attention to a particular deficiency in clone research that this research addresses. Also, an 11 th axis has been added to highlight the fact that in addition to detecting clones, it can be useful to subdivide clones of a specific type into meaningful classes such as Type-4 semantic clones and Type-4 syntactic clones or vulnerable clones and non-vulnerable clones. As denoted by the region in the red oval on Figure 2, the detection of Type-3 and Type-4 clones remains an open problem. Some of the problem is vagueness in the definition of clones and the different levels of analysis granularity which cause difficulties in identifying and comparing techniques and tools. Our new metrics labeled as usage and sequence and our new technique, 3

4 module metric distance, can address these issues. Type-3 clones, those with similar fragments that differ through modified, deleted or added statements, may be the most useful to identify. Our metric approach can also identify type-3 clones. However, it is not enough to label a function or block of code as a type-3 clone. It is also important to inform the user about transformations Classification between the clone pairs. Currently, we are working on a technique to map the identified type-3 clone s xml tokens to a matrix representation and compare clone matrices to identify differences in patterns, thereby highlighting the transformations. Figure 2: Achievements and scopes along different dimensions of clone management activities However, identifying significant or flawed patterns within the code is more significant and not addressed within the ten areas of clone research seen in the Kiviat graph. We have developed a metrics-based approach for analyzing software designs (during both design and implementation) 4

5 that can help designers engineer quality into the product. From our analysis of large industrial projects, we have discovered that within a software system are hidden relationships and structures that can be illuminated by evaluating and measuring software development artifacts. Among these patterns are clones. These relationships can be used to answer questions about the stability of the software product and perhaps, more importantly, guide software development techniques. Software development is itself a pattern-selecting and pattern-making process and the development pattern is inherent in the structure and execution of the software. The coherent patterns or arrangements of modules that are gradually realized become effective and ontologically significant by virtue of their development. Our aim is to understand and categorize software modules to support developers efforts to recognize and apply patterns. Previous Related Project Findings: In the Secure Coding project, we concentrated on the Open Web Application Security Project (OWASP) benchmark test suite designed to verify the accuracy of software vulnerability detection tools. Benchmark version 1.1 contains 21,041 test cases across 11 different attack categories, including false positives. A beta Version 1.2 consisting of 2,740 test cases was also published to assist in identifying vulnerabilities. The Benchmark was carefully designed to test variants for each vulnerability to measure tool strengths and weaknesses. Each of these vulnerability types corresponds to its respective Common Weakness Enumeration (CWE) identification number. It is important to note that the OWASP Benchmark tests have been written in Java and have been derived from coding patterns from actual applications with the intent of helping users determine if the detection tool is capable of finding vulnerabilities accurately. Even though this is its intended purpose, our project, Secure Coding, can use the established test cases as a basis for uncovering patterns in vulnerabilities. We analyzed the 23,781 OWASP Java test cases, each consisting of at least five separate modules and transformed them into a specific XML file using a research tool called the Design Metrics Analyzer (DMA). From this XML format, we collect 82 unique XML tag count metrics and calculate 114 Java primitive and composite metrics for each method and class. One class or method is a metric clone of another if both possess exactly the same values for all of the metrics considered. As part of the analysis, each unique Java tag type from the XML project files is totaled. Since these tags identify the various structures of the program, they are a more precise representation of its content. The distribution of the individual tags can be used to calibrate different types of programs. The XML tags provide a static internal view of each module. The calculated Java metrics include such information as fan-in, fan-out, data-in and data-out, providing a static, but external, view of each module. Together, the XML tags and the metrics can provide a powerful technique to identify a wider spectrum of clones. The resulting record of 198 metric entities plus identification fields was matched with the result of the test case file. After this intensive data preparation phase, a preliminary similarity analysis was conducted using Euclidean and cosine distance techniques. The result indicated that the vectors of module metrics were all very similar (correlation of.95 and higher) suggesting their ability to identify patterns. The next step in the analysis process of the OWASP modules was to determine what techniques will potentially yield relevant results in terms of finding patterns from a large set of numbers. We attempted the traditional statistical models and applied numerous machine learning techniques. Our study employed the test set module data of the OWASP 1.2 test set and analyzed each model s or techniques predicative quality in either identifying the type of vulnerability (the CWE) or the vulnerability status (true or false). We repeated the analysis on the combined test sets 1.1 and 1.2. We focused first on identifying the type of vulnerability (the CWE). All of the statistical tests clearly demonstrate the likelihood that by using the 198 metrics to describe the modules, patterns can be established to determine the vulnerability type of vulnerable Java code. 5

6 Further research included a metric clone analysis, which indicated a liberal use of repeated code for the test cases. In our analysis, we found the following results when attempting a clone analysis on the 198 metrics in the dopost modules found in the combined OWASP test set: For dopost modules in the combined OWASP test set: 3004 clone groups singletons (non-clones) = 9481 unique modules Only 7 of the clone groups possessed more than one vulnerability type and in all seven clone groups the types were CWE 327 (weak cryptography) and 328 (hashing). The remaining 2997 clone groups possessed one unique CWE. The statistical tests and the clone analysis demonstrated the likelihood that patterns can be established to determine the vulnerability type of vulnerable Java code. With such strong data discriminating the vulnerability type, the outcome will result in an identifying pattern per vulnerability. The next step is to determine if other source code also contains these patterns or minor variations. In the OWASP study, we repeated the process, focusing on identifying whether a module (test case) was vulnerable or not vulnerable. The statistical tests and techniques were conducted on this new objective. A big question is Why did the metrics distinctly indicate a module s vulnerability type and not a module s vulnerability status?. Clones clearly point out that clone groups cluster around vulnerability type and can perhaps provide a clue on the vulnerability status. Reviewing the clone groups, over 80% of the clone groups possessed both true and false vulnerability status within the same group. This implies that even when having 198 identical metric values, the status of the vulnerability could still be different. Investigating the code structure of some of the clones having both true and false vulnerability within a group, the code was almost identical except for a single assignment to the same variable changing the execution path (i.e., one executing the true branch and the other executing the false branch). Both the Code Duplication and the Secure Coding project use metrics as the basis for identification of duplication and insecure patterns. Some metrics and their subsequent values could be dependent on format manipulation, such as lines of code. Other metrics do not impact the semantics, but are useful to collect, such as the number of comments. As we search for duplication and matching patterns in the code, it could prove useful to determine how each technique provides additional or complementary information to enhance the identification process by either confirming the result or narrowing the cases that require user feedback, such as in the case of a Type-4 clone. The Code Duplication project added two more metrics, usage and sequence, to enhance the analysis for patterns. These two clone distance metrics provide a granular measure of the differences in almost alike code or those that are labeled metric clones. These differences may be of value when assessing the vulnerability status of a pattern. The 198 metrics of the OWASP 1.2 test cases were visualized in TensorBoard applying a technique known as T-SNE used to reduce our multi-dimensional metric data to a three-dimensional representation. A highly clustered picture was presented and, therefore, we hypothesize that our metrics patterns are also clustered. To extract these clusters, we will use a new technique we call module metric distance (MMD). What is a metric distance? Given a set of metrics, m 1,m 2,m 3 m n, for a set of modules (records), determine the similarity (distance) among the modules in the set by comparing the individual values of the metrics. The output will be the smallest number of metric differences between the metric records. By applying these two additional discriminators, we expect to improve the classification of significant patterns in software. To accomplish our intermediate term objectives, we have been revising our tools to incorporate 6

7 the calculation and analysis of module, tag and distance metrics individually and the analysis of combination of module and tag, and the combination of module, tag and distance. Each analysis will be compared to determine its contribution to highlighting unique or interesting patterns. Moreover, the software has been updated to include our MMD metric. There are many techniques to measure the distance or similarity between structured data. Many rely on actual distance measures between data points. Intuitively, we believe that pairwise distance comparisons may not provide a measure of similarity between patterns and that the number of differences between the number of metrics is more in agreement. An example of the MMD visualization is depicted in Figure 3. Figure 3: The visualization of 10 modules with 6 metrics where the first integer column denotes the module s vulnerability status. The current DMA tool supports the Java 1.6 syntax. There are newer Java releases available. When we move to a new release, it is important to have a complete and stable parser available and for this reason we have chosen Java 1.8. Many of the enhanced Java features do not vary from the syntactical constructs used in 1.6 and are handled by the compiler s internal typing mechanisms. The syntactical language changes are the most important to correct parsing. A new syntax for lambda equations was included in Java 8. We tested a Java example using lambda equations as input to the DMA and, as expected, the tool raises an error on these code blocks, not understanding the syntax, but does continue with the analysis. The OWASP Java files do not use any of the newer Java 8 constructs and produces no errors in the XML output. Many newer programming language features are not used by developers and often development teams shy away from the newest features because of unintended side effects. If some of the industrial files contain lambda equations, these can be manipulated manually to prevent the parser from throwing an error in the short term. However, we are currently working on upgrading to Java 8 to handle lambda expressions, and a new Java language XML tag will be added to the set of current Java language tags for the DMA tool. Intermediate Term Objectives Combine the module and tag metrics with the two clone distance metrics on the OWASP test data and analyze the pairing. Calculate the MMD for the data set and evaluate the attributes of each of the clusters. Schedule of Major Steps Planned and Actual: Update the software to unite the module and tag metrics and the two clone distance metrics. Test the MMD software. Execute on the test set and analyze results. 7

8 Repeat applying different parameters to determine the relationship between metric clones and distance metrics. Try the approach on a new test set, the Juliet Java Test Suite (NIST). Dependencies: Our analysis will be on Java systems and some of the insights gained may only reflect these types of systems. Major Risks: Tools to assist in analysis require significant effort. Researchers have found it difficult to detect semantic clones (Type-4). The functional equivalence problem is undecidable in general. Budget: $76,040 Staffing: Dolores Zage, Wayne Zage, principal investigators Nathan White, graduate student Nicolas Egierski, undergraduate student Category of Current Stage: Preliminary work and analysis has begun. Contacts with Affiliates: Through conversations with affiliates about the Secure Coding project, we have been able to identify the importance of identifying clones and their types. We are providing monthly updates to Cisco personnel via telephone conferences. Publications and Research Products: 1. Status reports on major steps. 2. Analysis of the technique of using additional discriminators to uniquely identify vulnerable and nonvulnerable patterns. 3. Rudimentary Java clone classifier and MMD analyzer. References: [CHAN09] Chanchal K., Roy, James R. Cordy, and Rainer Koschke, Comparison and evaluation of code clone detection techniques and tools: A qualitative approach, Science of Computer Programming, Volume 74 (2009), no. 7, [JARZ10] Jarzabek, S., and Y. Xue, Are Clones Harmful for Maintenance?, IWSC 10, May 8, 2010, Cape Town, South Africa, Proceedings of the 4 th International Workshop on Software Clones, ACM, New York, NY. [KOSC07] Koschke, R., Survey of research on software clones., Duplication, Redundancy, and Similarity in Software, number 06301, Dagstuhl Seminar Proceedings, Dagstuhl, Germany, [McCR15] McCreary, J. Patterns, Code Smells and the Pragmatic Programmer, Slideshare.net, May 2015, Accessed on May 10, [RATT13] Rattan, D, R. Bhatia and M. Singh, Software clone detection: A systematic review, Information and Technology Journal, Volume 55, Issue 7, Pages , July 2013, Elsevier 8

9 Publication. [ROY14] Roy, C. K, M. Zibran and R. Koschke, The Vison of Software Clone Management: Past, Present, and Future (Keynote paper), 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE), Antwerp, Belgium, 2014, pp [SHEN16] Sheneamer, A. and J. Kalita, A Survey of Software Clone Detection Techniques, International Journal of Computer Applications, Volume 137-No 10, March 2016, Accessed May pdf [TIAR10] Tiarks, R., R. Koschke, R. Falke, An extended assessment of type-3 clones as detected by state-of-the-art-tools, Software Quality Journal, : Published online November Accessed May 10, [ZAGE09] Before and After Project, Design Metric Analysis of P3, S 2 ERC Final Report. Copies made available upon request. 9

The goal of this project is to enhance the identification of code duplication which can result in high cost reductions for a minimal price.

The goal of this project is to enhance the identification of code duplication which can result in high cost reductions for a minimal price. Code Duplication New Proposal Dolores Zage, Wayne Zage Ball State University June 1, 2017 July 31, 2018 Long Term Goals The goal of this project is to enhance the identification of code duplication which

More information

Token based clone detection using program slicing

Token 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 information

Detection of Non Continguous Clones in Software using Program Slicing

Detection 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 information

A Tree Kernel Based Approach for Clone Detection

A Tree Kernel Based Approach for Clone Detection A Tree Kernel Based Approach for Clone Detection Anna Corazza 1, Sergio Di Martino 1, Valerio Maggio 1, Giuseppe Scanniello 2 1) University of Naples Federico II 2) University of Basilicata Outline Background

More information

Cross 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 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 information

Towards the Code Clone Analysis in Heterogeneous Software Products

Towards the Code Clone Analysis in Heterogeneous Software Products Towards the Code Clone Analysis in Heterogeneous Software Products 11 TIJANA VISLAVSKI, ZORAN BUDIMAC AND GORDANA RAKIĆ, University of Novi Sad Code clones are parts of source code that were usually created

More information

A Novel Ontology Metric Approach for Code Clone Detection Using FusionTechnique

A Novel Ontology Metric Approach for Code Clone Detection Using FusionTechnique A Novel Ontology Metric Approach for Code Clone Detection Using FusionTechnique 1 Syed MohdFazalulHaque, 2 Dr. V Srikanth, 3 Dr. E. Sreenivasa Reddy 1 Maulana Azad National Urdu University, 2 Professor,

More information

SourcererCC -- Scaling Code Clone Detection to Big-Code

SourcererCC -- Scaling Code Clone Detection to Big-Code SourcererCC -- Scaling Code Clone Detection to Big-Code What did this paper do? SourcererCC a token-based clone detector, that can detect both exact and near-miss clones from large inter project repositories

More information

Software Clone Detection. Kevin Tang Mar. 29, 2012

Software 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 information

DCC / ICEx / UFMG. Software Code Clone. Eduardo Figueiredo.

DCC / 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 information

Dr. Sushil Garg Professor, Dept. of Computer Science & Applications, College City, India

Dr. Sushil Garg Professor, Dept. of Computer Science & Applications, College City, India Volume 3, Issue 11, November 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Study of Different

More information

Clone Detection using Textual and Metric Analysis to figure out all Types of Clones

Clone 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 information

A Measurement of Similarity to Identify Identical Code Clones

A Measurement of Similarity to Identify Identical Code Clones The International Arab Journal of Information Technology, Vol. 12, No. 6A, 2015 735 A Measurement of Similarity to Identify Identical Code Clones Mythili ShanmughaSundaram and Sarala Subramani Department

More information

Keywords Clone detection, metrics computation, hybrid approach, complexity, byte code

Keywords 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 information

An Object Oriented Runtime Complexity Metric based on Iterative Decision Points

An Object Oriented Runtime Complexity Metric based on Iterative Decision Points An Object Oriented Runtime Complexity Metric based on Iterative Amr F. Desouky 1, Letha H. Etzkorn 2 1 Computer Science Department, University of Alabama in Huntsville, Huntsville, AL, USA 2 Computer Science

More information

An Exploratory Study on Interface Similarities in Code Clones

An Exploratory Study on Interface Similarities in Code Clones 1 st WETSoDA, December 4, 2017 - Nanjing, China An Exploratory Study on Interface Similarities in Code Clones Md Rakib Hossain Misu, Abdus Satter, Kazi Sakib Institute of Information Technology University

More information

Code duplication in Software Systems: A Survey

Code 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 information

code pattern analysis of object-oriented programming languages

code pattern analysis of object-oriented programming languages code pattern analysis of object-oriented programming languages by Xubo Miao A thesis submitted to the School of Computing in conformity with the requirements for the degree of Master of Science Queen s

More information

Searching for Configurations in Clone Evaluation A Replication Study

Searching 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 information

Software Clone Detection and Refactoring

Software 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 information

Accuracy Enhancement in Code Clone Detection Using Advance Normalization

Accuracy Enhancement in Code Clone Detection Using Advance Normalization Accuracy Enhancement in Code Clone Detection Using Advance Normalization 1 Ritesh V. Patil, 2 S. D. Joshi, 3 Digvijay A. Ajagekar, 4 Priyanka A. Shirke, 5 Vivek P. Talekar, 6 Shubham D. Bankar 1 Research

More information

Employing Query Technologies for Crosscutting Concern Comprehension

Employing Query Technologies for Crosscutting Concern Comprehension Employing Query Technologies for Crosscutting Concern Comprehension Marius Marin Accenture The Netherlands Marius.Marin@accenture.com Abstract Common techniques for improving comprehensibility of software

More information

COMPARISON AND EVALUATION ON METRICS

COMPARISON 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 information

Keywords Code cloning, Clone detection, Software metrics, Potential clones, Clone pairs, Clone classes. Fig. 1 Code with clones

Keywords 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 information

10. Software Testing Fundamental Concepts

10. Software Testing Fundamental Concepts 10. Software Testing Fundamental Concepts Department of Computer Science and Engineering Hanyang University ERICA Campus 1 st Semester 2016 Testing in Object-Oriented Point of View Error Correction Cost

More information

An Oracle White Paper October Oracle Social Cloud Platform Text Analytics

An Oracle White Paper October Oracle Social Cloud Platform Text Analytics An Oracle White Paper October 2012 Oracle Social Cloud Platform Text Analytics Executive Overview Oracle s social cloud text analytics platform is able to process unstructured text-based conversations

More information

A Weighted Layered Approach for Code Clone Detection

A Weighted Layered Approach for Code Clone Detection Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 3, Issue. 12, December 2014,

More information

Collaborative Framework for Testing Web Application Vulnerabilities Using STOWS

Collaborative Framework for Testing Web Application Vulnerabilities Using STOWS Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology ISSN 2320 088X IMPACT FACTOR: 5.258 IJCSMC,

More information

The Center for Internet Security

The Center for Internet Security The Center for Internet Security The CIS Security Metrics Service July 1 2008 Organizations struggle to make cost-effective security investment decisions; information security professionals lack widely

More information

THE ESSENCE OF DATA GOVERNANCE ARTICLE

THE ESSENCE OF DATA GOVERNANCE ARTICLE THE ESSENCE OF ARTICLE OVERVIEW The availability of timely and accurate data is an essential element of the everyday operations of many organizations. Equally, an inability to capitalize on data assets

More information

Zjednodušení zdrojového kódu pomocí grafové struktury

Zjednoduš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 information

Lecture 25 Clone Detection CCFinder. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim

Lecture 25 Clone Detection CCFinder. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim Lecture 25 Clone Detection CCFinder Today s Agenda (1) Recap of Polymetric Views Class Presentation Suchitra (advocate) Reza (skeptic) Today s Agenda (2) CCFinder, Kamiya et al. TSE 2002 Recap of Polymetric

More information

Similarities in Source Codes

Similarities in Source Codes Similarities in Source Codes Marek ROŠTÁR* Slovak University of Technology in Bratislava Faculty of Informatics and Information Technologies Ilkovičova 2, 842 16 Bratislava, Slovakia rostarmarek@gmail.com

More information

Fine-grained Software Version Control Based on a Program s Abstract Syntax Tree

Fine-grained Software Version Control Based on a Program s Abstract Syntax Tree Master Thesis Description and Schedule Fine-grained Software Version Control Based on a Program s Abstract Syntax Tree Martin Otth Supervisors: Prof. Dr. Peter Müller Dimitar Asenov Chair of Programming

More information

Implementing ITIL v3 Service Lifecycle

Implementing ITIL v3 Service Lifecycle Implementing ITIL v3 Lifecycle WHITE PAPER introduction GSS INFOTECH IT services have become an integral means for conducting business for all sizes of businesses, private and public organizations, educational

More information

ISSN: (PRINT) ISSN: (ONLINE)

ISSN: (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 information

To 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, 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 information

Tiger Scheme QST/CTM Standard

Tiger Scheme QST/CTM Standard Tiger Scheme QST/CTM Standard Title Tiger Scheme Qualified Security Tester Team Member Standard Version 1.2 Status Public Release Date 21 st June 2011 Author Professor Andrew Blyth (Tiger Technical Panel)

More information

Quantifying 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 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 information

Visual Detection of Duplicated Code

Visual Detection of Duplicated Code Visual Detection of Duplicated Code Matthias Rieger, Stéphane Ducasse Software Composition Group, University of Berne ducasse,rieger@iam.unibe.ch http://www.iam.unibe.ch/scg/ Abstract Code duplication

More information

DRVerify: The Verification of Physical Verification

DRVerify: The Verification of Physical Verification DRVerify: The Verification of Physical Verification Sage Design Automation, Inc. Santa Clara, California, USA Who checks the checker? DRC (design rule check) is the most fundamental physical verification

More information

A Technique to Detect Multi-grained Code Clones

A 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 information

Sample Exam. Advanced Test Automation - Engineer

Sample Exam. Advanced Test Automation - Engineer Sample Exam Advanced Test Automation - Engineer Questions ASTQB Created - 2018 American Software Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made,

More information

Detection and Behavior Identification of Higher-Level Clones in Software

Detection 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 information

Rearranging the Order of Program Statements for Code Clone Detection

Rearranging 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 information

International Journal of Scientific & Engineering Research, Volume 8, Issue 2, February ISSN

International Journal of Scientific & Engineering Research, Volume 8, Issue 2, February ISSN International Journal of Scientific & Engineering Research, Volume 8, Issue 2, February-2017 164 DETECTION OF SOFTWARE REFACTORABILITY THROUGH SOFTWARE CLONES WITH DIFFRENT ALGORITHMS Ritika Rani 1,Pooja

More information

IN THE UNITED STATES DISTRICT COURT FOR THE DISTRICT OF COLUMBIA

IN THE UNITED STATES DISTRICT COURT FOR THE DISTRICT OF COLUMBIA IN THE UNITED STATES DISTRICT COURT FOR THE DISTRICT OF COLUMBIA UNITED STATES OF AMERICA, v. Plaintiff, MICROSOFT CORPORATION, Civil Action No. 98-1232 (CKK) Next Court Deadline: May 12, 2006 Joint Status

More information

Managing the Emerging Semantic Risks

Managing the Emerging Semantic Risks The New Information Security Agenda: Managing the Emerging Semantic Risks Dr Robert Garigue Vice President for information integrity and Chief Security Executive Bell Canada Page 1 Abstract Today all modern

More information

Falcon-AO: Aligning Ontologies with Falcon

Falcon-AO: Aligning Ontologies with Falcon Falcon-AO: Aligning Ontologies with Falcon Ningsheng Jian, Wei Hu, Gong Cheng, Yuzhong Qu Department of Computer Science and Engineering Southeast University Nanjing 210096, P. R. China {nsjian, whu, gcheng,

More information

An Approach to Detect Clones in Class Diagram Based on Suffix Array

An Approach to Detect Clones in Class Diagram Based on Suffix Array An Approach to Detect Clones in Class Diagram Based on Suffix Array Amandeep Kaur, Computer Science and Engg. Department, BBSBEC Fatehgarh Sahib, Punjab, India. Manpreet Kaur, Computer Science and Engg.

More information

Utilizing a Common Language as a Generative Software Reuse Tool

Utilizing a Common Language as a Generative Software Reuse Tool Utilizing a Common Language as a Generative Software Reuse Tool Chris Henry and Stanislaw Jarzabek Department of Computer Science School of Computing, National University of Singapore 3 Science Drive,

More information

Core Membership Computation for Succinct Representations of Coalitional Games

Core Membership Computation for Succinct Representations of Coalitional Games Core Membership Computation for Succinct Representations of Coalitional Games Xi Alice Gao May 11, 2009 Abstract In this paper, I compare and contrast two formal results on the computational complexity

More information

Structural and Syntactic Pattern Recognition

Structural and Syntactic Pattern Recognition Structural and Syntactic Pattern Recognition Selim Aksoy Department of Computer Engineering Bilkent University saksoy@cs.bilkent.edu.tr CS 551, Fall 2017 CS 551, Fall 2017 c 2017, Selim Aksoy (Bilkent

More information

01/02/2014 SECURITY ASSESSMENT METHODOLOGIES SENSEPOST 2014 ALL RIGHTS RESERVED

01/02/2014 SECURITY ASSESSMENT METHODOLOGIES SENSEPOST 2014 ALL RIGHTS RESERVED 01/02/2014 SECURITY ASSESSMENT METHODOLOGIES SENSEPOST 2014 ALL RIGHTS RESERVED Contents 1. Introduction 3 2. Security Testing Methodologies 3 2.1 Internet Footprint Assessment 4 2.2 Infrastructure Assessments

More information

What do Compilers Produce?

What do Compilers Produce? What do Compilers Produce? Pure Machine Code Compilers may generate code for a particular machine, not assuming any operating system or library routines. This is pure code because it includes nothing beyond

More information

Code Clone Detector: A Hybrid Approach on Java Byte Code

Code Clone Detector: A Hybrid Approach on Java Byte Code Code Clone Detector: A Hybrid Approach on Java Byte Code Thesis submitted in partial fulfillment of the requirements for the award of degree of Master of Engineering in Software Engineering Submitted By

More information

Study and Analysis of Object-Oriented Languages using Hybrid Clone Detection Technique

Study and Analysis of Object-Oriented Languages using Hybrid Clone Detection Technique Advances in Computational Sciences and Technology ISSN 0973-6107 Volume 10, Number 6 (2017) pp. 1635-1649 Research India Publications http://www.ripublication.com Study and Analysis of Object-Oriented

More information

International Journal for Management Science And Technology (IJMST)

International Journal for Management Science And Technology (IJMST) Volume 4; Issue 03 Manuscript- 1 ISSN: 2320-8848 (Online) ISSN: 2321-0362 (Print) International Journal for Management Science And Technology (IJMST) GENERATION OF SOURCE CODE SUMMARY BY AUTOMATIC IDENTIFICATION

More information

10 Steps to Building an Architecture for Space Surveillance Projects. Eric A. Barnhart, M.S.

10 Steps to Building an Architecture for Space Surveillance Projects. Eric A. Barnhart, M.S. 10 Steps to Building an Architecture for Space Surveillance Projects Eric A. Barnhart, M.S. Eric.Barnhart@harris.com Howard D. Gans, Ph.D. Howard.Gans@harris.com Harris Corporation, Space and Intelligence

More information

2 Experimental Methodology and Results

2 Experimental Methodology and Results Developing Consensus Ontologies for the Semantic Web Larry M. Stephens, Aurovinda K. Gangam, and Michael N. Huhns Department of Computer Science and Engineering University of South Carolina, Columbia,

More information

Human Error Taxonomy

Human Error Taxonomy Human Error Taxonomy The Human Error Taxonomy (HET) provides a structure for requirement errors made during the software development process. The HET can be employed during software inspection to help

More information

Creating a Lattix Dependency Model The Process

Creating a Lattix Dependency Model The Process Creating a Lattix Dependency Model The Process Whitepaper January 2005 Copyright 2005-7 Lattix, Inc. All rights reserved The Lattix Dependency Model The Lattix LDM solution employs a unique and powerful

More information

On Refactoring for Open Source Java Program

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 information

2 The IBM Data Governance Unified Process

2 The IBM Data Governance Unified Process 2 The IBM Data Governance Unified Process The benefits of a commitment to a comprehensive enterprise Data Governance initiative are many and varied, and so are the challenges to achieving strong Data Governance.

More information

UC Irvine UC Irvine Previously Published Works

UC Irvine UC Irvine Previously Published Works UC Irvine UC Irvine Previously Published Works Title Differencing and merging within an evolving product line architecture Permalink https://escholarship.org/uc/item/0k73r951 Authors Chen, Ping H Critchlow,

More information

Formats of Translated Programs

Formats of Translated Programs Formats of Translated Programs Compilers differ in the format of the target code they generate. Target formats may be categorized as assembly language, relocatable binary, or memory-image. Assembly Language

More information

Software Testing. 1. Testing is the process of demonstrating that errors are not present.

Software Testing. 1. Testing is the process of demonstrating that errors are not present. What is Testing? Software Testing Many people understand many definitions of testing :. Testing is the process of demonstrating that errors are not present.. The purpose of testing is to show that a program

More information

IPS with isensor sees, identifies and blocks more malicious traffic than other IPS solutions

IPS with isensor sees, identifies and blocks more malicious traffic than other IPS solutions IPS Effectiveness IPS with isensor sees, identifies and blocks more malicious traffic than other IPS solutions An Intrusion Prevention System (IPS) is a critical layer of defense that helps you protect

More information

Moving from a Paper to Paperless validation effort and how to get the most efficient mix of Manual vs. Automated testing.

Moving from a Paper to Paperless validation effort and how to get the most efficient mix of Manual vs. Automated testing. Moving from a Paper to Paperless validation effort and how to get the most efficient mix of Manual vs. Automated testing. Overview The desire to use tools to increase validation productivity with the consequent

More information

Chapter 8. Database Design. Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel

Chapter 8. Database Design. Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel Chapter 8 Database Design Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel 1 In this chapter, you will learn: That successful database design must reflect the information

More information

Gain Control Over Your Cloud Use with Cisco Cloud Consumption Professional Services

Gain Control Over Your Cloud Use with Cisco Cloud Consumption Professional Services Solution Overview Gain Control Over Your Cloud Use with Cisco Cloud Consumption Professional Services OPTIMIZE YOUR CLOUD SERVICES TO DRIVE BETTER BUSINESS OUTCOMES Reduce Cloud Business Risks and Costs

More information

Automatic Identification of Important Clones for Refactoring and Tracking

Automatic Identification of Important Clones for Refactoring and Tracking Automatic Identification of Important Clones for Refactoring and Tracking Manishankar Mondal Chanchal K. Roy Kevin A. Schneider Department of Computer Science, University of Saskatchewan, Canada {mshankar.mondal,

More information

Compilers and Code Optimization EDOARDO FUSELLA

Compilers and Code Optimization EDOARDO FUSELLA Compilers and Code Optimization EDOARDO FUSELLA The course covers Compiler architecture Pre-requisite Front-end Strong programming background in C, C++ Back-end LLVM Code optimization A case study: nu+

More information

INCORPORATING ADVANCED PROGRAMMING TECHNIQUES IN THE COMPUTER INFORMATION SYSTEMS CURRICULUM

INCORPORATING ADVANCED PROGRAMMING TECHNIQUES IN THE COMPUTER INFORMATION SYSTEMS CURRICULUM INCORPORATING ADVANCED PROGRAMMING TECHNIQUES IN THE COMPUTER INFORMATION SYSTEMS CURRICULUM Charles S. Saxon, Eastern Michigan University, charles.saxon@emich.edu ABSTRACT Incorporating advanced programming

More information

Chapter X Security Performance Metrics

Chapter X Security Performance Metrics Chapter X Security Performance Metrics Page 1 of 9 Chapter X Security Performance Metrics Background For the past two years, the State of Reliability report has included a chapter for security performance

More information

Tool-Supported Cyber-Risk Assessment

Tool-Supported Cyber-Risk Assessment Tool-Supported Cyber-Risk Assessment Security Assessment for Systems, Services and Infrastructures (SASSI'15) Bjørnar Solhaug (SINTEF ICT) Berlin, September 15, 2015 1 Me Bjørnar Solhaug Bjornar.Solhaug@sintef.no

More information

New Project Proposal Status Report Final Report

New Project Proposal Status Report Final Report Title: Models and Software Tools for Managing Network Complexity Date: May 16, 2018 Researcher Name(s): Xin Sun University: Ball State University Long Term Goal(s) New Project Proposal Status Report Final

More information

A Survey Of Different Text Mining Techniques Varsha C. Pande 1 and Dr. A.S. Khandelwal 2

A Survey Of Different Text Mining Techniques Varsha C. Pande 1 and Dr. A.S. Khandelwal 2 A Survey Of Different Text Mining Techniques Varsha C. Pande 1 and Dr. A.S. Khandelwal 2 1 Department of Electronics & Comp. Sc, RTMNU, Nagpur, India 2 Department of Computer Science, Hislop College, Nagpur,

More information

Web Security Vulnerabilities: Challenges and Solutions

Web Security Vulnerabilities: Challenges and Solutions Web Security Vulnerabilities: Challenges and Solutions A Tutorial Proposal for ACM SAC 2018 by Dr. Hossain Shahriar Department of Information Technology Kennesaw State University Kennesaw, GA 30144, USA

More information

International Journal of Computer Science Trends and Technology (IJCST) Volume 5 Issue 2, Mar Apr 2017

International 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 information

MACHINE LEARNING FOR SOFTWARE MAINTAINABILITY

MACHINE LEARNING FOR SOFTWARE MAINTAINABILITY MACHINE LEARNING FOR SOFTWARE MAINTAINABILITY Anna Corazza, Sergio Di Martino, Valerio Maggio Alessandro Moschitti, Andrea Passerini, Giuseppe Scanniello, Fabrizio Silverstri JIMSE 2012 August 28, 2012

More information

A Study of Bad Smells in Code

A 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 information

This chapter continues our overview of public-key cryptography systems (PKCSs), and begins with a description of one of the earliest and simplest

This chapter continues our overview of public-key cryptography systems (PKCSs), and begins with a description of one of the earliest and simplest 1 2 3 This chapter continues our overview of public-key cryptography systems (PKCSs), and begins with a description of one of the earliest and simplest PKCS, Diffie- Hellman key exchange. This first published

More information

COSC160: Detection and Classification. Jeremy Bolton, PhD Assistant Teaching Professor

COSC160: Detection and Classification. Jeremy Bolton, PhD Assistant Teaching Professor COSC160: Detection and Classification Jeremy Bolton, PhD Assistant Teaching Professor Outline I. Problem I. Strategies II. Features for training III. Using spatial information? IV. Reducing dimensionality

More information

Risk-Based Testing & Test-Driven Development

Risk-Based Testing & Test-Driven Development Risk-Based Testing & Test-Driven Development Minsoo Ryu Hanyang University What is Risk? A factor that could result in a future negative consequence; usually expressed as impact and likelihood (ISTQB Glossary)

More information

KEYWORDS: Clustering, RFPCM Algorithm, Ranking Method, Query Redirection Method.

KEYWORDS: Clustering, RFPCM Algorithm, Ranking Method, Query Redirection Method. IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY IMPROVED ROUGH FUZZY POSSIBILISTIC C-MEANS (RFPCM) CLUSTERING ALGORITHM FOR MARKET DATA T.Buvana*, Dr.P.krishnakumari *Research

More information

RETRACTED ARTICLE. Web-Based Data Mining in System Design and Implementation. Open Access. Jianhu Gong 1* and Jianzhi Gong 2

RETRACTED ARTICLE. Web-Based Data Mining in System Design and Implementation. Open Access. Jianhu Gong 1* and Jianzhi Gong 2 Send Orders for Reprints to reprints@benthamscience.ae The Open Automation and Control Systems Journal, 2014, 6, 1907-1911 1907 Web-Based Data Mining in System Design and Implementation Open Access Jianhu

More information

STRUCTURED SYSTEM ANALYSIS AND DESIGN. System Concept and Environment

STRUCTURED SYSTEM ANALYSIS AND DESIGN. System Concept and Environment STRUCTURED SYSTEM ANALYSIS AND DESIGN Definition: - System Concept and Environment A system is an orderly grouping of independent components linked together according to plan to achieve a specific objective.

More information

Object-oriented Compiler Construction

Object-oriented Compiler Construction 1 Object-oriented Compiler Construction Extended Abstract Axel-Tobias Schreiner, Bernd Kühl University of Osnabrück, Germany {axel,bekuehl}@uos.de, http://www.inf.uos.de/talks/hc2 A compiler takes a program

More information

GOVERNMENT IT: FOCUSING ON 5 TECHNOLOGY PRIORITIES

GOVERNMENT IT: FOCUSING ON 5 TECHNOLOGY PRIORITIES GOVERNMENT IT: FOCUSING ON 5 TECHNOLOGY PRIORITIES INSIGHTS FROM PUBLIC SECTOR IT LEADERS DISCOVER NEW POSSIBILITIES. New network technology is breaking down barriers in government offices, allowing for

More information

White Paper. Incorporating Usability Experts with Your Software Development Lifecycle: Benefits and ROI Situated Research All Rights Reserved

White Paper. Incorporating Usability Experts with Your Software Development Lifecycle: Benefits and ROI Situated Research All Rights Reserved White Paper Incorporating Usability Experts with Your Software Development Lifecycle: Benefits and ROI 2018 Situated Research All Rights Reserved Learnability, efficiency, safety, effectiveness, memorability

More information

I. INTRODUCTION. Figure-1 Basic block of text analysis

I. INTRODUCTION. Figure-1 Basic block of text analysis ISSN: 2349-7637 (Online) (RHIMRJ) Research Paper Available online at: www.rhimrj.com Detection and Localization of Texts from Natural Scene Images: A Hybrid Approach Priyanka Muchhadiya Post Graduate Fellow,

More information

Software Engineering Lifecycles. Controlling Complexity

Software Engineering Lifecycles. Controlling Complexity Software Engineering Lifecycles Class url:http://laser.cs.umass.edu/courses/cs320.spring11/ Controlling Complexity Separation of Concerns Planning Ahead Do a little work now to make later work easier The

More information

Lecture Notes on Critique of 1998 and 1999 DARPA IDS Evaluations

Lecture Notes on Critique of 1998 and 1999 DARPA IDS Evaluations Lecture Notes on Critique of 1998 and 1999 DARPA IDS Evaluations Prateek Saxena March 3 2008 1 The Problems Today s lecture is on the discussion of the critique on 1998 and 1999 DARPA IDS evaluations conducted

More information

Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition. Chapter 8 Data Modeling Advanced Concepts

Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition. Chapter 8 Data Modeling Advanced Concepts Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition Chapter 8 Data Modeling Advanced Concepts Objectives In this chapter, students will learn: About the extended entity

More information

Lecture Notes on Garbage Collection

Lecture Notes on Garbage Collection Lecture Notes on Garbage Collection 15-411: Compiler Design Frank Pfenning Lecture 21 November 4, 2014 These brief notes only contain a short overview, a few pointers to the literature with detailed descriptions,

More information

WHITEPAPER. Vulnerability Analysis of Certificate Validation Systems

WHITEPAPER. Vulnerability Analysis of Certificate Validation Systems WHITEPAPER Vulnerability Analysis of Certificate Validation Systems The US Department of Defense (DoD) has deployed one of the largest Public Key Infrastructure (PKI) in the world. It serves the Public

More information

Requirements Engineering for Enterprise Systems

Requirements Engineering for Enterprise Systems Association for Information Systems AIS Electronic Library (AISeL) AMCIS 2001 Proceedings Americas Conference on Information Systems (AMCIS) December 2001 Requirements Engineering for Enterprise Systems

More information

SOFTWARE ENGINEERING DECEMBER. Q2a. What are the key challenges being faced by software engineering?

SOFTWARE ENGINEERING DECEMBER. Q2a. What are the key challenges being faced by software engineering? Q2a. What are the key challenges being faced by software engineering? Ans 2a. The key challenges facing software engineering are: 1. Coping with legacy systems, coping with increasing diversity and coping

More information

Software Clone Detection Using Cosine Distance Similarity

Software Clone Detection Using Cosine Distance Similarity Software Clone Detection Using Cosine Distance Similarity A Dissertation SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENT FOR THE AWARD OF DEGREE OF MASTER OF TECHNOLOGY IN COMPUTER SCIENCE & ENGINEERING

More information