Duplication de code: un défi pour l assurance qualité des logiciels?
|
|
- August Simpson
- 5 years ago
- Views:
Transcription
1 Duplication de code: un défi pour l assurance qualité des logiciels? Foutse Khomh S.W.A.T
2 2
3 JHotDraw 3
4 Code duplication can be 4
5 Example of code duplication Duplication to experiment without risking the stability of the system 5
6 8 General cloning patterns 6
7 Hardware variations 7
8 Platform variations 8
9 Experimental variations 9
10 Boiler-plating 10
11 API/Library protocols 11
12 Language idioms 12
13 Bug workarounds 13
14 Replicate & Specialize 14
15 Types of Code Clone Clone Types Clone A Clone B Type-1 Type-2 Type-3 for( int j = 0; j < 5; j ++ ){ sum = sum + a[j]; } for( int j = 0; j < 5; j ++ ){ sum = sum + a[j]; } for( int j = 0; j < 5; j ++ ){ sum = sum + a[j]; } for( int j = 0; j < 5; j ++ ){ sum = sum + a[j]; } for( int id = 0; id < 5; id ++ ){ sum = sum + a[id]; } for( int id = 0; id < 5; id ++ ){ sum = sum + a[id]; d = sum * c; } 15
16 Is cloning a good practice? 16
17 Cloning can introduce bugs Cloning increase maintenance effort 17
18 Late Propagation in Software Clones 18
19 Clone Evolution Clone Genealogies The change history of a clone pair Consistent Change One or both of the clones changes, but the clone pair is preserved Inconsistent Change One or both of the clones changes independently, destroying the clone pair Consistent Change Inconsistent Change Clone Genealogy Clone A Clone B 19
20 Late Propagation (LP) Two Steps: 1. An inconsistent change that diverges the clone pair Diverging Change Clone A Clone B 2. A consistent change that re-synchronizes the clone pair Re-synchronizing Change 20
21 Why is Late Propagation Risky? Late Propagation can be risky because failure to propagate changes between clones in a clone pair can lead to faults Diverging Change Clone A Clone B 8-21% of genealogies contain a Late Propagation Re-synchronizing Change 21
22 Late Propagation With Propagation Example from ArgoUML Revision Clone A Clone B 595 add Field(new UMLComboBox(typeModel), 1,0,0); add Field(new UMLComboBox(classifierModel), 2,0,0); add Field(new UMLComboBoxNavigator (this, NavClass, new UMLComboBox(typeModel)), 1,0,0); add Field(new UMLComboBoxNavigator (this, NavClass, new UMLComboBox(classifierModel)), 2,0,0); 22
23 Late Propagation Without Propagation Example from ArgoUML Revision Clone A Clone B if( destfile == null ) { destfile = new File(destDir,file.getName()); } if ( m_destfile == null ) { m_destfile = new File(m_destDir,m_file.getName() ); } if (destfile == null ) { destfile = new File(destDir,file.getName()); } if ( destfile == null ) { destfile = new File(destDir,file.getName()); } 23
24 Types of Late Propagation Propagation Category Propagation Always Occurs Propagation May or May Not Occur Propagation Never Occurs LP Type Modified During Diverging Change Modified During the Period of Divergence Modified During Re-synchronizing Change LP1 A A B LP2 A A and B B LP3 A A A and B LP4 A A and B A LP5 A A and B A and B LP6 A and B A and B A or B LP7 A and B A and B A and B LP8 A A A 24
25 Research Questions RQ1: Are there different types of Late Propagation? RQ2: Are some types of Late Propagation more faultprone than others? RQ3: Which type of Late Propagation experiences the highest proportion of faults? 25
26 Subject Systems System # LOC # Revisions # Gen CCFinder # LP CCFinder # Gen Simian # LP Simian ArgoUML 3.1M 18k 14k 1.1k Ant 2.3M 1.0M 30k 4.7k
27 Our Approach 27
28 Mining the SVN Use J-Rex to mine the SVN Heuristics used to identify the reason for a commit (Mockus et al., 2000) Snapshots of all revisions to each Java file are stored in an XML file Test files are removed 28
29 Detecting Clones Contents of each method revision extracted into individual files Perform clone detection once on all snapshots Two existing clone detection tools are used Simian (text-based) and CCFinder (token-based) 29
30 Building Clone Genealogies Build clone genealogies using the existing clone list Query the SVN using diff to track changes to each clone in a clone pair over time If a change modifies one of the clones in a clone pair, query the clone list for a matching clone 30
31 RQ1: Are there different types of Late Propagation? 31
32 RQ1: Are there different types of Late Percentage of All LP Occurrences 80% 70% 60% 50% 40% 30% 20% 10% 0% Propagation? Breakdown of LP Type by System LP1 LP2 LP3 LP4 LP5 LP6 LP7 LP8 LP Types ArgoUML - Simian ArgoUML - CCFinder Ant - Simian Ant - CCFinder There is representation from multiple types of Late Propagation and across all categories of Late Propagation 32
33 RQ2: Are some types of Late Propagation more fault-prone than others? Part 1: Is Late Propagation fault-prone? Part 2: Are specific types of Late Propagation more fault-prone? 33
34 Fisher's exact test Analysis Method Odds Ratio (OR) OR = p q /(1 /(1 p) q) 34
35 Part 1: Is Late Propagation Fault-prone? Odds Ratio LP vs. Non-LP Odds Ratios Ant - Simian ArgoUML - CCFinder Ant - CCFinder ArgoUML Simian is omitted because it is not statistically significant In all significant cases, the odds ratio is greater than 1. Therefore, Late Propagation genealogies are more fault prone than non-late Propagation genealogies 35
36 Part 2: Are specific types of Late Propagation more fault-prone? Odds Ratio Odds Ratios Between Each LP Type and Non-LP Genealogies LP1 LP2 LP3 LP4 LP5 LP6 LP7 LP8 LP Type Ant - Simian ArgoUML - CCFinder Ant - CCFinder Note: ArgoUML Simian is omitted because it is not statistically significant 36
37 RQ2 Observations In general, some Late Propagation types are not more fault-prone than non-late Propagation genealogies (i.e. odds ratio < 1) Some types that make up a small proportion of Late Propagation instances have a very high odds ratio LP7 and LP8 occur frequently but have low odds ratios Each type of Late Propagation has a different level of fault-proneness 37
38 RQ3: Which type of Late Propagation experiences the highest proportion of faults? 38
39 RQ3: Which type of Late Propagation experiences the highest proportion of Percentage of Fault Occurrences 80% 60% 40% 20% 0% faults? Percentage of Fault Occurrences Broken Down by LP Type LP1 LP2 LP3 LP4 LP5 LP6 LP7 LP8 LP Type Ant - Simian ArgoUML - CCFinder Ant - CCFinder Note: ArgoUML Simian is omitted because it is not statistically significant 39
40 RQ3 Observations LP7 and LP8 contribute a large proportion of the faults but have lower odds ratios (RQ2) When faults occur, they occur in large numbers Overall, LP7 and LP8 are the most dangerous, with the other types being system dependent in their fault-proneness The proportion of faults is different for each Late Propagation type 40
41 Discussion In general, Late Propagation genealogies are more fault-prone than non-late Propagation genealogies LP7 and LP8 are the riskiest, in terms of their faultproneness and magnitude of faults LP8 contains no propagation of changes LP7 may or may not contain any propagation of changes The fault-proneness and fault-occurrence is dependent on the Late Propagation type and is system-dependent 41
42 Mutation and Migration occur during Clone Evolution Clone mutation Clone migration These two phenomena further increase the risk of bugs in Late propagation genealogies 42
43 43
44 Acknowledgment Cloning patterns illustrations are from Nicolas Bettenburg, Cloning Considered Harmful Considered Harmful? 44
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 informationAn Empirical Study of the Effect of File Editing Patterns on Software Quality. Feng Zhang, Foutse Khomh, Ying Zou and Ahmed E.
An Empirical Study of the Effect of File Editing Patterns on Software Quality Feng Zhang, Foutse Khomh, Ying Zou and Ahmed E. Hassan Do developers follow some file editing patterns? File Editing Concurrent?
More informationAn Empirical Study on Clone Stability
An Empirical Study on Clone Stability Manishankar Mondal Chanchal K. Roy Kevin A. Schneider Department of Computer Science, University of Saskatchewan, Canada {mshankar.mondal, chanchal.roy, kevin.schneider}@usask.ca
More informationResearch Article An Empirical Study on the Impact of Duplicate Code
Advances in Software Engineering Volume 212, Article ID 938296, 22 pages doi:1.1155/212/938296 Research Article An Empirical Study on the Impact of Duplicate Code Keisuke Hotta, Yui Sasaki, Yukiko Sano,
More informationMining the Relationship between Anti-patterns Dependencies and Fault-Proneness
Mining the Relationship between Anti-patterns Dependencies and Fault-Proneness Fehmi Jaafar, Yann-Gaël Guéhéneuc, Sylvie Hamel and Foutse Khomh PTIDEJ Team, École Polytechnique de Montréal, QC, Canada
More informationAn Automatic Framework for Extracting and Classifying Near-Miss Clone Genealogies
An Automatic Framework for Extracting and Classifying Near-Miss Clone Genealogies Ripon K. Saha Chanchal K. Roy Kevin A. Schneider Department of Computer Science, University of Saskatchewan, Canada {ripon.saha,
More informationSearching for Configurations in Clone Evaluation A Replication Study
Searching for Configurations in Clone Evaluation A Replication Study Chaiyong Ragkhitwetsagul 1, Matheus Paixao 1, Manal Adham 1 Saheed Busari 1, Jens Krinke 1 and John H. Drake 2 1 University College
More informationAn empirical study of the effect of file editing patterns on software quality
JOURNAL OF SOFTWARE: EVOLUTION AND PROCESS Published online 06 August 2014 in Wiley Online Library (wileyonlinelibrary.com)..1659 An empirical study of the effect of file editing patterns on software quality
More informationSoftware Clone Detection. Kevin Tang Mar. 29, 2012
Software Clone Detection Kevin Tang Mar. 29, 2012 Software Clone Detection Introduction Reasons for Code Duplication Drawbacks of Code Duplication Clone Definitions in the Literature Detection Techniques
More informationSub-clones: Considering the Part Rather than the Whole
Sub-clones: Considering the Part Rather than the Whole Robert Tairas Department of Computer and Information Sciences University of Alabama at Birmingham Jeff Gray Department of Computer Science University
More informationAnalysing Anti-patterns Static Relationships with Design Patterns
ECEASST Analysing Anti-patterns Static Relationships with Design Patterns Fehmi Jaafar, Yann-Gaël Guéhéneuc, Sylvie Hamel, and Foutse Khomh Fehmi Jaafar School of Computing, Queen s University, Ontario,
More informationRearranging the Order of Program Statements for Code Clone Detection
Rearranging the Order of Program Statements for Code Clone Detection Yusuke Sabi, Yoshiki Higo, Shinji Kusumoto Graduate School of Information Science and Technology, Osaka University, Japan Email: {y-sabi,higo,kusumoto@ist.osaka-u.ac.jp
More informationSimilarity management of 'cloned and owned' variants
Similarity management of 'cloned and owned' variants Thomas Schmorleiz and Ralf Lämmel University of Koblenz-Landau 1 What is similarity management and why do we need it anyway? 2 Consider similarity across
More informationEmpirical Software Engineering. Empirical Software Engineering with Examples. Classification. Software Quality. precision = TP/(TP + FP)
Empirical Software Engineering Empirical Software Engineering with Examples a sub-domain of software engineering focusing on experiments on software systems devise experiments on software, in collecting
More informationFalsification: An Advanced Tool for Detection of Duplex Code
Indian Journal of Science and Technology, Vol 9(39), DOI: 10.17485/ijst/2016/v9i39/96195, October 2016 ISSN (Print) : 0974-6846 ISSN (Online) : 0974-5645 Falsification: An Advanced Tool for Detection of
More informationOn the Stability of Software Clones: A Genealogy-Based Empirical Study
On the Stability of Software Clones: A Genealogy-Based Empirical Study A Thesis Submitted to the College of Graduate Studies and Research in Partial Fulfillment of the Requirements for the degree of Master
More informationSub-clones: Considering the Part Rather than the Whole
Sub-clones: Considering the Part Rather than the Whole Robert Tairas 1 and Jeff Gray 2 1 Department of Computer and Information Sciences, University of Alabama at Birmingham, Birmingham, AL 2 Department
More informationGoogle File System, Replication. Amin Vahdat CSE 123b May 23, 2006
Google File System, Replication Amin Vahdat CSE 123b May 23, 2006 Annoucements Third assignment available today Due date June 9, 5 pm Final exam, June 14, 11:30-2:30 Google File System (thanks to Mahesh
More informationEmpirical Software Engineering. Empirical Software Engineering with Examples! is not a topic for examination. Classification.
Empirical Software Engineering Empirical Software Engineering with Examples is not a topic for examination a sub-domain of software engineering focusing on experiments on software systems devise experiments
More informationWhere Should the Bugs Be Fixed?
Where Should the Bugs Be Fixed? More Accurate Information Retrieval-Based Bug Localization Based on Bug Reports Presented by: Chandani Shrestha For CS 6704 class About the Paper and the Authors Publication
More informationAnalysis of Coding Patterns over Software Versions
Information and Media Technologies 0(): - (05) reprinted from: Computer Software (): 0- (05) Analysis of Coding Patterns over Software Versions Hironori Date, Takashi Ishio, Makoto Matsushita, Katsuro
More informationCSC 2700: Scientific Computing
CSC 2700: Scientific Computing Record and share your work: revision control systems Dr Frank Löffler Center for Computation and Technology Louisiana State University, Baton Rouge, LA Feb 13 2014 Overview
More information3 Prioritization of Code Anomalies
32 3 Prioritization of Code Anomalies By implementing a mechanism for detecting architecturally relevant code anomalies, we are already able to outline to developers which anomalies should be dealt with
More informationManagement. Software Quality. Dr. Stefan Wagner Technische Universität München. Garching 28 May 2010
Technische Universität München Software Quality Management Dr. Stefan Wagner Technische Universität München Garching 28 May 2010 Some of these slides were adapted from the tutorial "Clone Detection in
More informationCompilers and Interpreters
Overview Roadmap Language Translators: Interpreters & Compilers Context of a compiler Phases of a compiler Compiler Construction tools Terminology How related to other CS Goals of a good compiler 1 Compilers
More informationAn Empirical Study of the Effect of File Editing Patterns on Software Quality
An Empirical Study of the Effect of File Editing Patterns on Software Quality Feng Zhang, Foutse Khomh, Ying Zou, and Ahmed E. Hassan School of Computing, Queen s University, Canada {feng, ahmed}@cs.queensu.ca
More informationWhen does a Refactoring Induce Bugs? An Empirical Study
When does a Refactoring Induce Bugs? An Empirical Study Gabriele Bavota 1, Bernardino De Carluccio 1, Andrea De Lucia 1 Massimiliano Di Penta 2, Rocco Oliveto 3, Orazio Strollo 1 1 University of Salerno,
More informationEmpirical Study on Impact of Developer Collaboration on Source Code
Empirical Study on Impact of Developer Collaboration on Source Code Akshay Chopra, Sahil Puri and Parul Verma 03 April 2018 Outline Introduction Research Questions Methodology Data Characteristics Analysis
More informationContext-Based Detection of Clone-Related Bugs. Lingxiao Jiang, Zhendong Su, Edwin Chiu University of California at Davis
Context-Based Detection of Clone-Related Bugs Lingxiao Jiang, Zhendong Su, Edwin Chiu University of California at Davis 1 Outline Introduction and samples of cloning errors Definitions of inconsistencies
More informationA 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 informationPAPER CLCMiner: Detecting Cross-Language Clones without Intermediates
IEICE TRANS. INF. & SYST., VOL.Exx D, NO.xx XXXX 200x 1 PAPER CLCMiner: Detecting Cross-Language Clones without Intermediates Xiao CHENG a), Zhiming PENG, Lingxiao JIANG b), Hao ZHONG, Haibo YU, Nonmembers,
More informationAn annotation-centric approach to similarity management
An annotation-centric approach to similarity management Unpublished work. Submission underway. Thomas Schmorleiz and Ralf Lämmel Software Languages Team, University of Koblenz-Landau Management of similarity
More informationarxiv: v1 [cs.se] 25 Mar 2014
Do the Fix Ingredients Already Exist? An Empirical Inquiry into the Redundancy Assumptions of Program Repair Approaches Matias Martinez Westley Weimer Martin Monperrus University of Lille & INRIA, France
More informationLecture 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 informationAn Experience Report on Analyzing Industrial Software Systems Using Code Clone Detection Techniques
An Experience Report on Analyzing Industrial Software Systems Using Code Clone Detection Techniques Norihiro Yoshida (NAIST) Yoshiki Higo, Shinji Kusumoto, Katsuro Inoue (Osaka University) Outline 1. What
More informationOptimization of Query Processing in XML Document Using Association and Path Based Indexing
Optimization of Query Processing in XML Document Using Association and Path Based Indexing D.Karthiga 1, S.Gunasekaran 2 Student,Dept. of CSE, V.S.B Engineering College, TamilNadu, India 1 Assistant Professor,Dept.
More informationCross-project defect prediction. Thomas Zimmermann Microsoft Research
Cross-project defect prediction Thomas Zimmermann Microsoft Research Upcoming Events ICSE 2010: http://www.sbs.co.za/icse2010/ New Ideas and Emerging Results ACM Student Research Competition (SRC) sponsored
More informationDistributed Systems. 09. State Machine Replication & Virtual Synchrony. Paul Krzyzanowski. Rutgers University. Fall Paul Krzyzanowski
Distributed Systems 09. State Machine Replication & Virtual Synchrony Paul Krzyzanowski Rutgers University Fall 2016 1 State machine replication 2 State machine replication We want high scalability and
More informationLarge-Scale Clone Detection and Benchmarking
Large-Scale Clone Detection and Benchmarking A Thesis Submitted to the College of Graduate and Postdoctoral Studies in Partial Fulfillment of the Requirements for the degree of Doctor of Philosophy in
More informationCMPT 473 Software Quality Assurance. Managing Bugs. Nick Sumner
CMPT 473 Software Quality Assurance Managing Bugs Nick Sumner Bugs! So far, we've been trying to find & avoid them Test, test, test! 2 Bugs! So far, we've been trying to find & avoid them Test, test, test!
More informationCLOUD-SCALE FILE SYSTEMS
Data Management in the Cloud CLOUD-SCALE FILE SYSTEMS 92 Google File System (GFS) Designing a file system for the Cloud design assumptions design choices Architecture GFS Master GFS Chunkservers GFS Clients
More informationA 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 informationInsight into a Method Co-change Pattern to Identify Highly Coupled Methods: An Empirical Study
Insight into a Method Co-change Pattern to Identify Highly Coupled Methods: An Empirical Study Manishankar Mondal Chanchal K. Roy Kevin A. Schneider Department of Computer Science, University of Saskatchewan,
More informationRecognition of Animal Skin Texture Attributes in the Wild. Amey Dharwadker (aap2174) Kai Zhang (kz2213)
Recognition of Animal Skin Texture Attributes in the Wild Amey Dharwadker (aap2174) Kai Zhang (kz2213) Motivation Patterns and textures are have an important role in object description and understanding
More informationAssuring Certainty through Effective Regression Testing. Vishvesh Arumugam
Assuring Certainty through Effective Regression Testing Vishvesh Arumugam Agenda Introduction The Problem Magnitude Management Regression Test Efficiency Solution and Approach Test Suite Maintenance Determining
More informationVersion control CSE 403
Version control CSE 403 Goals of a version control system Keep a history of your work Explain the purpose of each change Checkpoint specific versions (known good state) Recover specific state (fix bugs,
More informationDCC / ICEx / UFMG. Software Code Clone. Eduardo Figueiredo.
DCC / ICEx / UFMG Software Code Clone Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Code Clone Code Clone, also called Duplicated Code, is a well known code smell in software systems Code clones
More informationProceedings of the Eighth International Workshop on Software Clones (IWSC 2014)
Electronic Communications of the EASST Volume 63 (2014) Proceedings of the Eighth International Workshop on Software Clones (IWSC 2014) Clones and Macro co-changes Angela Lozano, Fehmi Jaafar, Kim Mens,
More informationZFS Async Replication Enhancements Richard Morris Principal Software Engineer, Oracle Peter Cudhea Principal Software Engineer, Oracle
ZFS Async Replication Enhancements Richard Morris Principal Software Engineer, Oracle Peter Cudhea Principal Software Engineer, Oracle Talk Outline Learning Objectives High level understanding - how ZFS
More informationPractical Byzantine Fault Tolerance (The Byzantine Generals Problem)
Practical Byzantine Fault Tolerance (The Byzantine Generals Problem) Introduction Malicious attacks and software errors that can cause arbitrary behaviors of faulty nodes are increasingly common Previous
More informationMaster Thesis. Evaluating the Effect of Return Null on Maintenance
Master Thesis Title Evaluating the Effect of Return Null on Maintenance Supervisor Prof. Shinji Kusumoto by Shuhei Kimura February 5, 2014 Department of Computer Science Graduate School of Information
More informationDetecting and Quantifying Different Types of Self-Admitted Technical Debt
Detecting and Quantifying Different Types of Self-Admitted Technical Debt Everton da S. Maldonado and Emad Shihab Department of Computer Science and Software Engineering Concordia University, Montreal,
More informationNFSv4 as the Building Block for Fault Tolerant Applications
NFSv4 as the Building Block for Fault Tolerant Applications Alexandros Batsakis Overview Goal: To provide support for recoverability and application fault tolerance through the NFSv4 file system Motivation:
More information... Fisheye Crucible Bamboo
Sander Soo MSc Computer Science Oracle Certified Professional (Java SE) Nortal (email: sander.soo@nortal.com) Mercurial Java Spring Framework AngularJS Atlassian stack... Fisheye Crucible Bamboo 2 Make
More informationIntro Git Advices. Using Git. Matthieu Moy. Matthieu Moy Git 2016 < 1 / 11 >
Using Git Matthieu Moy Matthieu.Moy@imag.fr 2016 Matthieu Moy (Matthieu.Moy@imag.fr) Git 2016 < 1 / 11 > Outline 1 Revision Control System 2 Git: Basic Principles 3 Advices Using Git Matthieu Moy (Matthieu.Moy@imag.fr)
More informationChapter 11, Testing. Using UML, Patterns, and Java. Object-Oriented Software Engineering
Chapter 11, Testing Using UML, Patterns, and Java Object-Oriented Software Engineering Outline Terminology Types of errors Dealing with errors Quality assurance vs Testing Component Testing! Unit testing!
More informationSubversion Repository Layout
Subversion Subversion Control manages documents over time keeps a history of all changes - multiple versions of every file coordinates work of multiple authors avoids conflicts...and helps to resolve them
More informationTo Enhance Type 4 Clone Detection in Clone Testing Swati Sharma #1, Priyanka Mehta #2 1 M.Tech Scholar,
To Enhance Type 4 Clone Detection in Clone Testing Swati Sharma #1, Priyanka Mehta #2 1 M.Tech Scholar, 2 Head of Department, Department of Computer Science & Engineering, Universal Institute of Engineering
More informationVersion Control. Kyungbaek Kim. Chonnam National University School of Electronics and Computer Engineering. Original slides from James Brucker
Version Control Chonnam National University School of Electronics and Computer Engineering Kyungbaek Kim Original slides from James Brucker What is version control Manage documents over time Keep a history
More informationContinuous Integration / Continuous Testing
Bitte decken Sie die schraffierte Fläche mit einem Bild ab. Please cover the shaded area with a picture. (24,4 x 7,6 cm) Continuous Integration / Continuous Testing IIC What s SW Integration? Integration
More informationFinding Extract Method Refactoring Opportunities by Analyzing Development History
2017 IEEE 41st Annual Computer Software and Applications Conference Finding Extract Refactoring Opportunities by Analyzing Development History Ayaka Imazato, Yoshiki Higo, Keisuke Hotta, and Shinji Kusumoto
More informationDistributed File Systems II
Distributed File Systems II To do q Very-large scale: Google FS, Hadoop FS, BigTable q Next time: Naming things GFS A radically new environment NFS, etc. Independence Small Scale Variety of workloads Cooperation
More informationVersion control CSE 403
Version control CSE 403 Goals of a version control system Keep a history of your work Explain the purpose of each change Checkpoint specific versions (known good state) Recover specific state (fix bugs,
More information1/30/18. Overview. Code Clones. Code Clone Categorization. Code Clones. Code Clone Categorization. Key Points of Code Clones
Overview Code Clones Definition and categories Clone detection Clone removal refactoring Spiros Mancoridis[1] Modified by Na Meng 2 Code Clones Code clone is a code fragment in source files that is identical
More informationDistributed KIDS Labs 1
Distributed Databases @ KIDS Labs 1 Distributed Database System A distributed database system consists of loosely coupled sites that share no physical component Appears to user as a single system Database
More informationImproving Bug Management using Correlations in Crash Reports
Noname manuscript No. (will be inserted by the editor) Improving Bug Management using Correlations in Crash Reports Shaohua Wang Foutse Khomh Ying Zou Received: date / Accepted: date Abstract Nowadays,
More informationFault, Error, and Failure
Fault, Error, and Failure Testing, Quality Assurance, and Maintenance Winter 2018 Prof. Arie Gurfinkel based on slides by Prof. Lin Tan and others Terminology, IEEE 610.12-1990 Fault -- often referred
More informationCo-Evolving Code-Related and Database-Related Changes in a Data-Intensive Software System
Co-Evolving Code-Related and Database-Related Changes in a Data-Intensive Software System Mathieu Goeminne, Alexandre Decan, Tom Mens Service de Génie Logiciel, Université de Mons! FNRS Projet de Recherche
More informationSOLUTION BRIEF CA TEST DATA MANAGER FOR HPE ALM. CA Test Data Manager for HPE ALM
SOLUTION BRIEF CA TEST DATA MANAGER FOR HPE ALM CA Test Data Manager for HPE ALM Generate all the data needed to deliver fully tested software, and export it directly into Hewlett Packard Enterprise Application
More informationIdentifying Changed Source Code Lines from Version Repositories
Identifying Changed Source Code Lines from Version Repositories Gerardo Canfora, Luigi Cerulo, Massimiliano Di Penta RCOST Research Centre on Software Technology Department of Engineering - University
More informationInheritance Usage Patterns in Open-Source Systems. Jamie Stevenson and Murray Wood. University of Strathclyde, Glasgow, UK
Inheritance Usage Patterns in Open-Source Systems Jamie Stevenson and Murray Wood University of Strathclyde, Glasgow, UK Aims of Study: To investigate how inheritance is used in practice To close the gap
More informationThanks for Live Snapshots, Where's Live Merge?
Thanks for Live Snapshots, Where's Live Merge? KVM Forum 16 October 2014 Adam Litke Red Hat Adam Litke, Thanks for Live Snapshots, Where's Live Merge 1 Agenda Introduction of Live Snapshots and Live Merge
More informationEvolutionary Algorithms. CS Evolutionary Algorithms 1
Evolutionary Algorithms CS 478 - Evolutionary Algorithms 1 Evolutionary Computation/Algorithms Genetic Algorithms l Simulate natural evolution of structures via selection and reproduction, based on performance
More informationQTEP: Quality-Aware Test Case Prioritization
QTEP: Quality-Aware Test Case Prioritization {song.wang,jc.nam,lintan}@uwaterloo.ca Electrical and Computer Engineering, University of Waterloo Waterloo, ON, Canada ABSTRACT Test case prioritization (TCP)
More informationSoftware Clone Detection and Refactoring
Software Clone Detection and Refactoring Francesca Arcelli Fontana *, Marco Zanoni *, Andrea Ranchetti * and Davide Ranchetti * * University of Milano-Bicocca, Viale Sarca, 336, 20126 Milano, Italy, {arcelli,marco.zanoni}@disco.unimib.it,
More informationAnalysis Tool Project
Tool Overview The tool we chose to analyze was the Java static analysis tool FindBugs (http://findbugs.sourceforge.net/). FindBugs is A framework for writing static analyses Developed at the University
More informationClassification of Java Programs in SPARS-J. Kazuo Kobori, Tetsuo Yamamoto, Makoto Matsusita and Katsuro Inoue Osaka University
Classification of Java Programs in SPARS-J Kazuo Kobori, Tetsuo Yamamoto, Makoto Matsusita and Katsuro Inoue Osaka University Background SPARS-J Reuse Contents Similarity measurement techniques Characteristic
More information[ANALYSIS ASSIGNMENT 10]
2009 Pidgin Carlos Simões Higino Silva João Carlos Almeida Miguel Graça Oliveira [ANALYSIS ASSIGNMENT 10] INTRODUCTION The purpose of this project is to evaluate a testing tool chosen by the team and provide
More informationChapter 11 Database Concepts
Chapter 11 Database Concepts INTRODUCTION Database is collection of interrelated data and database system is basically a computer based record keeping system. It contains the information about one particular
More informationBug Inducing Analysis to Prevent Fault Prone Bug Fixes
Bug Inducing Analysis to Prevent Fault Prone Bug Fixes Haoyu Yang, Chen Wang, Qingkai Shi, Yang Feng, Zhenyu Chen State Key Laboratory for ovel Software Technology, anjing University, anjing, China Corresponding
More informationPAPER Proposing and Evaluating Clone Detection Approaches with Preprocessing Input Source Files
IEICE TRANS. INF. & SYST., VOL.E98 D, NO.2 FEBRUARY 2015 325 PAPER Proposing and Evaluating Clone Detection Approaches with Preprocessing Input Source Files Eunjong CHOI a), Nonmember, Norihiro YOSHIDA,
More informationEmpirical Study on Impact of Developer Collaboration on Source Code
Empirical Study on Impact of Developer Collaboration on Source Code Akshay Chopra University of Waterloo Waterloo, Ontario a22chopr@uwaterloo.ca Parul Verma University of Waterloo Waterloo, Ontario p7verma@uwaterloo.ca
More informationdb4o: Part 2 Configuration and Tuning, Distribution and Replication Schema Evolution: Refactoring, Inheritance Evolution Callbacks and Translators
Object-Oriented Oi t ddatabases db4o: Part 2 Configuration and Tuning, Distribution and Replication Schema Evolution: Refactoring, Inheritance Evolution Callbacks and Translators Summary: db4o Part 1 Managing
More informationTeam Collaboration with. TestingWhiz. TestingWhiz
Team Collaboration with TestingWhiz TestingWhiz 7/20/2017 Contents What is Collaborative Software Development?...2 How Does Collaboration Work in Automated Software Testing?...2 Need for Version Control
More informationM E R C U R I A L (The Source Control Management)
M E R C U R I A L (The Source Control Management) Jamshaid Iqbal Janjua, Shahid Awan jamshaid.janjua@kics.edu.pk shahidawan@kics.edu.pk Al-Khawarizmi Institute of Computer Science University of Engineering
More informationExport generates an empty file
Known Issues for Oracle SQL Developer Web Release 18.1 E96172-01 May 2018 Known Issues for Oracle SQL Developer Web This section describes known issues associated with the Oracle SQL Developer Web 18.1
More informationA METRIC BASED EVALUATION OF TEST CASE PRIORITATION TECHNIQUES- HILL CLIMBING, REACTIVE GRASP AND TABUSEARCH
A METRIC BASED EVALUATION OF TEST CASE PRIORITATION TECHNIQUES- HILL CLIMBING, REACTIVE GRASP AND TABUSEARCH 1 M.Manjunath, 2 N.Backiavathi 1 PG Scholar, Department of Information Technology,Jayam College
More informationAn 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 informationComparing Approaches to Analyze Refactoring Activity on Software Repositories
Comparing Approaches to Analyze Refactoring Activity on Software Repositories Gustavo Soares a,, Rohit Gheyi a, Emerson Murphy-Hill b, Brittany Johnson b a Department of Computing and Systems, Federal
More informationOPS REVIEW [Name of Org]
OPS REVIEW [Name of Org] Project Codeviation http://www.codeviation.org Presenter: Petr Zajac > (Petr.Zajac@sun.com) Petr Hřebejk > (Petr.Hrebejk@sun.com) Date: 24.5.2007 Contents Introduction to the problem
More informationPredicting Bugs. by Analyzing History. Sunghun Kim Research On Program Analysis System Seoul National University
Predicting Bugs by Analyzing History Sunghun Kim Research On Program Analysis System Seoul National University Around the World in 80 days Around the World in 8 years Predicting Bugs Severe consequences
More informationSANER 17. Klagenfurt, Austria
SANER 17 Klagenfurt, Austria Carol V. Alexandru, Sebastiano Panichella, Harald C. Gall Software Evolution and Architecture Lab University of Zurich, Switzerland {alexandru,panichella,gall}@ifi.uzh.ch 22.02.2017
More informationAPIEvolutionMiner: Keeping API Evolution under Control
APIEvolutionMiner: Keeping API Evolution under Control André Hora, Anne Etien, Nicolas Anquetil, Stéphane Ducasse, Marco Tulio Valente RMoD team, Inria, Lille, France Email: firstname.lastname@inria.fr
More informationDetection and Behavior Identification of Higher-Level Clones in Software
Detection and Behavior Identification of Higher-Level Clones in Software Swarupa S. Bongale, Prof. K. B. Manwade D. Y. Patil College of Engg. & Tech., Shivaji University Kolhapur, India Ashokrao Mane Group
More informationFSE Clone- Based and Interactive Recommendation for Modifying Pasted Code
FSE 2015 Clone- Based and Interactive Recommendation for Modifying Pasted Code Yun Lin, Xin Peng, Zhenchang Xing, Diwen Zheng, and Wenyun Zhao Software School, Fudan University pengxin@fudan.edu.cn http://www.se.fudan.edu.cn/pengxin
More informationAn Empirical Study of Crash-inducing Commits in Mozilla Firefox
An Empirical Study of Crash-inducing Commits in Mozilla Firefox Le An, Foutse Khomh SWAT, Polytechnique Montréal, Québec, Canada {le.an, foutse.khomh}@polymtl.ca ABSTRACT Software crashes are feared by
More informationSlice Intelligence!
Intern @ Slice Intelligence! Wei1an(Wu( September(8,(2014( Outline!! Details about the job!! Skills required and learned!! My thoughts regarding the internship! About the company!! Slice, which we call
More informationCOURSE 11 DESIGN PATTERNS
COURSE 11 DESIGN PATTERNS PREVIOUS COURSE J2EE Design Patterns CURRENT COURSE Refactoring Way refactoring Some refactoring examples SOFTWARE EVOLUTION Problem: You need to modify existing code extend/adapt/correct/
More informationA Characterization Study of Repeated Bug Fixes
A Characterization Study of Repeated Bug Fixes Ruru Yue 1,2 Na Meng 3 Qianxiang Wang 1,2 1 Key Laboratory of High Confidence Software Technologies (Peking University), MoE 2 Institute of Software, EECS,
More informationWhite-Box Testing Techniques
T-76.5613 Software Testing and Quality Assurance Lecture 3, 18.9.2006 White-Box Testing Techniques SoberIT Content What are white-box testing techniques Control flow testing Statement coverage Branch coverage
More information