24 th Annual Research Review

Size: px
Start display at page:

Download "24 th Annual Research Review"

Transcription

1 24 th Annual Research Review April Towards Better Understanding of Software Quality Evolution Through Commit-Impact Analysis Pooyan Behnamghader USC CSSE

2 Commit-Impact Analysis Software Repository (e.g., Git and SVN) Evolution History Commit Fine-grained incremental changes Contains Information: Code changes - Author, message, time, etc. Each commit a new revision Impact Difference between revisions before and after a commit

3 Impactful Commit Not all changes are interesting! Docs Change Performance Change Main module The module under analysis Usually contains most of the codes core, src/main, framework Excl. tests, docs, plugins, etc. Impactful commit Changes source files in the main module Introduces a new revision of the main module Figure 1. The development history of a simple case study Circles commits Gray circles impactful commits

4 Difference Between Two Revisions Two steps Extracting a model from each revision Defining distance metrics to compare those models Models Programming Analysis Techniques Static PMD, FindBugs, SonarQube absolute values (numbers/vectors) Architecture recovery techniques (ARC, ACDC, etc.) graphs/sets Dynamic Rendering HTML files Distance Metrics Subtracting two numbers/vectors Comparing two graphs/sets

5 Example: Absolute Values

6 Example: Commit-Impact

7 Empirical Study Setup Research Questions: To what extent do developers commit impactful changes? To what extent and how do impactful commits break the compilability of the project? To what extent do impactful commits affect software quality attributes? Should developers rely on a single software quality metric as a change indicator?

8 Data Collection ATLAS Large Scale Evolutionary Analysis on Software Systems System selection process: Fetched all apache projects metadata using GitHub api Name, #commits, repo url, PL, and latest update Only Java Projects At least one update in 2017 Less than 3K commits The main module exists (manual check) No nontrivial prerequisite for compilation (manual check) At least 100 compilable impactful revisions fully analyzed impactful revisions of 38 systems

9 The centrality of the main module 48% of commits are impactful To What Extent do Developers Commit Impactful Changes? 69% of developers commit impactful changes What may significantly impact the ratios of impactful commits and impactful developers? Architecture of the system The level of its integration with other systems Distribution of tasks during the development

10 To What Extent and How do Impactful Commits Break the Compilability of the System? 98% of commits are compilable. Interesting Observations: Relying on snapshot versions of dependencies may cause compilation error. Compiling the project in a new environment from scratch may reveal missing dependencies. After a file is added, compiling the project in a new environment may reveal compilation error. When contributing to the system alone, do compile the system in a new environment once in a while. Committing too early may result in an error commit. Committing too often may introduce error commits. Large refactoring may introduce error commits. Maintenance and code cleanups may introduce error commits.

11 Difference between library systems and others Heavily documented (JavaDocs) Lower LC More stable api Lower FN/LC More stable architecture Lower CS/FN Importance of running tests Complexity (CX) change: 53% Consider maintenance Code smell (SM) change: 46% Importance of running integrated tools To What Extent do Impactful Commits Affect Software Quality Attributes? 64% of subject systems contain PMD plugin Still 60% of impactful commits change PD Only 0.2% commit messages mention using PMD Importance of using multiple techniques to find potential security holes

12 Should Developers Rely on a Single Software Quality Metric as a Change Indicator?

13 Tool Demonstration (Web Application Prototype) JIRA Git

14 Backup Slides

15 Motivation - The main question - How does software evolve? - Version Level Analysis - Versions the major milestones - Too coarse grained - The impact of each developer is omitted - The size of the system drastically increases Other attributes increase

Towards Better Understanding of Software Quality Evolution Through Commit Impact Analysis

Towards Better Understanding of Software Quality Evolution Through Commit Impact Analysis Towards Better Understanding of Software Quality Evolution Through Commit Impact Analysis Sponsor: DASD(SE) By Mr. Pooyan Behnamghader 5 th Annual SERC Doctoral Students Forum November 7, 2017 FHI 360

More information

Software Quality Understanding by Analysis of Abundant Data (SQUAAD)

Software Quality Understanding by Analysis of Abundant Data (SQUAAD) Software Quality Understanding by Analysis of Abundant Data (SQUAAD) By Pooyan Behnamghader Advisor: Barry Boehm ARR 2018 March 13, 2018 1 Outline Motivation Software Quality Evolution Challenges SQUAAD

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, Sahil Puri and Parul Verma 03 April 2018 Outline Introduction Research Questions Methodology Data Characteristics Analysis

More information

Continuous Integration & Code Quality MINDS-ON NUNO 11 APRIL 2017

Continuous Integration & Code Quality MINDS-ON NUNO 11 APRIL 2017 Continuous Integration & Code Quality MINDS-ON NUNO BETTENCOURT (NMB@ISEP.IPP.PT) @DEI, 11 APRIL 2017 Continuous Integration - THE THEORY - NMB@DEI - 11 April, 2017 CONTINUOUS INTEGRATION & SOFTWARE QUALITY

More information

Belle II - Git migration

Belle II - Git migration Belle II - Git migration Why git? Stash GIT service managed by DESY Powerful branching and merging capabilities Resolution of (JIRA) issues directly be map to branches and commits Feature freeze in pre-release

More information

Pulp OSTree Documentation

Pulp OSTree Documentation Pulp OSTree Documentation Release 1.0.0 Pulp Team November 06, 2015 Contents 1 Glossary 3 2 Concepts 5 3 User Guide 7 3.1 Installation................................................ 7 3.2 Configuration...............................................

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

Continuous Integration with Selenium and Jenkins

Continuous Integration with Selenium and Jenkins Continuous Integration with Selenium and Jenkins Continuous Integration Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several

More information

Technical Debt Reduction Using a Game Theoretic Competitive Source Control Approach

Technical Debt Reduction Using a Game Theoretic Competitive Source Control Approach Technical Debt Reduction Using a Game Theoretic Competitive Source Control Approach Sarah Morrison-Smith sarah.morrisonsmith@msu. montana.edu Chad Marmon chad.marmon@msu.montana.edu Stephen Dighans stephen.dighans@msu.

More information

Version Control System GIT

Version Control System GIT Version Control System GIT Version Contol System Version (revision) control systems are software that help you track changes you make in your code over time. As you edit to your code, you tell the version

More information

Do not sketch Finite State Machines on a first date

Do not sketch Finite State Machines on a first date Previously on Do not sketch Finite State Machines on a first date : Dude, where is my code? Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska What is a code repository? wikipedia In computer

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

Con$nuous Integra$on Development Environment. Kovács Gábor

Con$nuous Integra$on Development Environment. Kovács Gábor Con$nuous Integra$on Development Environment Kovács Gábor kovacsg@tmit.bme.hu Before we start anything Select a language Set up conven$ons Select development tools Set up development environment Set up

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

CSC 2700: Scientific Computing

CSC 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 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

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

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

Graphiti Release Review

Graphiti Release Review Graphiti 0.10.0 Release Review Planned Review Date: June 2013 Communcation Channel: eclipse.graphiti Christian Brand Matthias Gorning Tim Kaiser Jürgen Pasch Félix Velasco Michael Wenz 1 Introduction Graphiti

More information

Working with EGL and Subversion Using RDi with RBD

Working with EGL and Subversion Using RDi with RBD HISTORY OF MODIFICATIONS...2 CREATING A NEW REPOSITORY...3 BACKGROUND: INSTALLING TORTOISE...3 SUBVERSION EGL SOURCE CODE REPOSITORY...3 INSTALLING SUBVERSION PLUG-IN AND CONFIGURING FOR USE....5 INSTALLATION

More information

Introduction: Manual Testing :

Introduction: Manual Testing : : What is Automation Testing? Use of Automation. Where do we use. Tools that Do Automation. Web Applications vs Standalone Applications. What is selenium? How selenium works. Manual Testing : HTML: Detailed

More information

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. 1 Copyright 2011, Oracle and/or its affiliates. All rights The forthcoming is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated

More information

Pulp Python Support Documentation

Pulp Python Support Documentation Pulp Python Support Documentation Release 1.0.1 Pulp Project October 20, 2015 Contents 1 Release Notes 3 1.1 1.0 Release Notes............................................ 3 2 Administrator Documentation

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

Git for Subversion users

Git for Subversion users Git for Subversion users Zend webinar, 23-02-2012 Stefan who? Stefan who? Freelancer: Ingewikkeld Stefan who? Freelancer: Ingewikkeld Symfony Community Manager Stefan who? Freelancer: Ingewikkeld Symfony

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 Tools Subversion

Software Tools Subversion Software Tools Subversion Part II Lecture 4 1 Today s Outline Subversion (SVN) TortoiseSVN Client SVN Tips 2 Subversion (SVN) 3 Subversion (SVN) Centralized open-source VCS; started in 2000 Developed as

More information

PyWBEM Python WBEM Client: Overview #2

PyWBEM Python WBEM Client: Overview #2 PyWBEM Python WBEM Client: Overview #2 Version: 1.0 6 April 2016 Karl Schopmeyer k.schopmeyer@opengroup.org Andreas Maier MAIERA@de.ibm.com April 2016 SNIA SMI plugfest #3 There was an earlier overview

More information

An Empirical Study of Architectural Decay in Open-Source Software

An Empirical Study of Architectural Decay in Open-Source Software An Empirical Study of Architectural Decay in Open-Source Software Duc M. Le Annual Research Review 4/2017 Center for Systems and Software Engineering Motivation Explicitly manifest as Issues Problems Implicitly

More information

Software Revision Control for MASS. Git Basics, Best Practices

Software Revision Control for MASS. Git Basics, Best Practices Software Revision Control for MASS Git Basics, Best Practices Matthew Sell, CSSE Student MASS Research Participant, February 2014 What is revision control? The obligatory Wikipedia definition: revision

More information

Version Control. CSC207 Fall 2014

Version Control. CSC207 Fall 2014 Version Control CSC207 Fall 2014 Problem 1: Working Solo How do you keep track of changes to your program? Option 1: Don t bother Hope you get it right the first time Hope you can remember what changes

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

Software Project (Lecture 4): Git & Github

Software Project (Lecture 4): Git & Github Software Project (Lecture 4): Git & Github Wouter Swierstra, Atze Dijkstra Feb 2016 Wouter Swierstra, Atze Dijkstra Software Project (Lecture 4): Git & Github Feb 2016 1 / 45 Wouter Swierstra, Atze Dijkstra

More information

Alambic Open-Data Management for your project Boris Baldassari

Alambic Open-Data Management for your project Boris Baldassari Alambic Open-Data Management for your project Boris Baldassari boris.baldassari@castalia.solutions http://castalia.solutions Alambic Open-Data Management for your project Boris Baldassari boris.baldassari@castalia.solutions

More information

AIS Grid School 2015

AIS Grid School 2015 Getting distributed without losing your HEAD AIS Grid School 2015 Дубна, Россия 3 e Oктября 2015 Benjamin Wolff (CERN / GS-AIS) Logo source: http://git-scm.com/downloads/logos What is a Version Control

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

a brief introduction to creating quality software continuously Copyright 2011 Davisbase, LLC

a brief introduction to creating quality software continuously Copyright 2011 Davisbase, LLC a brief introduction to creating quality software continuously Andy Painter Agile Coach/Trainer/Consultant CSM, CSP, CSD Instructor andy@davisbase.org (704) 835-0194 Interests: Cloud Computing, Agile Development

More information

Model-based Mining of Software Repositories. Markus Scheidgen

Model-based Mining of Software Repositories. Markus Scheidgen Model-based Mining of Software Repositories Markus Scheidgen Agenda Mining Software Repositories (MSR) and current approaches srcrepo a model-based MSR system srcrepo components and analysis process a

More information

Simile Tools Workshop Summary MacKenzie Smith, MIT Libraries

Simile Tools Workshop Summary MacKenzie Smith, MIT Libraries Simile Tools Workshop Summary MacKenzie Smith, MIT Libraries Intro On June 10 th and 11 th, 2010 a group of Simile Exhibit users, software developers and architects met in Washington D.C. to discuss the

More information

Who Moved My Module? 1

Who Moved My Module? 1 Who Moved My Module? 1 About Me Yoav Landman - JFrog s CTO and Co-Founder - Creator of the Artifactory Project - 13 years experience in commercial enterprise build and development environments 2 Agenda

More information

CREATING A COMMON SOFTWARE VERBS IMPLEMENTATION

CREATING A COMMON SOFTWARE VERBS IMPLEMENTATION 12th ANNUAL WORKSHOP 2016 CREATING A COMMON SOFTWARE VERBS IMPLEMENTATION Dennis Dalessandro, Network Software Engineer Intel April 6th, 2016 AGENDA Overview What is rdmavt and why bother? Technical details

More information

ONAP Developer Typical Setup 2017 July ONAP Virtual Developers Event

ONAP Developer Typical Setup 2017 July ONAP Virtual Developers Event ONAP Developer Typical Setup 2017 July 24-26 ONAP Virtual Developers Event Gary Wu Daniel Rose Victor Morales Getting Started with ONAP

More information

Managing a WordPress 2.6 installation with Subversion. Sam Bauers - Automattic

Managing a WordPress 2.6 installation with Subversion. Sam Bauers - Automattic Managing a WordPress 2.6 installation with Subversion Sam Bauers - Automattic In this presentation... - Overview of version control and Subversion - Anatomy changes in WordPress 2.6 - Creating a clean

More information

El-Get. M-x apt-get. Dimitri Fontaine March, Dimitri Fontaine El-Get March, / 27

El-Get. M-x apt-get. Dimitri Fontaine March, Dimitri Fontaine El-Get March, / 27 El-Get M-x apt-get Dimitri Fontaine dim@tapoueh.org March, 30 2013 Dimitri Fontaine dim@tapoueh.org El-Get March, 30 2013 1 / 27 Dimitri Fontaine 2ndQuadrant France PostgreSQL Major Contributor Emacs Lisp

More information

Gaurav Rai Mazra. Senior Software Developer

Gaurav Rai Mazra. Senior Software Developer Gaurav Rai Mazra Senior Software Developer A technology enthusiast and conscientious programmer with over 6 years of experience in multi - disciplinary domains such as HR, Education, Financial (Asset Management)

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

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

New Contributor Tutorial and Best Practices

New Contributor Tutorial and Best Practices New Contributor Tutorial and Best Practices Vicențiu Ciorbaru Software Engineer @ MariaDB Foundation * 2018 MariaDB Foundation * Goal of this session Most attendees here are highly experienced devs Let's

More information

Introduction To Python

Introduction To Python Introduction To Python Week 7: Program Dev: Conway's Game of Life Dr. Jim Lupo Asst Dir Computational Enablement LSU Center for Computation & Technology 9 Jul 2015, Page 1 of 33 Overview Look at a helpful

More information

S18 Modern Version Control with Git

S18 Modern Version Control with Git 98-174 S18 Modern Version Control with Git Aaron Perley (aperley@andrew.cmu.edu) Ilan Biala (ibiala@andrew.cmu.edu) https://www.andrew.cmu.edu/course/98-174/ Why should you take this course? Version control

More information

Visualizing and Characterizing the Evolution of Class Hierarchies

Visualizing and Characterizing the Evolution of Class Hierarchies Visualizing and Characterizing the Evolution of Class Hierarchies Tudor Gîrba and Michele Lanza Software Composition Group University of Berne Switzerland {girba, lanza}@iam.unibe.ch Abstract Analyzing

More information

Introduction to Git and Github Repositories

Introduction to Git and Github Repositories Introduction to Git and Github Repositories Benjamin Audren École Polytechnique Fédérale de Lausanne 29/10/2014 Benjamin Audren (EPFL) CLASS/MP MP runs 29/10/2014 1 / 16 Version Control survey Survey Who

More information

JUGAT Flex 3. Christoph Atteneder. May Flash / Flex Development Technical Lead Adobe Systems Incorporated. All Rights Reserved.

JUGAT Flex 3. Christoph Atteneder. May Flash / Flex Development Technical Lead Adobe Systems Incorporated. All Rights Reserved. JUGAT Flex 3 Christoph Atteneder Flash / Flex Development Technical Lead May 2008 2006 Adobe Systems Incorporated. All Rights Reserved. 1 ADOBE FLEX 3 A highly productive, free open source framework for

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

Software Quality - Tips Techniques & Tools

Software Quality - Tips Techniques & Tools CSC 5524 : Software quality, metrics, tests, processes J Paul Gibson, D311 paul.gibson@telecom-sudparis.eu http://www-public.telecom-sudparis.eu/~gibson/teaching/csc5524/ Software Quality - Tips Techniques

More information

Outline. Configuration management. Main Phases MOTIVATION

Outline. Configuration management. Main Phases MOTIVATION Outline Configuration management! Motivation! Versioning! Configuration items, configurations, baselines! Change control! Build! Configuration management plan! Configuration management tools Main Phases

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

How to create custom Excel reports from Jira issues in no time

How to create custom Excel reports from Jira issues in no time How to create custom Excel reports from Jira issues in no time Business Intelligence and native Excel reports from Jira data with Better Excel Exporter Who is Midori? What is Better Excel Exporter? Experience

More information

... Fisheye Crucible Bamboo

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

International Journal for Management Science And Technology (IJMST)

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

More information

Version Control with Git ME 461 Fall 2018

Version Control with Git ME 461 Fall 2018 Version Control with Git ME 461 Fall 2018 0. Contents Introduction Definitions Repository Remote Repository Local Repository Clone Commit Branch Pushing Pulling Create a Repository Clone a Repository Commit

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

Index. Bitwise operations, 131. Cloud, 88, 101

Index. Bitwise operations, 131. Cloud, 88, 101 Index A Analysis, NetBeans batch analyzers, 127 dynamic code analysis, 128 Java 8 lambda expressions, 127 static code analysis definition, 128 FindBugs categories, 144 Inspect & Transform tool, 129 inspections,

More information

Managing Network Configurations with Git and GitLab

Managing Network Configurations with Git and GitLab Managing Network Configurations with Git and GitLab Matthew DeNapoli Developer Advocate, DevNet Twitter: @thedenap Season 1, Workshop 3 https://developer.cisco.com/netdevops/live What are we going to talk

More information

2/8/18. Overview. Project Management. The First Law. What is Project Management? What Are These Changes? Software Configuration Management (SCM)

2/8/18. Overview. Project Management. The First Law. What is Project Management? What Are These Changes? Software Configuration Management (SCM) Overview Project Management How to manage a project? What is software configuration management? Version control systems Issue tracking systems N. Meng, L. Zhang 2 What is Project Management? Effective

More information

NESSHI and GEPHI Sociology of science as a breeding ground for tool building in the digital humanities

NESSHI and GEPHI Sociology of science as a breeding ground for tool building in the digital humanities NESSHI and GEPHI Sociology of science as a breeding ground for tool building in the digital humanities Clement Levallois Meertens Institute, 28 November 2013 1 Bio notes PhD (2003-2008) Post-Doc (2008-2013)

More information

2/9/2013 LAB OUTLINE INTRODUCTION TO VCS WHY VERSION CONTROL SYSTEM(VCS)? II SENG 371 SOFTWARE EVOLUTION VERSION CONTROL SYSTEMS

2/9/2013 LAB OUTLINE INTRODUCTION TO VCS WHY VERSION CONTROL SYSTEM(VCS)? II SENG 371 SOFTWARE EVOLUTION VERSION CONTROL SYSTEMS SENG 371 SOFTWARE EVOLUTION LAB OUTLINE Introduction to Version Control Systems VERSION CONTROL SYSTEMS Subversion Git and Github 1 Prepared by Pratik Jain 2 INTRODUCTION TO VCS A version control system

More information

JetBrains TeamCity Comparison

JetBrains TeamCity Comparison JetBrains TeamCity Comparison TeamCity is a continuous integration and continuous delivery server developed by JetBrains. It provides out-of-the-box continuous unit testing, code quality analysis, and

More information

Working in Teams CS 520 Theory and Practice of Software Engineering Fall 2018

Working in Teams CS 520 Theory and Practice of Software Engineering Fall 2018 Working in Teams CS 520 Theory and Practice of Software Engineering Fall 2018 Version Control September 18, 2018 Thursday (September 20) First in-class exercise On using git (today is a prelude with useful

More information

Getting the files for the first time...2. Making Changes, Commiting them and Pull Requests:...5. Update your repository from the upstream master...

Getting the files for the first time...2. Making Changes, Commiting them and Pull Requests:...5. Update your repository from the upstream master... Table of Contents Getting the files for the first time...2 Making Changes, Commiting them and Pull Requests:...5 Update your repository from the upstream master...8 Making a new branch (for leads, do this

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

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

Getting Started with Gradle

Getting Started with Gradle Getting Started with Gradle Speaker Sterling Greene ( sterling@gradle.com) Principal Engineer, Gradle Inc Clone the example project Agenda Gradle Project History Gradle Best Practices Gradle Basics Java

More information

Tango Controls Kernel meeting September ESRF

Tango Controls Kernel meeting September ESRF Tango Controls Kernel meeting 19-20 September 2016 @ ESRF Background A Tango Controls kernel meeting was held from the 19-20 September at the ESRF. Present were representatives of the contributor member

More information

ARES: AUTOMATIC RELEASE SERVICE

ARES: AUTOMATIC RELEASE SERVICE ARES: AUTOMATIC RELEASE SERVICE I. Prieto Barreiro, F. Varela. CERN, Geneva, Switzerland. Abstract This paper presents the Automatic RElease Service (ARES) developed by the Industrial Controls and Safety

More information

Grading Rubric Homework 1

Grading Rubric Homework 1 Grading Rubric Homework 1 Used Git, has many commits, over time, wrote appropriate commit comments, set up Git correctly with git config Cloning repository results in a working site, no broken links, no

More information

F17 Modern Version Control with Git. Aaron Perley https://www.andrew.cmu.edu/course/98-174/

F17 Modern Version Control with Git. Aaron Perley https://www.andrew.cmu.edu/course/98-174/ 98-174 F17 Modern Version Control with Git Aaron Perley (aperley@andrew.cmu.edu) https://www.andrew.cmu.edu/course/98-174/ Why should you take this course? Version control software is an essential part

More information

Git, the magical version control

Git, the magical version control Git, the magical version control Git is an open-source version control system (meaning, it s free!) that allows developers to track changes made on their code files throughout the lifetime of a project.

More information

Project Plan. SISCalendar. for. Prepared by Zach Masiello. Ethan Mick Michael Caputo Shawn Thompson Organization: SIS.io

Project Plan. SISCalendar. for. Prepared by Zach Masiello. Ethan Mick Michael Caputo Shawn Thompson Organization: SIS.io Project Plan for SISCalendar Prepared by Zach Masiello Ethan Mick Michael Caputo Shawn Thompson Organization: SIS.io Revision History Name Date Reason For Changes Version Initial 10/1/13 First version

More information

Apache Subversion Tutorial

Apache Subversion Tutorial Apache Subversion Tutorial Computer Science Standard C-6.C Diana Machado Raul Garcia Dr. Shu-Ching Chen Florida International University Computer Science 2/22/2014 What is Subversion (SVN)? A free and

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

Javadoc. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 7

Javadoc. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 7 Javadoc Computer Science and Engineering College of Engineering The Ohio State University Lecture 7 Motivation Over the lifetime of a project, it is easy for documentation and implementation to diverge

More information

Implementing the RDA Data Citation Recommendations for Long Tail Research Data. Stefan Pröll

Implementing the RDA Data Citation Recommendations for Long Tail Research Data. Stefan Pröll Implementing the RDA Data Citation Recommendations for Long Tail Research Data Stefan Pröll Overview 2 Introduction Recap of the WGDC Recommendations Long Tail Research Data SQL Prototype Git Prototype

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

Using Git For Development. Shantanu Pavgi, UAB IT Research Computing

Using Git For Development. Shantanu Pavgi, UAB IT Research Computing Using Git For Development Shantanu Pavgi, pavgi@uab.edu UAB IT Research Computing Outline Version control system Git Branching and Merging Workflows Advantages Version Control System (VCS) Recording changes

More information

Software Systems Design. Version control systems and documentation

Software Systems Design. Version control systems and documentation Software Systems Design Version control systems and documentation Who are we? Krzysztof Kąkol Software Developer Jarosław Świniarski Software Developer Presentation based on materials prepared by Andrzej

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

AutoCode: Using Memex-like Trails to Improve Program Comprehension

AutoCode: Using Memex-like Trails to Improve Program Comprehension AutoCode: Using Memex-like Trails to Improve Program Comprehension Richard Wheeldon, Steve Counsell and Kevin Keenoy Department of Computer Science Birkbeck College, University of London London WC1E 7HX,

More information

The Old World. Have you ever had to collaborate on a project by

The Old World. Have you ever had to collaborate on a project by What the Git? The Old World Have you ever had to collaborate on a project by Shuttling a USB drive back and forth Using Dropbox E-mailing your document around Have you ever accidentally deleted someone

More information

Push up your code next generation version control with (E)Git

Push up your code next generation version control with (E)Git Push up your code next generation version control with (E)Git Dominik Schadow Senior Consultant Application Development dominik.schadow@trivadis.com Java Forum Stuttgart, 07.07.2011 Basel Bern Lausanne

More information

ORACLE WCM 11G MASTER CLASS

ORACLE WCM 11G MASTER CLASS Copyright 2011 Redstone Content Solutions LLC Oracle WCM 11g Master Class Training Agenda Revised Monday, May 2nd, 2011 REDSTONE CONTENT SOLUTIONS PRESENTS ORACLE WCM 11G MASTER CLASS Audience Designers

More information

pyldavis Documentation

pyldavis Documentation pyldavis Documentation Release 2.1.2 Ben Mabey Feb 06, 2018 Contents 1 pyldavis 3 1.1 Installation................................................ 3 1.2 Usage...................................................

More information

libcellml Documentation

libcellml Documentation libcellml Documentation Release 0.1 David Nickerson, Randall Britten August 27, 2014 Contents 1 Introducing the libcellml project 3 1.1 The motivation for the libcellml project................................

More information

m2e 1.2 Release Review

m2e 1.2 Release Review m2e 1.2 Release Review Planned Review Date: [Date] Communcation Channel: m2e-dev@eclipse.org Igor Fedorenko (ifedorenko@sonatype.com) Jason van Zyl (jason@sonatype.com) Introduction m2e provides both a

More information

Denn n i n s i s L und n b d erg r

Denn n i n s i s L und n b d erg r Dennis Lundberg Agenda Creating a site using Maven involves making a lot of choices. Some of them are obvious, like choosing a suitable document format, while others are more subtle. This presentation

More information

Index. Alias syntax, 31 Author and commit attributes, 334

Index. Alias syntax, 31 Author and commit attributes, 334 Index A Alias syntax, 31 Author and commit attributes, 334 B Bare repository, 19 Binary conflict creating conflicting changes, 218 during merging, 219 during rebasing, 221 Branches backup, 140 clone-with-branches

More information

Brief overview of the topic and myself the 7 VCS used so far (different one each time), still many unused Acts as a time-machine, and almost as

Brief overview of the topic and myself the 7 VCS used so far (different one each time), still many unused Acts as a time-machine, and almost as Brief overview of the topic and myself the 7 VCS used so far (different one each time), still many unused Acts as a time-machine, and almost as contentious as the text editor This talk tries to address

More information

Automated Testing of Tableau Dashboards

Automated Testing of Tableau Dashboards Kinesis Technical Whitepapers April 2018 Kinesis CI Automated Testing of Tableau Dashboards Abstract Companies make business critical decisions every day, based on data from their business intelligence

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

Code Analysis Via Version Control History

Code Analysis Via Version Control History Code Analysis Via Version Control History Justin Mclean Class Software Email: justin@classsoftware.com Twitter: @justinmclean Blog: http://blog.classsoftware.com Who am I? Freelance Developer Programming

More information