Homework&2& Specula.ve&Analysis& Research&Projects& 10/5/14& On&bug&localiza.on& Due&Tuesday&(fake&Monday),&Oct&14,&& 9&AM&on&moodle& &

Size: px
Start display at page:

Download "Homework&2& Specula.ve&Analysis& Research&Projects& 10/5/14& On&bug&localiza.on& Due&Tuesday&(fake&Monday),&Oct&14,&& 9&AM&on&moodle& &"

Transcription

1 10/5/14& Homework&2& Specula.ve&Analysis& On&bug&localiza.on& Due&uesday&(fake&onday),&Oct&14,&& 9&A&on&moodle& & Research&Projects& Has&everyone&submiNed&& project&ideas&/&paper&selec.ons?& ednesday,&we&will&have&research&idea&presenta.ons& I&will&present&several&as&well& Students&will&have&un.l&riday&10/10&to&form&groups& 1&

2 Implement a new feature? Incorporate another developer s changes? decision making ix a bug? decision making Upgrade a library? Refactor for code reuse? Run tests? 2 / 25 2 / 25 Implement a new feature? ix a bug? Incorporate another developer s changes? decision making Developers often make decisions based on experience and intuition. Upgrade a library? Can we predict the future to help make decisions? Refactor for code reuse? Run tests? 2 / 25 Speculative analysis: predict the future and analyze it Speculative analysis: predict the future and analyze it speculate 4 / 25 4 / 25

3 Speculative analysis: predict the future and analyze it Speculative analysis: predict the future and analyze it speculate speculate 4 / 25 4 / 25 Speculative analysis: predict the future and analyze it Speculative analysis: predict the future and analyze it speculate speculate analyze execute test suite analyze execute test suite 4 / 25 inform developer # of resulting test failures 4 / 25 Speculative analysis: research questions Are there domains forspeculate which speculative analysis is possible? Quick ix Scout Can speculative analysis be made computationallyanalyze feasible? Collaborators: Kıvanç uşlu, Reid Holmes, ichael D. Ernst, and David Notkin inform developer Can speculative analysis help, and not overwhelm, developers? 4 / 25 5 / 25

4 Eclipse provides Quick ixes to resolve compilation errors. But Eclipse can t tell which fix is best. 6 / 25 6 / 25 e can speculatively apply each fix to find out how many errors remain. 6 / 25 Sometimes, local fixes cannot resolve an error. 6 / 25 Complex error dependencies... Speculation can discover remote fixes that resolve errors. 6 / / 25

5 Complex error dependencies Complex error dependencies / / 25 Speculative analysis for Quick ix quick fix quick fix speculate quick fix Exploring the future past version present version delta debugging continuous testing automated debugging future version quick fix quick fix quick fix analyze compile inform developer # of resulting compilation errors 8 / 25 9 / 25 Exploring the future Exploring the future past version present version future version past version present version future version regression testing mining software repositories continuous testing delta debugging automated debugging regression testing mining software repositories continuous testing delta debugging automated debugging Continuous development compilation [Childers et al. 2003; Eclipse 2011] execution [Henderson and eiser 1985; Karinthi and eiser 1987] testing [Sa and Ernst 2003, 2004] version control integration [Guimarães and Rito-Silva 2010] 9 / 25 9 / 25

6 Exploring the future past version mining software repositories regression testing present version delta debugging continuous testing automated debugging future version speculative analysis Proactive detection of collaboration conflicts Continuous development compilation [Childers et al. 2003; Eclipse 2011] execution [Henderson and eiser 1985; Karinthi and eiser 1987] testing [Sa and Ernst 2003, 2004] version control integration [Guimarães and Rito-Silva 2010] Speculative analysis is predictive. Collaborators: Reid Holmes, ichael D. Ernst, and David Notkin 9 / / 25 Version-control terminology Proactive conflict detection applies to both centralized and distributed version control. distributed (hg, git) centralized (cvs, svn) local commit: commit save incorporate: pull and push update and commit 11 / 25

7 h h h h h h h h h

8 h h h h he information was all there, but the developers didn t know it. hat could well-informed developers do? hat could well-informed developers do? avoid conflicts h h avoid conflicts become aware of conflicts earlier 13 / / 25 Introducing Crystal: a proactive conflict detector DEO Introducing Crystal: a proactive conflict detector DEO 14 / / 25

9 Speculative analysis in collaborative development Reducing false positives in conflict prediction local commit speculate incorporate from elinda incorporate from master incorporate to master analyze merge compile test Collaborative awareness Palantír [Sarma et al. 2003] ASDash [Biehl et al. 2007] Syde [Hattori and Lanza 2010] CollabVS [Dewan and Hegde 2007] Safe-commit [loka et al. 2009] Sourceree [Streeting 2010] inform developer collaborative relationships 15 / / 25 Reducing false positives in conflict prediction Utility of conflict detection Collaborative awareness Palantír [Sarma et al. 2003] ASDash [Biehl et al. 2007] Syde [Hattori and Lanza 2010] CollabVS [Dewan and Hegde 2007] Safe-commit [loka et al. 2009] Sourceree [Streeting 2010] Crystal analyzes concrete artifacts, eliminating false positives and false negatives. Can textual conflicts be prevented? Do build and test collaborative conflicts exist? 16 / / 25 histories of 9 open-source projects: size: 26K 1.4SLoC developers: 298 versions: 140,000 Perl5, Rails, Git, jquery, Voldemort, angos, Gallery3, Samba, Insoshi h h histories of 9 open-source projects: size: 26K 1.4SLoC developers: 298 versions: 140,000 Perl5, Rails, Git, jquery, Voldemort, angos, Gallery3, Samba, Insoshi

10 h h How frequent are textual conflicts? h h How frequent are textual conflicts? 16% of the merges have textual conflicts. h h } How frequent are textual conflicts? 16% of the merges have textual conflicts. How long do textual conflicts persist? h h } How frequent are textual conflicts? 16% of the merges have textual conflicts. How long do textual conflicts persist? Conflicts live a mean of 9.8 and median of 1.6 days. he worst case was over a year. h h } How frequent are textual conflicts? 16% of the merges have textual conflicts. How long do textual conflicts persist? Conflicts live a mean of 9.8 and median of 1.6 days. he worst case was over a year. How long do textually-safe merges persist? h h } How frequent are textual conflicts? 16% of the merges have textual conflicts. How long do textual conflicts persist? Conflicts live a mean of 9.8 and median of 1.6 days. he worst case was over a year. How long do textually-safe merges persist? extually-safe merges live a mean of 11.0 and median of 1.9 days.

11 Can textual conflicts be prevented? Can textual conflicts be prevented? here do textual conflicts come from? here do textual conflicts come from? 93% of textual conflicts developed from safe merges. 7% 93% 19 / / 25 Can textual conflicts be prevented? Do build and test collaborative conflicts exist? here do textual conflicts come from? 93% of textual conflicts developed from safe merges. 7% 93% he information Crystal computes can help prevent conflicts. program conflicts safe textual build test merges Git 17% <1% 4% 79% Perl5 8% 4% 28% 61% Voldemort 17% 10% 3% 69% Does merged code fail to build or fail tests? One in three conflicts are build or test conflicts. 19 / / 25 icrosoft Beacon A centralized version control-based tool. icrosoft product groups are using Beacon to help identify conflicts earlier in the development process. Contributions of speculative analysis past version mining software repositories regression testing present version delta debugging continuous testing automated debugging future version speculative analysis Next steps: easure Crystal s e ect on conflict frequency and persistence Evaluate qualitative e ects on user experience Identify what helps and what does not Improving developer awareness when making decisions compute precise, accurate information convert a pull mechanism to a push one Additional collaborators: Kıvanç uşlu, Christian Bird, homas Zimmermann 21 / / 25

12

13 Automating decision making: self-adaptation specification running system 24 / 25

14 Automating decision making: self-adaptation Automating decision making: self-adaptation specification generate adaptations potential systems specification generate adaptations potential systems running system running system observe analysis 24 / / 25 Automating decision making: self-adaptation uture research: automation specification generate adaptations potential systems specification generate adaptations potential systems running system observe running system observe employ adaptation decide analysis 1 Automating decision making: removing the developer 2 Using new automation to enrich speculative analysis employ adaptation decide analysis 3 Bridging requirement specification and behavioral model inference 24 / / 25 Jacob. Biehl, ary Czerwinski, Greg Smith, and George G. Robertson. ASDash: A visual dashboard for fostering awareness in software teams. In CHI, pages ,SanJose,CA,USA,Apr.2007.ISBN doi: / Bruce Childers, Jack. Davidson, and ary Lou So a. Continuous compilation: A new approach to aggressive and adaptive code transformation. In IPDPS, Prasun Dewan and Rajesh Hegde. Semi-synchronous conflict detection and resolution in asynchronous software development. In ECSC, pages ,Limerick,Ireland,2007. Eclipse. he Eclipse foundation ário Luís Guimarães and António Rito-Silva. owards real-time integration. In CHASE, pages 56 63, Cape own, South Africa, ay Lile Hattori and ichele Lanza. Syde: A tool for collaborative software development. In ICSE ool Demo, pages , Cape own, South Africa, ay ISBN doi: / Peter Henderson and ark eiser. Continuous execution: he VisiProg environment. In ICSE, pages 68 74, London, England, UK, Aug R. R. Karinthi and. eiser. Incremental re-execution of programs. In SII, pages 38 44, St. Paul, N, USA, June ISBN doi: / David Sa and ichael D. Ernst. Reducing wasted development time via continuous testing. In ISSRE, pages ,Denver, CO, USA, Nov ISBN David Sa and ichael D. Ernst. An experimental evaluation of continuous testing during development. In ISSA, pages76 85, Boston, A, USA, July doi: / Anita Sarma, Zahra Noroozi, and André van der Hoek. Palantír: Raising awareness among configuration management workspaces. In ICSE, pages , Portland, OR, ay ISBN X. Steve Streeting. Sourcetree Jan loka, Barbara Ryder, rank ip, and Xiaoxia Ren. Safe-commit analysis to facilitate team software development. In ICSE, pages , Vancouver, BC, Canada, ay ISBN doi: /ICSE

Mining the History of Synchronous Changes to Refine Code Ownership

Mining the History of Synchronous Changes to Refine Code Ownership Mining the History of Synchronous Changes to Refine Code Ownership Lile Hattori and Michele Lanza REVEAL@ Faculty of Informatics - University of Lugano, Switzerland Abstract When software repositories

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

Commit 2.0. Marco D Ambros, Michele Lanza. Romain Robbes. ABSTRACT

Commit 2.0. Marco D Ambros, Michele Lanza. Romain Robbes. ABSTRACT Commit 2.0 Marco D Ambros, Michele Lanza REVEAL @ Faculty of Informatics University of Lugano, Switzerland {marco.dambros, michele.lanza}@usi.ch Romain Robbes University of Chile Chile romain.robbes@gmail.com

More information

Review Version Control Concepts

Review Version Control Concepts Review Version Control Concepts SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology Managing change is a constant aspect of software development.

More information

Version control CSE 403

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

Using Dependency Graphs to Support Collaboration Over GitHub:

Using Dependency Graphs to Support Collaboration Over GitHub: Using Dependency Graphs to Support Collaboration Over GitHub: The Neo4j Graph Database Approach Ritu Arora CS & IS Birla Institute of Technology & Science, Pilani, Rajasthan, India Sanjay Goel CSE & IT

More information

Version control CSE 403

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

Version control CSE 403

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

The Landscape of Concurrent Development

The Landscape of Concurrent Development The Landscape of Concurrent Development Thomas Zimmermann tz@acm.org Department of Computer Science, Saarland University, Saarbrücken, Germany Abstract The version control archive CVS records not only

More information

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 17, 2018

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 17, 2018 Version Control Click to edit Master EECS text 2311 styles - Software Development Project Second level Third level Fourth level Fifth level January 17, 2018 1 But first, Screen Readers The software you

More information

Object Oriented Programming. Week 1 Part 2 Git and egit

Object Oriented Programming. Week 1 Part 2 Git and egit Object Oriented Programming Part 2 Git and egit Lecture Review of Git Local Repository Remote Repository Using Git from Eclipse Review of Git 3 What is Git? Software Configuration Management (SCM) Supports

More information

Revision Control. Software Engineering SS 2007

Revision Control. Software Engineering SS 2007 Revision Control Software Engineering SS 2007 Agenda Revision Control 1. Motivation 2. Overview 3. Tools 4. First Steps 5. Links Objectives - Use revision control system for collaboration Software Engineering,

More information

The Rock branching strategy is based on the Git Branching Model documented by Vincent Driessen.

The Rock branching strategy is based on the Git Branching Model documented by Vincent Driessen. Overview The Rock branching strategy is based on the Git Branching Model documented by Vincent Driessen. Branches Master The master branch should always reflect the latest production-ready state, and should

More information

Cassandra: Proactive Conflict Minimization through Optimized Task Scheduling

Cassandra: Proactive Conflict Minimization through Optimized Task Scheduling University of Nebraska - Lincoln DigitalCommons@University of Nebraska - Lincoln CSE Conference and Workshop Papers Computer Science and Engineering, Department of 2013 Cassandra: Proactive Conflict Minimization

More information

b. Developing multiple versions of a software project in parallel

b. Developing multiple versions of a software project in parallel Multiple-Choice Questions: 1. Which of these terms best describes Git? a. Integrated Development Environment b. Distributed Version Control System c. Issue Tracking System d. Web-Based Repository Hosting

More information

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 11, 2017

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 11, 2017 Version Control Click to edit Master EECS text 2311 styles - Software Development Project Second level Third level Fourth level Fifth level January 11, 2017 1 Scenario 1 You finished the assignment at

More information

Visualizing Git Workflows. A visual guide to 539 workflows

Visualizing Git Workflows. A visual guide to 539 workflows Visualizing Git Workflows A visual guide to 539 workflows Table of Contents Notation Collaboration Without Review or Branches Merge Conflicts Requesting Code Review Collaboration with Multiple Branches

More information

Git Introduction CS 400. February 11, 2018

Git Introduction CS 400. February 11, 2018 Git Introduction CS 400 February 11, 2018 1 Introduction Git is one of the most popular version control system. It is a mature, actively maintained open source project originally developed in 2005 by Linus

More information

Technology Background Development environment, Skeleton and Libraries

Technology Background Development environment, Skeleton and Libraries Technology Background Development environment, Skeleton and Libraries Christian Kroiß (based on slides by Dr. Andreas Schroeder) 18.04.2013 Christian Kroiß Outline Lecture 1 I. Eclipse II. Redmine, Jenkins,

More information

Contributing to Insoshi with Git and GitHub. Michael Hartl

Contributing to Insoshi with Git and GitHub. Michael Hartl Contributing to Insoshi with Git and GitHub Michael Hartl + Winter 08 + Winter 08 + = Winter 08 Open-source social networking platform dogfood.insoshi.com #1 #1 #2 Common Contacts class Person

More information

Branching and Merging

Branching and Merging Branching and Merging SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology Version control branching supports the ability to manage software

More information

Tizen/Artik IoT Practice Part 4 Open Source Development

Tizen/Artik IoT Practice Part 4 Open Source Development 1 Tizen/Artik IoT Practice Part 4 Open Source Development Sungkyunkwan University Contents 2 SCM Tool: Git Version Management Local & Remote Repository Branch Management Github Contribution Process Issue

More information

Prof. Dr. Marko Boger. Prof. Dr. Christian Johner. Version Management

Prof. Dr. Marko Boger. Prof. Dr. Christian Johner. Version Management Prof. Dr. Marko Boger Prof. Dr. Christian Johner Version Management Learning objectives Know problems a version control system can solve Master terms such as Check-out, commit, merge, pull, fetch, Master,

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management (D)VCS. Davide Rossi Dipartimento di Informatica Università di Bologna

Ingegneria del Software Corso di Laurea in Informatica per il Management (D)VCS. Davide Rossi Dipartimento di Informatica Università di Bologna Ingegneria del Software Corso di Laurea in Informatica per il Management (D)VCS Davide Rossi Dipartimento di Informatica Università di Bologna Rationale for version control Control the revisions of artifacts

More information

Section 2: Developer tools and you. Alex Mariakakis (staff-wide)

Section 2: Developer tools and you. Alex Mariakakis (staff-wide) Section 2: Developer tools and you Alex Mariakakis cse331-staff@cs.washington.edu (staff-wide) What is an SSH client? Uses the secure shell protocol (SSH) to connect to a remote computer o Enables you

More information

Appendix to The Health of Software Engineering Research

Appendix to The Health of Software Engineering Research Appendix to The Health of Software Engineering Research David Lo School of Information Systems Singapore Management University Singapore davidlo@smu.edu.sg Nachiappan Nagappan and Thomas Zimmermann Research

More information

CSCI 2132: Software Development. Norbert Zeh. Faculty of Computer Science Dalhousie University. Subversion (and Git) Winter 2019

CSCI 2132: Software Development. Norbert Zeh. Faculty of Computer Science Dalhousie University. Subversion (and Git) Winter 2019 CSCI 2132: Software Development Subversion (and Git) Norbert Zeh Faculty of Computer Science Dalhousie University Winter 2019 Version Control Systems A version control system allows us to Record the history

More information

Version Control Systems

Version Control Systems Nothing to see here. Everything is under control! September 16, 2015 Change tracking File moving Teamwork Undo! Undo! UNDO!!! What strategies do you use for tracking changes to files? Change tracking File

More information

Version Control Systems (VCS)

Version Control Systems (VCS) Version Control Systems (VCS) Xianyi Zeng xzeng@utep.edu Department of Mathematical Sciences The University of Texas at El Paso. September 13, 2016. Version Control Systems Let s get the textbook! Online

More information

Technology Background Development environment, Skeleton and Libraries

Technology Background Development environment, Skeleton and Libraries Technology Background Development environment, Skeleton and Libraries Slides by Prof. Dr. Matthias Hölzl (based on material from Dr. Andreas Schröder) Outline Lecture 1 I. Eclipse II. Git Lecture 2 IV.

More information

Software Development I

Software Development I 6.148 Software Development I Two things How to write code for web apps. How to collaborate and keep track of your work. A text editor A text editor A text editor Anything that you re used to using Even

More information

1 Version management tools as a basis for integrating Product Derivation and Software Product Families

1 Version management tools as a basis for integrating Product Derivation and Software Product Families 1 Version management tools as a basis for integrating Product Derivation and Software Product Families Jilles van Gurp, Christian Prehofer Nokia Research Center, Software and Application Technology Lab

More information

CS314 Software Engineering Configuration Management

CS314 Software Engineering Configuration Management CS314 Software Engineering Configuration Management Dave Matthews Configuration Management Management of an evolving system in a controlled way. Version control tracks component changes as they happen.

More information

Handout 4: Version Control Reference

Handout 4: Version Control Reference CSCI 2600 Principles of Software Handout 4: Version Control Reference Introduction SVN (Subversion) provides the following functionality: It allows multiple users to edit the same files independently,

More information

FAQ Q: Where/in which branch do I create new code/modify existing code? A: Q: How do I commit new changes? A:

FAQ Q: Where/in which branch do I create new code/modify existing code? A: Q: How do I commit new changes? A: FAQ Q: Where/in which branch do I create new code/modify existing code? A: We strongly recommend only modifying the source code within the local master branch: Git Repository View Woped repository Branches

More information

Distributed Version Control

Distributed Version Control Distributed Version Control David Grellscheid 2014-03-17 Workshop on Advanced Techniques for Scientific Programming and Management of Open Source Software Packages 10 21 March 2014 Version management In

More information

TDDC88 Lab 4 Software Configuration Management

TDDC88 Lab 4 Software Configuration Management TDDC88 Lab 4 Software Configuration Management Introduction "Version control is to programmers what the safety net is to a trapeze artist. Knowing the net is there to catch them if they fall, aerialists

More information

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects. Git AN INTRODUCTION Introduction to Git as a version control system: concepts, main features and practical aspects. How do you share and save data? I m working solo and I only have one computer What I

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 8 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Last Week State machines Layered Architecture: GUI Layered Architecture: Persistency

More information

Commit Guru: Analytics and Risk Prediction of Software Commits

Commit Guru: Analytics and Risk Prediction of Software Commits Commit Guru: Analytics and Risk Prediction of Software Commits Christoffer Rosen, Ben Grawi Department of Software Engineering Rochester Institute of Technology Rochester, NY, USA {cbr4830, bjg1568}@rit.edu

More information

Laboratorio di Programmazione. Prof. Marco Bertini

Laboratorio di Programmazione. Prof. Marco Bertini Laboratorio di Programmazione Prof. Marco Bertini marco.bertini@unifi.it http://www.micc.unifi.it/bertini/ Code versioning: techniques and tools Software versions All software has multiple versions: Each

More information

Intro Git Advices. Using Git. Matthieu Moy. Matthieu Moy Git 2016 < 1 / 11 >

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

1. Which of these Git client commands creates a copy of the repository and a working directory in the client s workspace. (Choose one.

1. Which of these Git client commands creates a copy of the repository and a working directory in the client s workspace. (Choose one. Multiple-Choice Questions: 1. Which of these Git client commands creates a copy of the repository and a working directory in the client s workspace. (Choose one.) a. update b. checkout c. clone d. import

More information

Revision Control and GIT

Revision Control and GIT Revision Control and GIT On UD HPC Community Clusters William Totten Network & Systems Services Why use revision control You can go back in time It makes it easy to try things out which might not work

More information

Warmup. A programmer s wife tells him, Would you mind going to the store and picking up a loaf of bread? Also, if they have eggs, get a dozen.

Warmup. A programmer s wife tells him, Would you mind going to the store and picking up a loaf of bread? Also, if they have eggs, get a dozen. Warmup A programmer s wife tells him, Would you mind going to the store and picking up a loaf of bread? Also, if they have eggs, get a dozen. The programmer returns with 12 loaves of bread. Section 2:

More information

Version Control. Ioannis N. Athanasiadis. with slides from Solution Perspective Media and Software Carpentry

Version Control. Ioannis N. Athanasiadis. with slides from Solution Perspective Media and Software Carpentry Ioannis N. Athanasiadis with slides from Solution Perspective Media and Software Carpentry http://springuniversity.bc3research.org/ 1 What is it A method for centrally storing files Keeping a record of

More information

Week 5. CS 400 Programming III

Week 5. CS 400 Programming III Exam Conflicts are due this week: 1. Put all course meetings, quizzes, and exams in your calendar 2. Report any conflicts with cs400 exams by Friday of this week 3. Report complete information via the

More information

An Analysis of Merge Conflicts and Resolutions in Git-based Open Source Projects

An Analysis of Merge Conflicts and Resolutions in Git-based Open Source Projects An Analysis of Merge Conflicts and Resolutions in Git-based Open Source Projects Hoai Le Nguyen, Claudia-Lavinia Ignat To cite this version: Hoai Le Nguyen, Claudia-Lavinia Ignat. An Analysis of Merge

More information

GIT TUTORIAL. Creative Software Architectures for Collaborative Projects CS 130 Donald J. Patterson

GIT TUTORIAL. Creative Software Architectures for Collaborative Projects CS 130 Donald J. Patterson GIT TUTORIAL Creative Software Architectures for Collaborative Projects CS 130 Donald J. Patterson SCM SOFTWARE CONFIGURATION MANAGEMENT SOURCE CODE MANAGEMENT Generic term for the ability to manage multiple

More information

Lab Objective. Lab Assignment. Downloads and Installation

Lab Objective. Lab Assignment. Downloads and Installation How I Start Working with Git: Git Lab 01 Adapted from: (1) https://github.com/quantstack/xeus-cling (2) https://code.visualstudio.com/docs/languages/cpp Lab Objective 1. Installing and using VS Code 2.

More information

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects. Git AN INTRODUCTION Introduction to Git as a version control system: concepts, main features and practical aspects. How do you share and save data? I m working solo and I only have one computer What I

More information

SpringSource Tool Suite 2.7.1

SpringSource Tool Suite 2.7.1 SpringSource Tool Suite 2.7.1 - New and Noteworthy - Martin Lippert 2.7.1 July 12, 2011 Updated for 2.7.1.RELEASE ENHANCEMENTS 2.7.1 General Updates Spring Roo 1.1.5 STS now ships and works with the just

More information

Lab Exercise Test First using JUnit

Lab Exercise Test First using JUnit Lunds tekniska högskola Datavetenskap, Nov, 2017 Görel Hedin/Ulf Asklund EDAF45 Programvaruutveckling i grupp projekt Lab Exercise Test First using JUnit Goal This lab is intended to demonstrate basic

More information

Software configuration management

Software configuration management Software Engineering Theory Software configuration management Lena Buffoni/ Kristian Sandahl Department of Computer and Information Science 2017-03-27 2 Maintenance Requirements System Design (Architecture,

More information

An Integration Resolution Algorithm for Mining Multiple Branches in Version Control Systems

An Integration Resolution Algorithm for Mining Multiple Branches in Version Control Systems An Integration Resolution Algorithm for Mining Multiple Branches in Version Control Systems Alexander Tarvo* Brown University Providence, RI, USA alexta@cs.brown.edu Thomas Zimmermann, Jacek Czerwonka

More information

SpringSource Tool Suite M2

SpringSource Tool Suite M2 SpringSource Tool Suite 2.7.0.M2 - New and Noteworthy - Martin Lippert 2.7.0.M2 June 13, 2011 Updated for 2.7.0.M2 ENHANCEMENTS 2.7.0.M2 General Updates Memory Settings We raised the default memory settings

More information

CS 320 Introduction to Software Engineering Spring February 06, 2017

CS 320 Introduction to Software Engineering Spring February 06, 2017 CS 320 Introduction to Software Engineering Spring 2017 February 06, 2017 Recap: Software development process models Traditional models Waterfall model Iterative and incremental Prototyping Spiral model

More information

CS 390 Software Engineering Lecture 3 Configuration Management

CS 390 Software Engineering Lecture 3 Configuration Management CS 390 Software Engineering Lecture 3 Configuration Management Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved.

More information

Storing and Managing Code with CVS

Storing and Managing Code with CVS Storing and Managing Code with CVS One of the most important things you do, as a software developer, is version source code and other project files. What does it mean to version a file? According to Merriam

More information

2 Initialize a git repository on your machine, add a README file, commit and push

2 Initialize a git repository on your machine, add a README file, commit and push BioHPC Git Training Demo Script First, ensure that git is installed on your machine, and you have configured an ssh key. See the main slides for instructions. To follow this demo script open a terminal

More information

A Practical Introduction to Version Control Systems

A Practical Introduction to Version Control Systems A Practical Introduction to Version Control Systems A random CAKES(less) talk on a topic I hope others find useful! a.brampton@lancs.ac.uk 4th February 2009 Outline 1 What is Version Control Basic Principles

More information

Configuration Management

Configuration Management Configuration Management VIMIMA11 Design and integration of embedded systems Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2017 Configuration

More information

Revision control systems (RCS) and. Subversion

Revision control systems (RCS) and. Subversion Revision control systems (RCS) and Subversion Problem area Software projects with multiple developers need to coordinate and synchronize the source code Approaches to version control Work on same computer

More information

Git and GitHub. Dan Wysocki. February 12, Dan Wysocki Git and GitHub February 12, / 48

Git and GitHub. Dan Wysocki. February 12, Dan Wysocki Git and GitHub February 12, / 48 Git and GitHub Dan Wysocki February 12, 2015 Dan Wysocki Git and GitHub February 12, 2015 1 / 48 1 Version Control 2 Git 3 GitHub 4 Walkthrough Dan Wysocki Git and GitHub February 12, 2015 2 / 48 Version

More information

USER GUIDE MADCAP LINGO Source Control: Git

USER GUIDE MADCAP LINGO Source Control: Git USER GUIDE MADCAP LINGO 10.1 Source Control: Git Copyright 2018 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this document

More information

Branching with Eclipse and CVS

Branching with Eclipse and CVS Eclipse Corner Article Copyright IBM Corp. 2003 Branching with Eclipse and CVS Summary This article presents a brief branch and merge scenario designed to quickly illustrate some branch and merge features

More information

Getting started with GitHub

Getting started with GitHub Getting started with GitHub A beginner s guide. (There s no code in this slide deck!) Presented by Quinn Supplee https://github.com/quinns What is GitHub? GitHub is a code hosting platform for version

More information

CVS. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 21

CVS. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 21 CVS Computer Science and Engineering College of Engineering The Ohio State University Lecture 21 CVS: Concurrent Version System Classic tool for tracking changes to a project and allowing team access Can

More information

Extending real-time collaborative editing systems with asynchronous communication

Extending real-time collaborative editing systems with asynchronous communication Extending real-time collaborative editing systems with asynchronous communication Claudia-Lavinia Ignat and Moira C. Norrie Institute for Information Systems, ETH Zurich {ignat,norrie}@inf.ethz.ch Abstract

More information

Revision control. INF5750/ Lecture 2 (Part I)

Revision control. INF5750/ Lecture 2 (Part I) Revision control INF5750/9750 - Lecture 2 (Part I) Problem area Software projects with multiple developers need to coordinate and synchronize the source code Approaches to version control Work on same

More information

[Software Development] Development Tools. Davide Balzarotti. Eurecom Sophia Antipolis, France

[Software Development] Development Tools. Davide Balzarotti. Eurecom Sophia Antipolis, France [Software Development] Development Tools Davide Balzarotti Eurecom Sophia Antipolis, France Version Control Version (revision) control is the process of tracking and recording changes to files Most commonly

More information

Project Management. Overview

Project Management. Overview Project Management Overview How to manage a project? What is software configuration management? Version control systems Issue tracking systems N. Meng, L. Zhang 2 1 What is Project Management? Effective

More information

CSE 332: Data Structures and Parallelism Autumn 2017 Setting Up Your CSE 332 Environment In this document, we will provide information for setting up Eclipse for CSE 332. The first s ection covers using

More information

Test Factoring: Focusing test suites on the task at hand

Test Factoring: Focusing test suites on the task at hand Test Factoring: Focusing test suites on the task at hand, MIT ASE 2005 1 The problem: large, general system tests My test suite One hour Where I changed code Where I broke code How can I get: Quicker feedback?

More information

Github/Git Primer. Tyler Hague

Github/Git Primer. Tyler Hague Github/Git Primer Tyler Hague Why Use Github? Github keeps all of our code up to date in one place Github tracks changes so we can see what is being worked on Github has issue tracking for keeping up with

More information

Comparison and merge use-cases from practice with EMF Compare

Comparison and merge use-cases from practice with EMF Compare Comparison and merge use-cases from practice with EMF Compare Laurent Delaigue Philip Langer EMF Compare Working with models Comparing text files EMF Compare Working with models Comparing models EMF Compare

More information

Introduction to Git and Github

Introduction to Git and Github Introduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017 What is git and GitHub? git is a version control system. Other version control systems

More information

Version (Source Code) Control SWEN-250

Version (Source Code) Control SWEN-250 Version (Source Code) Control SWEN-250 Overview Motivation why is version control useful? Key concepts Variations on the basic theme Example version control systems 1/10/2019 (c) 2013 RIT Dept. of Software

More information

Team Foundation Consulting. Training. Team Member Training User training designed to cater for specific roles within your team. Developer TFVC / Git

Team Foundation Consulting. Training. Team Member Training User training designed to cater for specific roles within your team. Developer TFVC / Git Team Foundation Consulting Training Team Member Training User training designed to cater for specific roles within your team. Project Manager Developer TFVC / Git Tester DevOps End-to-End ALM Application

More information

Use git rm to remove files from workspace

Use git rm to remove files from workspace More Git: Removing files from the repository Branches, tags, merge conflicts Pull requests CPSC 491 First: Get up to speed from last time Removing files from your workspace Use git rm to remove files from

More information

How Often and What StackOverflow Posts Do Developers Reference in Their GitHub Projects?

How Often and What StackOverflow Posts Do Developers Reference in Their GitHub Projects? How Often and What StackOverflow Posts Do Developers Reference in Their GitHub Projects? Saraj Singh Manes School of Computer Science Carleton University Ottawa, Canada sarajmanes@cmail.carleton.ca Olga

More information

Revision Control. How can 4. Slides #4 CMPT 276 Dr. B. Fraser. Local Topology Simplified. Git Basics. Revision Control:

Revision Control. How can 4. Slides #4 CMPT 276 Dr. B. Fraser. Local Topology Simplified. Git Basics. Revision Control: How can 4 (or 4000) developers work on a product at once? Revision Control Revision Control Revision Control: Also called version control, source control, software configuration management. Motivation:

More information

Team Support and Versioning with ClearCase and CVS in WebSphere Business Modeler V7

Team Support and Versioning with ClearCase and CVS in WebSphere Business Modeler V7 IBM Software Group Team Support and Versioning with ClearCase and CVS in WebSphere Business Modeler V7 Klaus Ulrich (klaus.ulrich@de.ibm.com) Technical Support Professional 7 October 2010 WebSphere Support

More information

Software LEIC/LETI. Lecture 1

Software LEIC/LETI. Lecture 1 Software Engineering @ LEIC/LETI Lecture 1 António Rito Silva Francisco Regateiro David Duarte es18-alameda.slack.com alameda@leic-es.tecnico.ulisboa.pt Logistics Classes Lectures The concepts and real

More information

Introduction to Git and GitHub. Tools for collaboratively managing your source code.

Introduction to Git and GitHub. Tools for collaboratively managing your source code. Introduction to Git and GitHub Tools for collaboratively managing your source code. This Is Not a Tutorial About Git There are many tutorials online. What is Git? Git is a collaborative, distributed version

More information

Collaborative- Design Conflicts

Collaborative- Design Conflicts FOCUS: COLLABORATIVE MODELING Collaborative- Design Conflicts Costs and Solutions Jae young Bang, Kakao Corporation Yuriy Brun, University of Massachusetts Amherst Nenad Medvidović, University of Southern

More information

CSE 332: Data Structures and Parallelism Winter 2019 Setting Up Your CSE 332 Environment

CSE 332: Data Structures and Parallelism Winter 2019 Setting Up Your CSE 332 Environment CSE 332: Data Structures and Parallelism Winter 2019 Setting Up Your CSE 332 Environment This document guides you through setting up Eclipse for CSE 332. The first section covers using gitlab to access

More information

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering V. Working Together Working together Management Process Models Version Management Systems Collaborative Development Environments 3 Parts

More information

Welcome! Virtual tutorial starts at 15:00 GMT. Please leave feedback afterwards at:

Welcome! Virtual tutorial starts at 15:00 GMT. Please leave feedback afterwards at: Welcome! Virtual tutorial starts at 15:00 GMT Please leave feedback afterwards at: www.archer.ac.uk/training/feedback/online-course-feedback.php Introduction to Version Control (part 1) ARCHER Virtual

More information

Continuous Integration / Continuous Testing

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

Collaboration in Teams: Simulink Projects Demonstration

Collaboration in Teams: Simulink Projects Demonstration Collaboration in Teams: Simulink Projects Demonstration 김종헌차장 Senior Application Engineer MathWorks Korea 2011 The MathWorks, Inc. 1 Agenda Motivation 7 common technical challenges Next steps Q & A allen.kim@mathworks.com

More information

Playing Cupid: The IDE as a Matchmaker for Plug-Ins

Playing Cupid: The IDE as a Matchmaker for Plug-Ins Playing Cupid: The IDE as a Matchmaker for Plug-Ins Todd W. Schiller and Brandon Lucia Department of Computer Science University of Washington Seattle, Washington {tws,blucia0a}@cs.washington.edu Abstract

More information

TCSS 360: SOFTWARE DEVELOPMENT AND QUALITY ASSURANCE

TCSS 360: SOFTWARE DEVELOPMENT AND QUALITY ASSURANCE TCSS 360: SOFTWARE DEVELOPMENT AND QUALITY ASSURANCE Scrum Software Process, Version Control, Git/Github Github, Postman Wes J. Lloyd Institute of Technology University of Washington - Tacoma OBJECTIVES

More information

Hands-On Lab. Getting Started with Git using Team Foundation Server Lab version: Last updated: 12/30/2013

Hands-On Lab. Getting Started with Git using Team Foundation Server Lab version: Last updated: 12/30/2013 Hands-On Lab Getting Started with Git using Team Foundation Server 2013 Lab version: 12.0.21005.1 Last updated: 12/30/2013 CONTENTS OVERVIEW... 3 EXERCISE 1: GETTING STARTED WITH GIT... 3 EXERCISE 2: GIT

More information

CPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management

CPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management CPSC 491 Lecture 19 & 20: Source Code Version Control VCS = Version Control Software SCM = Source Code Management Exercise: Source Code (Version) Control 1. Pretend like you don t have a version control

More information

Welcome! Virtual tutorial will start at 15:00 GMT. Please leave feedback afterwards at:

Welcome! Virtual tutorial will start at 15:00 GMT. Please leave feedback afterwards at: Welcome! Virtual tutorial will start at 15:00 GMT Please leave feedback afterwards at: www.archer.ac.uk/training/feedback/online-course-feedback.php Introduction to Version Control (Part 2) ARCHER Virtual

More information

Continuous Testing in Eclipse. David Saff, Michael D. Ernst MIT CSAIL etx 2004, Barcelona, Spain

Continuous Testing in Eclipse. David Saff, Michael D. Ernst MIT CSAIL etx 2004, Barcelona, Spain Continuous Testing in Eclipse David Saff, Michael D. Ernst MIT CSAIL etx 2004, Barcelona, Spain Continuous testing: inspired by continuous compilation Continuous compilation, as in Eclipse, notifies the

More information

Homework 1: Collaborative Text Editor

Homework 1: Collaborative Text Editor UNIVERSITY OF TARTU, INSTITUTE OF COMPUTER SCIENCE Homework 1: Collaborative Text Editor Hadachi&Lind November 28, 2016 Must Read: 1. Deadline for doing homework is 4 weeks starting from now 2016.10.26

More information

CSCI 4152/6509 Natural Language Processing. Lab 1: FCS Computing Environment

CSCI 4152/6509 Natural Language Processing. Lab 1: FCS Computing Environment CSCI 4152/6509 Natural Language Processing Lab 1: FCS Computing Environment http://web.cs.dal.ca/ vlado/csci6509 Lab Instructor: Dijana Kosmajac, Dhivya Jayaraman Slides copyright: Mike McAllister, Vlado

More information

Empirical Study on Impact of Developer Collaboration on Source Code

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