Finding Code Clones for Refactoring with Clone Metrics : A Case Study of Open Source Software
|
|
|
- Irma Pope
- 9 years ago
- Views:
Transcription
1 THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS TECHNICAL REPORT OF IEICE. Finding Code Clones for Refactoring with Clone Metrics : A Case Study of Open Source Software Eunjong CHOI, Norihiro YOSHIDA, Takashi ISHIO, Katsuro INOUE, and Tateki SANO Abstract Graduate School of Information Science and Technology, Osaka University 1 5 Yamadaoka, Suita-shi, Osaka, Japan Graduate School of Information Science, Nara Institute of Science and Technology Takayama-cho, Ikoma-shi, Nara, Japan Software Process Innovation and Standardization Division, NEC Corporation Shiba, Minato-ku, Tokyo, Japan {ejchoi,ishio,inoue}@ist.osaka-u.ac.jp, [email protected], [email protected] A code clone is a code fragment that has identical or similar code fragments to it in the source code. Code clone has been regarded as one of the factors that makes software maintenance more difficult. Therefore, to refactor code clones into one method is promising way to reduce maintenance cost in the future. In our previous study, we proposed a method to extract code clones for refactoring using clone metrics. We had conducted an empirical study on Java application developed by NEC Corporation. It turned out that our proposed method is effective to extract refactoring candidate code clones. In this paper, we show the result of applying our proposed method into open source software systems. Key words code clone, refactoring, open source software 1. Introduction Code clone is similar or identical code fragments in source code. The presence of code clones has been regarded as indication of low maintainability of software because if a bug is found in a code clone, the other code clone have to be checked for defect detection. Refactoring [5] is the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure. Refactoring code clones (e.g., merge code clones into a single method in Java program) is an effective way to reduce code clones in a software system. However, all code clones detected by a code clone detection tool are not appropriate for refactoring. For example, language-dependent code clones [6] (i.e. code clones that indispensably exist in a source code due to the specifications of used program language) are clearly inappropriate for refactoring. Although, numerous techniques and tools have been proposed for code clone detection [8], [11], only little has been known about which detected code clones are appropriate for refactoring and how to extract code clones for refactoring. Our previous study [4] proposed method to extract code clones for refactoring using clone metrics. We showed the usefulness of our proposed method with a survey to a developer in NEC Corporation. According to the feedback, it turned out that our proposed method using combined clone metrics is effective method to extract code clones for refactoring. However, due to the time limitation, we conducted on a single system in previous study. Therefore, although we could validate our method in previous study, our method may not generalize to other software systems. In this study, we apply our proposed method to open source software and discuss its results. The rest of this paper is organized as follows: We first expalin the background of our study in Section 2 and then describe a case study and its results in Section 3. Section 4 discusses threats to validity. Section 5 surveys related work, and Section 6 concludes our paper. 2. Background In this section, we explain about clone metrics and our previous method based on them Clone Metrics Our research group have developed and proposed a token- 1
2 based code clone detection tool CCFinder [11] and a code clone analysis environment Gemini [13] which visualizes the code clone information from CCFinder. Gemini supports clone metrics LEN(S), POP(S) and RNR(S) [6], [13]. Each of them characterize a clone set (i.e. an equivalent of code clones) S: LEN(S) The average number of token sequence of code clones in a clone set S. POP(S) The number of code clones in a clone set S. RNR(S) The ratio of non-repeated token sequence of code clone in a clone set S. The definition of RNR(S) metric is described in Equation (1). If clone set S includes n code clones, c 1, c 2..., c n, LOS whole (f i ) is the Length Of the whole token Sequence of code clone c i. LOS non repeated (f i ) is the Length Of nonrepeated token Sequence of code clone c i, then, n LOS non repeated (c i ) RNR(S) = i=1 100 (1) n LOS whole (c i) i= Features of Clone Sets Whose Each Clone Metric is Higher Gemini characterizes code clones using clone metrics. Our research group has analyzed clone sets in numerous software systems for several proposes (e.g., refactoring, defect-check) using Gemini. The followings are the characteristics of clone sets extracted by each clone metric [6]. Clone sets whose LEN(S) is higher than others Clone sets whose LEN(S) is higher than other clone sets means that each code clone in a clone set S consists of longer token sequences than others clone sets. According to our observation, many of them include many consecutive if (or if-else) blocks that involve similar but different conditional expressions. Clone sets whose RNR(S) is higher than others Clone sets whose RNR(S) is higher than other clone sets means that each code clone in a clone set S consists of more non-repeated code. According to our observation, because clone metric RNR(S) distinguishes only non-repeated token sequences from repeated token sequences of code clones, many of them do not organize a single semantic unit (i.e., many instructions forming a single functionality) Clone sets whose POP(S) is higher than others Clone sets whose POP(S) is higher than other clone sets means that code clones in a clone set S appear more frequently in the system. According to our observation, those clone sets include many small size code clones. Moreover, these clone sets include a lot of language-dependent code clones Combinations of Clone Metrics Our research group have suggested code clones for refactoring to industrial software developers. However, according to their opinion, many of code clones that are extracted using just high single clone metric are inappropriate for refactoring due to the weakness described in Section In order to improve the weakness of singlemetric-based extraction, we proposed a method based on combination of clone metrics. The followings are the details about the conducted case study in previous study for validating the our proposed method that using combined clone metrics Target Clone Sets The target of the case study was a Java software developed by NEC corporation. It is 110KLOC across 296 files. From 736 clone sets that are detected by CCFinder, we selected 62 clone sets using a single clone metric value, and combined clone metrics values. We used 30 tokens as the minimum length of token sequence of a code clone to CCFinder. The following are the details of subject clone sets: S LEN Clone sets whose LEN(S) value are top 10 S RNR Clone sets whose RNR(S) value are top 10 S P OP Clone sets whose POP(S) value are top 10 S LEN RNR 15 clone sets whose LEN(S) and RNR(S) S LEN P OP 7 clone sets whose LEN(S) and POP(S) S RNR P OP 18 clone sets whose RNR(S) and POP(S) S LEN RNR P OP 1 clone set whose LEN(S), RNR(S) and POP(S) Results We conducted a case study according to the following steps: 1 Selected clone sets (details about these clone sets are described in Section ) from CCFinder s output using clone metrics in Gemini. 2 Conduct a survey about these clone sets and got feedback from a developer. The developer is a project manager with 10 years of development experiences with Java. 3 Analyze the result of conducted survey. We use Precision to analyses results of the survey. It can be used to investigate the question How many clone sets were accepted as refactorable clone sets by a developer? Equation (2) describes Precision. Let S All represent all clone 2
3 Table 1 Precisions in the survey conducted in previous study Clone Sets #Selected Clone Sets #Refactoring Precision S LEN S RNR S P OP S LEN RNR S LEN P OP S RNR P OP S LEN RNR P OP Table 2 Results of clone sets detected by a single clone metric, and combined metrics in the survey Filtering Method #Selected Clone Sets #Refactoring Precision Single Clone Metric Combined Clone Metrics sets that are selected by each method, S ARC represents clone sets accepted as refactorable clone sets by a developer. P recision = S ARC S All (2) Tables 1 and 2 describe the result of the survey. In Tables 1 and 2, column Clone Sets shows name of target clone sets. #Selected Clone Sets and #Refactoring show the number of selected clones from CCFinder s output and the number of clone sets that selected as refactorable clone sets in a survey respectively. As shown in the column Precision in Table 1, precisions of S RNR, S P OP are smaller than This means that those clone sets were accepted by a developer as inappropriate clone sets for refactoring. However, precisions of S LEN, S LEN RNR, S LEN P OP, S RNR P OP, and S LEN RNR P OP are more than This means that they were accepted by a developer as appropriate clone sets for refactoring. It is clear that all clone sets that are extracted using combined clone metrics values (S LEN RNR, S LEN P OP, S RNR P OP, and S LEN RNR P OP ) are more than 0.70 (They are shown in bold in column Precision in Table 1) are accepted as refactorable clone sets. As shown in Table 2, Precision of clone sets that are extracted using combined clone metrics values are higher than clone sets than using each single clone metric. Therefore, we found code clones that extracted using combined clone metrics is more frequently accepted as refactorable clone sets than using each single clone metric. 3. Case Study of Open Source Software 3. 1 Target Systems In this study, we use two open source Java projects: Apache Ant [2] and JBoss [1], as our target systems. We use code clone detection tool, CCFinder and set 30 tokens as the minimum token length of a code clone because of its use and setting in previous study. The followings are the details of each subject system. Apache Ant It is 198KLOC across 778 files. we selected 87 clone sets from 998 clone sets detected by CCFinder. JBoss It is 633KLOC across 3, 344 files. we selected 299 clone sets from 730 clone sets detected by CCFinder Result Table 3 shows the precisions of clone sets in each software system. The precisions are little different from the previous study. The precisions of both S RNR, both S LEN RNR, S LEN P OP in Apache Ant, S RNR P OP, and S LEN RNR P OP in JBoss are more than 0.50 (They are shown in bold in column Precision in Table 3). The followings are our analysis on the results. S LEN (The precisions are 0.00 and 0.20 in Apache Ant and JBoss respectively) Code clones in those clone sets consist many consecutive if (or if-else) blocks. Consecutive if (or if-else) blocks are difficult to perform refactoring, generally. However, in previous study, just 2 types of parameters are included in consecutive if (or if-else) blocks. Therefore, a developer selected many clone sets whose LEN(S) value are top 10 high as refactorable clone sets. On the contrary, due to various types of parameters are included in consecutive if (or if-else) blocks, it is inappropriate for refactoring of clone sets in both Apache Ant and JBoss. S RNR (The precisions are 0.70 and 0.80 in Apache Ant and JBoss respectively) The size of many code clones in those clone sets are short. Several clone sets in Apache Ant and JBoss include insufficient scale code clones to organize semantic units.. S P OP (The precisions are 0.00 and 0.00 in Apache Ant and JBoss respectively) Code clones in clone sets whose POP(S) are higher than other clone sets appear more frequently in the system. Many of them in both Apache 3
4 Table 3 Results of each target system Clone Sets Target System #Selected Clone Sets #Refactoring Precision S LEN Apache Ant JBoss S RNR Apache Ant JBoss S P OP Apache Ant JBoss S LEN RNR Apache Ant JBoss S LEN P OP Apache Ant JBoss S RNR P OP Apache Ant JBoss S LEN RNR P OP Apache Ant JBoss Ant and JBoss appear frequently in the system because they are language-dependent code clones and language-dependent code clones are not appropriate refactoring. S LEN RNR (The precisions are 0.75 and 0.59 in Apache Ant and JBoss respectively) Due to various parameter types between code clones in clone sets in both Apache Ant and JBoss, several of them could not be merged into a single program unit. S LEN P OP (The precisions are 0.56 and 0.03 in Apache Ant and JBoss respectively) Several of thoses clone sets include many language-dependent code clones in both Apache Ant and JBoss. Therefore, many of them are inappropriate for refactoring. S RNR P OP (The precisions are 0.47 and 0.25 in Apache Ant and JBoss respectively) Several of thoses clone sets do not consist of a single functionality in both Apache Ant and Jboss. Even though they include many instructions, instructions do not consist of a single functionality. S LEN RNR P OP (The precisions are 0.00 and 1.00 in Apache Ant and JBoss respectively) Those clone sets are appropriate for refactoring compared to the other combination of clone metrics. 4. Threats to Validity Due to the limited time and effort, we only evaluate precision of our method. We believe that precision is a good enough criterion for validating our method. Moreover, because we use only 3 clone metrics in our studies, it may not good enough to reveal the all characteristic of appropriate code clones for refactoring. We are planning to use other clone metrics and source code metrics (e.g., complexity metrics). Finally, because our case study is conducted on Java software system, our method may not work on other language software(e.g., C/C++, Python). In order to improve the generality of our research, we need to investigate the usefulness of our method for source code written in without Java. 5. Related Work Jiang et al. [9] and Kapser et al. [12] pointed out that code clone detection tools using parameterized matching detected a lot of false positives. Jiang et al. [9] used textual filtering techniques to remove false positives from CCFinder s output. They removed code clones whose textual similarity falls below a certain threshold. Kapser et al. [12] proposed the following techniques to remove false positives from the output of their token-based clone detection tool. Identifier names outside functions (e.g., Java methods, C functions) are not parameterized. For example, declarations of field variables in Java programs and external variables in C programs are often duplicated but most of them are false positives. Simple method calls are matched only if Levenshtein Disitance of those method names is small. Logical structures (e.g., switch statements, if (or ifelse) blocks) are matched if 50% of tokens in these structures are identical. There is the possibility to make our method more effective by applying the filtering techniques proposed by Jiang et al. and Kapser et al. as the preprocessor or the postprocessor of our method. CCFinderX [10] developed by Kamiya provides the metric TKS(S) that means the number of token types in code clones belonging clone set S. The metric TKS is effective to remove clone sets not in need of developer s investigation (e.g., consecutive variable declarations) because those clones tend to have small numbers of token types. This means that there is the possibility of improving the effectiveness of our method 4
5 by use of the metric TKS in addition to the use of the metric RNR. However, clone sets with low RNR value include a lot of consecutive parts. They tend to have small number of token types and low TKS value. This correlation means that the use of both TKS and RNR is not significantly effective. Balazinska [3] et al. and Higo [7] et al. characterize clone sets according to the ease of refactoring. Balazinska et al. characterize clone sets by analyzing the following information: Differences among the code clones belonging to a clone set Dependencies between the code clone belonging to a clone set and its surrounding code Higo [7] et al. proposed two metrics to represent the average number of the externally defined variables respectively referenced and assigned in the code clones belonging to a clone set. The combination of our method and the techniques focusing on the ease of refactoring has the possibility to improve the effectiveness of clone set filtering. code clones in a Java software system. J. Softw. Maint. Evol.: Res. Pract., 20: , [8] L. Jiang, G. Misherghi, Z. Su, and S. Glondu. DECKARD: Scalable and accurate tree-based detection of code clones. In Proc. of ICSE 2007, pages , [9] Z. M. Jiang and A. E. Hassan. A framework for studying clones in large software systems. In Proc. of SCAM 2007, pages , [10] T. Kaimiya. Tutorial of CLI Tool ccfx, http: // [11] T. Kamiya, S. Kusumoto, and K. Inoue. CCFinder: A multilinguistic token-based code clone detection system for large scale source code. IEEE Trans. Softw. Eng., 28(7): , [12] C. J. Kapser and M. W. Godfrey. Cloning considered harmful considered harmful: patterns of cloning in software. Empir Software Eng, 13: , [13] Y. Ueda, T. Kamiya, S. Kusumoto, and K. Inoue. Gemini: Maintenance support environment based on code clone analysis. In Proc. of METRICS 2002, pages 67 76, Summary and Future Work In this paper, we conducted a case study of open source software systems and discuss its result. We found that that reasons why several clone sets are inappropriate for refactoring. As future work, we are planning to perform case studies of software systems written without using Java. Moreover, we would like to investigate recall and more metrics. Acknowledgments We express our great thanks to Ms. Fusako Mitsuhashi and Mr. Shin ichi Iwasaki of NEC Corporation for data collection. This work is being conducted as a part of Stage Project. Also, this work is partially supported by JSPS, Grant-in-Aid for Scientic Research (A) ( ) and Grant-in-Aid for Research Activity start-up( ). References [1] JBoss Application Server. [2] The Apache Ant Project. [3] M. Balazinska, E. Merlo, M. Dagenais, B. Lagüe, and K. Kontogiannis. Advanced clone-analysis to support object-oriented system refactoring. In Proc. of WCRE 2000, pages , [4] E. Choi, N. Yoshida, T. Ishio, K. Inoue, and T. Sano. Extracting code clones for refactoring using combinations of clone metrics. In Proc. of the IWSC 2011, pages 7 13, [5] M. Fowler. Refactoring: improving the design of existing code. Addison Wesley, [6] Y. Higo, T. Kamiya, S. Kusumoto, and K. Inoue. Method and Implementation for Investigating Code Clones in a Software System. Information and Software Technology, 49(9-10): , [7] Y. Higo, S. Kusumoto, and K. Inoue. A metric-based approach to identifying refactoring opportunities for merging 5
Industrial Application of Clone Change Management System
Industrial Application of Clone Change Management System Yuki Yamanaka, Eunjong Choi, Norihiro Yoshida, Katsuro Inoue, Tateki Sano Graduate School of Information Science and Technology, Osaka University,
ClonePacker: A Tool for Clone Set Visualization
ClonePacker: A Tool for Clone Set Visualization Hiroaki Murakami, Yoshiki Higo, Shinji Kusumoto Graduate School of Information Science and Technology, Osaka University, Japan {h-murakm, higo, kusumoto}@ist.osaka-u.ac.jp
Function Point Measurement from Java Programs
Function Point Measurement from Java Programs Shinji Kusumoto, Masahiro Imagawa, Katsuro Inoue Graduate School of Engineering Science Osaka University Toyonaka, Osaka, Japan {kusumoto, imagawa, inoue}@icsesosaka-uacjp
Survey of Research on Software Clones
Survey of Research on Software Clones Rainer Koschke 1 Universität Bremen, Germany Summary. This report summarizes my overview talk on software clone detection research. It first discusses the notion of
Does the Act of Refactoring Really Make Code Simpler? A Preliminary Study
Does the Act of Refactoring Really Make Code Simpler? A Preliminary Study Francisco Zigmund Sokol 1, Mauricio Finavaro Aniche 1, Marco Aurélio Gerosa 1 1 Department of Computer Science University of São
Recovering Traceability Links between Requirements and Source Code using the Configuration Management Log *
IEICE TRANS. FUNDAMENTALS/COMMUN./ELECTRON./INF. & SYST., VOL. E85-A/B/C/D, No. xx JANUARY 20xx 1 PAPER Recovering Traceability Links between Requirements and Source Code using the Configuration Management
Mining Logical Clones in Software: Revealing High-Level Business and Programming Rules
Mining Logical Clones in Software: Revealing High-Level Business and Programming Rules Wenyi Qian, Xin Peng, Zhenchang Xing, Stan Jarzabek, and Wenyun Zhao Software School, Fudan University, Shanghai,
Do Code Clones Matter?
Elmar Juergens, Florian Deissenboeck, Benjamin Hummel, Stefan Wagner Do Code Clones Matter? May 22 nd, 2009 31st ICSE, Vancouver 1 Code Clone 2 Agenda Related Work Empirical Study Detection of inconsistent
Interactive Recovery of Requirements Traceability Links Using User Feedback and Configuration Management Logs
Interactive Recovery of Requirements Traceability Links Using User Feedback and Configuration Management Logs Ryosuke Tsuchiya 1, Hironori Washizaki 1, Yoshiaki Fukazawa 1, Keishi Oshima 2, and Ryota Mibe
KS3 Computing Group 1 Programme of Study 2015 2016 2 hours per week
1 07/09/15 2 14/09/15 3 21/09/15 4 28/09/15 Communication and Networks esafety Obtains content from the World Wide Web using a web browser. Understands the importance of communicating safely and respectfully
Towards a Big Data Curated Benchmark of Inter-Project Code Clones
Towards a Big Data Curated Benchmark of Inter-Project Code Clones Jeffrey Svajlenko, Judith F. Islam, Iman Keivanloo, Chanchal K. Roy, Mohammad Mamun Mia Department of Computer Science, University of Saskatchewan,
Comparing Methods to Identify Defect Reports in a Change Management Database
Comparing Methods to Identify Defect Reports in a Change Management Database Elaine J. Weyuker, Thomas J. Ostrand AT&T Labs - Research 180 Park Avenue Florham Park, NJ 07932 (weyuker,ostrand)@research.att.com
A Model of Project Supervision for Process Correction and Improvement
A Model of Project Supervision for Process Correction and Improvement Masateru Tsunoda, Akito Monden, Tomoko Matsumura 1, and Ken-ichi Matsumoto Graduate School of Information Science Nara Institute of
An Empirical Study of Process Management and Metrics based on In-process Measurements of a Standardized Requirements Definition Phase
An Empirical Study of Process Management and Metrics based on In-process Measurements of a Standardized Requirements Definition Phase Yoshiki Mitani 1,2, Tomoko Matsumura 2, Mike Barker 2, Seishiro Tsuruho
Recommending change clusters to support software investigation: an empirical study
JOURNAL OF SOFTWARE MAINTENANCE AND EVOLUTION: RESEARCH AND PRACTICE J. Softw. Maint. Evol.: Res. Pract. 2010; 22:143 164 Published online 9 September 2009 in Wiley InterScience (www.interscience.wiley.com)..413
Index-Based Code Clone Detection: Incremental, Distributed, Scalable
Index-Based Code Clone Detection: Incremental, Distributed, Scalable Benjamin Hummel Elmar Juergens Lars Heinemann Technische Universität München, Germany {hummelb,juergens,heineman}@in.tum.de Michael
SERG. Data Clone Detection and Visualization in Spreadsheets
Delft University of Technology Software Engineering Research Group Technical Report Series Data Clone Detection and Visualization in Spreadsheets Felienne Hermans, Ben Sedee, Martin Pinzger and Arie van
Using Data Analytics to Detect Fraud
Using Data Analytics to Detect Fraud Fundamental Data Analysis Techniques 2016 Association of Certified Fraud Examiners, Inc. Discussion Question For each data analysis technique discussed in this section,
Empirical study of Software Quality Evaluation in Agile Methodology Using Traditional Metrics
Empirical study of Software Quality Evaluation in Agile Methodology Using Traditional Metrics Kumi Jinzenji NTT Software Innovation Canter NTT Corporation Tokyo, Japan [email protected] Takashi
Business Application Services Testing
Business Application Services Testing Curriculum Structure Course name Duration(days) Express 2 Testing Concept and methodologies 3 Introduction to Performance Testing 3 Web Testing 2 QTP 5 SQL 5 Load
Electronic Document Management Using Inverted Files System
EPJ Web of Conferences 68, 0 00 04 (2014) DOI: 10.1051/ epjconf/ 20146800004 C Owned by the authors, published by EDP Sciences, 2014 Electronic Document Management Using Inverted Files System Derwin Suhartono,
Processing and data collection of program structures in open source repositories
1 Processing and data collection of program structures in open source repositories JEAN PETRIĆ, TIHANA GALINAC GRBAC AND MARIO DUBRAVAC, University of Rijeka Software structure analysis with help of network
What Questions Developers Ask During Software Evolution? An Academic Perspective
What Questions Developers Ask During Software Evolution? An Academic Perspective Renato Novais 1, Creidiane Brito 1, Manoel Mendonça 2 1 Federal Institute of Bahia, Salvador BA Brazil 2 Fraunhofer Project
Visualizing and Understanding Code Duplication in Large Software Systems
Visualizing and Understanding Code Duplication in Large Software Systems by Zhen Ming Jiang A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Master
Total Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR)
Total Quality Management (TQM) Quality, Success and Failure Total Quality Management (TQM) is a concept that makes quality control a responsibility to be shared by all people in an organization. M7011
Toward Improving Graftability on Automated Program Repair
Toward Improving Graftability on Automated Program Repair Soichi Sumi, Yoshiki Higo, Keisuke Hotta, and Shinji Kusumoto Graduate School of Information Science and Technology, Osaka University, Japan Email:
Extend Table Lens for High-Dimensional Data Visualization and Classification Mining
Extend Table Lens for High-Dimensional Data Visualization and Classification Mining CPSC 533c, Information Visualization Course Project, Term 2 2003 Fengdong Du [email protected] University of British Columbia
Development of Enterprise Business Application Software by Introducing Toyota Production System
Development of Enterprise Business Application Software by Introducing Toyota Production System V Tsutomu Sekimura V Tomiko Maruyama (Manuscript received March 28, 200) Fujitsu Applications, Ltd. (FAP)
Program Understanding with Code Visualization
Program Understanding with Code Visualization Arif Iftikhar Department of Computer Science National University of Computer and Emerging Sciences 852-B Faisal Town, Lahore, Pakistan [email protected]
Visual Structure Analysis of Flow Charts in Patent Images
Visual Structure Analysis of Flow Charts in Patent Images Roland Mörzinger, René Schuster, András Horti, and Georg Thallinger JOANNEUM RESEARCH Forschungsgesellschaft mbh DIGITAL - Institute for Information
Architecture of a Software Configuration Management System for Globally Distributed Software Development Teams
Architecture of a Software Configuration Management System for Globally Distributed Software Development Teams Muhammad Wasim Bhatti Engineering Management Department CASE, Center for Advanced Studies
Improving Testing Efficiency: Agile Test Case Prioritization
Improving Testing Efficiency: Agile Test Case Prioritization www.sw-benchmarking.org Introduction A remaining challenging area in the field of software management is the release decision, deciding whether
Web Application Testing. Web Performance Testing
Web Application Testing Web Performance Testing Objectives of Performance Testing Evaluate runtime compliance to performance requirements Check different properties such as throughput (bits/sec, packets/sec)
Applying MDA in Developing Intermediary Service for Data Retrieval
Applying MDA in Developing Intermediary Service for Data Retrieval Danijela Boberić Krstićev University of Novi Sad Faculty of Sciences Trg Dositeja Obradovića 4, Novi Sad Serbia +381214852873 [email protected]
ProTeach Portfolio Support Providers: Facilitating Connections. Evidence and Analysis
ProTeach Portfolio Support Providers: Facilitating Connections Evidence and Analysis What is Evidence? Evidence is the information that a candidate provides within a commentary, using quotations from students
AN INTELLIGENT TUTORING SYSTEM FOR LEARNING DESIGN PATTERNS
AN INTELLIGENT TUTORING SYSTEM FOR LEARNING DESIGN PATTERNS ZORAN JEREMIĆ, VLADAN DEVEDŽIĆ, DRAGAN GAŠEVIĆ FON School of Business Administration, University of Belgrade Jove Ilića 154, POB 52, 11000 Belgrade,
Data Collection from Open Source Software Repositories
Data Collection from Open Source Software Repositories GORAN MAUŠA, TIHANA GALINAC GRBAC SEIP LABORATORY FACULTY OF ENGINEERING UNIVERSITY OF RIJEKA, CROATIA Software Defect Prediction (SDP) Aim: Focus
Empirical study of software quality evolution in open source projects using agile practices
1 Empirical study of software quality evolution in open source projects using agile practices Alessandro Murgia 1, Giulio Concas 1, Sandro Pinna 1, Roberto Tonelli 1, Ivana Turnu 1, SUMMARY. 1 Dept. Of
INTRUSION PREVENTION AND EXPERT SYSTEMS
INTRUSION PREVENTION AND EXPERT SYSTEMS By Avi Chesla [email protected] Introduction Over the past few years, the market has developed new expectations from the security industry, especially from the intrusion
A GUIDE TO LABORATORY REPORT WRITING ILLINOIS INSTITUTE OF TECHNOLOGY THE COLLEGE WRITING PROGRAM
AT THE ILLINOIS INSTITUTE OF TECHNOLOGY THE COLLEGE WRITING PROGRAM www.iit.edu/~writer [email protected] FALL 1999 Table of Contents Table of Contents... 2 Introduction... 3 Need for Report Writing...
ICTICT403 Apply software development methodologies
ICTICT403 Apply software development Release: 1 ICTICT403 Apply software development Modification History Release Release 1 Comments This version first released with ICT Information and Communications
Overview of Component Search System SPARS-J
Overview of omponent Searc System Tetsuo Yamamoto*,Makoto Matsusita**, Katsuro Inoue** *Japan Science and Tecnology gency **Osaka University ac part nalysis part xperiment onclusion and Future work Motivation
Performance Testing. Why is important? An introduction. Why is important? Delivering Excellence in Software Engineering
Delivering Excellence in Software Engineering Performance Testing An introduction. Why is important? Why is important? 2 1 https://www.youtube.com/watch?v=8y8vqjqbqdc 3 4 2 Introduction Why is important?
Umbrello UML Modeller Handbook
2 Contents 1 Introduction 7 2 UML Basics 8 2.1 About UML......................................... 8 2.2 UML Elements........................................ 9 2.2.1 Use Case Diagram.................................
Managing Technical Debt in Software-Reliant Systems
Managing Technical Debt in Software-Reliant Systems Brown, N.*, Cai, Y.**, Guo, Y., Kazman, R.*,, Kim, M. +, Kruchten, P. #, Lim, E. #, MacCormack, A. ++, Nord, R*., Ozkaya, I.*, Sangwan, R. π, Seaman,
Error Log Analysis for Improving Educational Materials in C Programming Language Courses
Error Log Analysis for Improving Educational Materials in C Programming Language Courses Xinyu FU a *, Chengjiu YIN b, Atsushi SHIMADA b, Hiroaki OGATA b a Department of Faculty of Information Science
How To Calculate Class Cohesion
Improving Applicability of Cohesion Metrics Including Inheritance Jaspreet Kaur 1, Rupinder Kaur 2 1 Department of Computer Science and Engineering, LPU, Phagwara, INDIA 1 Assistant Professor Department
Procedure for Marine Traffic Simulation with AIS Data
http://www.transnav.eu the International Journal on Marine Navigation and Safety of Sea Transportation Volume 9 Number 1 March 2015 DOI: 10.12716/1001.09.01.07 Procedure for Marine Traffic Simulation with
Data Model Bugs. Ivan Bocić and Tevfik Bultan
Data Model Bugs Ivan Bocić and Tevfik Bultan Department of Computer Science University of California, Santa Barbara, USA [email protected] [email protected] Abstract. In today s internet-centric world, web
DAHLIA: A Visual Analyzer of Database Schema Evolution
DAHLIA: A Visual Analyzer of Database Schema Evolution Loup Meurice and Anthony Cleve PReCISE Research Center, University of Namur, Belgium {loup.meurice,anthony.cleve}@unamur.be Abstract In a continuously
Single and Multiple-Case Study Designs IS493
1 2 Research Strategies Basic oppositions Survey research versus Case study quantitative versus qualitative The whole gamut Experiment Survey Archival analysis Historical research Case study 3 Basic Conditions
Accessing Private Network via Firewall Based On Preset Threshold Value
IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661, p- ISSN: 2278-8727Volume 16, Issue 3, Ver. V (May-Jun. 2014), PP 55-60 Accessing Private Network via Firewall Based On Preset Threshold
Usability metrics for software components
Usability metrics for software components Manuel F. Bertoa and Antonio Vallecillo Dpto. Lenguajes y Ciencias de la Computación. Universidad de Málaga. {bertoa,av}@lcc.uma.es Abstract. The need to select
MIRACLE at VideoCLEF 2008: Classification of Multilingual Speech Transcripts
MIRACLE at VideoCLEF 2008: Classification of Multilingual Speech Transcripts Julio Villena-Román 1,3, Sara Lana-Serrano 2,3 1 Universidad Carlos III de Madrid 2 Universidad Politécnica de Madrid 3 DAEDALUS
A Robust Method for Solving Transcendental Equations
www.ijcsi.org 413 A Robust Method for Solving Transcendental Equations Md. Golam Moazzam, Amita Chakraborty and Md. Al-Amin Bhuiyan Department of Computer Science and Engineering, Jahangirnagar University,
Bad code smells Refactoring Example
Bad code smells Refactoring Example Game Design Experience Professor Jim Whitehead January 26, 2009 Creative Commons Attribution 3.0 creativecommons.org/licenses/by/3.0 Announcements Game concept document
ACADEMIC LITERACY INTERVENTION PROGRAMME
ACADEMIC LITERACY INTERVENTION PROGRAMME 1. BACKGROUND The Academic Literacy Intervention programme is a specialized 10 week programme designed on the premise that students require a targeted and integrated
UNIVERSITY OF CENTRAL FLORIDA AT TRECVID 2003. Yun Zhai, Zeeshan Rasheed, Mubarak Shah
UNIVERSITY OF CENTRAL FLORIDA AT TRECVID 2003 Yun Zhai, Zeeshan Rasheed, Mubarak Shah Computer Vision Laboratory School of Computer Science University of Central Florida, Orlando, Florida ABSTRACT In this
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5, No. 6, July - August 2006 On Assuring Software Quality and Curbing Software
Fragmentation and Data Allocation in the Distributed Environments
Annals of the University of Craiova, Mathematics and Computer Science Series Volume 38(3), 2011, Pages 76 83 ISSN: 1223-6934, Online 2246-9958 Fragmentation and Data Allocation in the Distributed Environments
Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha
Algorithm & Flowchart & Pseudo code Staff Incharge: S.Sasirekha Computer Programming and Languages Computers work on a set of instructions called computer program, which clearly specify the ways to carry
Analyzing Java Software by Combining Metrics and Program Visualization
Analyzing Java Software by Combining Metrics and Program Visualization Tarja Systä Software Systems Laboratory Tampere University of Technology P.O. Box 553, FIN-33101 Tampere, Finland [email protected]
Nick Ashley TOOLS. The following table lists some additional and possibly more unusual tools used in this paper.
TAKING CONTROL OF YOUR DATABASE DEVELOPMENT Nick Ashley While language-oriented toolsets become more advanced the range of development and deployment tools for databases remains primitive. How often is
CrownPeak Playbook CrownPeak Hosting with PHP
CrownPeak Playbook CrownPeak Hosting with PHP Version 1.0 2014, Inc. All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical,
ISSUES ON FORMING METADATA OF EDITORIAL SYSTEM S DOCUMENT MANAGEMENT
ISSN 1392 124X INFORMATION TECHNOLOGY AND CONTROL, 2005, Vol.34, No.4 ISSUES ON FORMING METADATA OF EDITORIAL SYSTEM S DOCUMENT MANAGEMENT Marijus Bernotas, Remigijus Laurutis, Asta Slotkienė Information
Mining Metrics to Predict Component Failures
Mining Metrics to Predict Component Failures Nachiappan Nagappan, Microsoft Research Thomas Ball, Microsoft Research Andreas Zeller, Saarland University Overview Introduction Hypothesis and high level
Exploiting Dynamic Information in IDEs Eases Software Maintenance
Exploiting Dynamic Information in IDEs Eases Software Maintenance David Röthlisberger Software Composition Group, University of Bern, Switzerland [email protected] Abstract The integrated development
