RepoGuard Validation Framework for Version Control Systems



Similar documents
Andreas Schreiber, Michael Meinel, Tobias Schlauch

Advances and Work in Progress in Aerospace Predesign Data Exchange, Validation and Software Integration at the German Aerospace Center

Scalable Distributed Schur Complement Solvers for Internal and External Flow Computations on Many-Core Architectures

Automation of Aircraft Pre-Design with Chameleon

Andreas Schreiber

The DLR Satellite Station in Inuvik a Milestone for the Canadian-German Cooperation in Earth Observation

SWAMP: Removing the Barriers to Adopting and Improving Software Assurance Capabilities

Mixing Python and Java How Python and Java can communicate and work together

Source Code Review Using Static Analysis Tools

Build management & Continuous integration. with Maven & Hudson

Hudson Continous Integration Server. Stefan Saasen,

Continuous Integration

Measuring Travel Time Reliability for an FCD-based Route Information System

Open Source Software Development within DLR. Andreas Schreiber

Masterthesis. Analysis of Software-Engineering-Processes. von. Clemens Teichmann. - Matriculation number.: IN-Master -

Elgg 1.8 Social Networking

Requirements Management

SOFTWARE TESTING TRAINING COURSES CONTENTS

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture

WEB DEVELOPMENT IA & IB (893 & 894)

Network Activity D Developing and Maintaining Databases

CanReg5 Webinar 6: Customization and Management

SA4 Software Developer Survey Survey Specification v2.2

Meister Going Beyond Maven

The care of open source creatures. Vincent Sanders

Building Library Website using Drupal

SysPatrol - Server Security Monitor

WEB GOVERNANCE HEALTHCHECK

Six Common Factors to Consider When selecting a CMS

Improving Software Quality with the Continuous Integration Server Hudson. Dr. Ullrich Hafner Avaloq Evolution AG 8911

Modern Web Application Framework Python, SQL Alchemy, Jinja2 & Flask

Continuous Integration

SharePoint 2010 End User - Level II

ADMINISTRATOR GUIDE VERSION

Developer Workshop Marc Dumontier McMaster/OSCAR-EMR

SOA-14: Continuous Integration in SOA Projects Andreas Gies

Software Development In the Cloud Cloud management and ALM

Building A Very Simple Web Site

#define. What is #define

EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH CERN ACCELERATORS AND TECHNOLOGY SECTOR

Java Power Tools. John Ferguson Smart. ULB Darmstadt 1 PI. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo

DevOps. Jesse Pai Robert Monical 8/14/2015

WHITE PAPER 7 REASONS WHY CRAFTER SHOULD BE ON YOUR WEB CMS SHORTLIST

Making Leaders Successful Every Day Forrester Research, Inc. Reproduction Prohibited

Creating Library Website Using Open Source Content Management System

SPELL Tabs Evaluation Version

A brief introduction on SharePoint

Effective Web Application Development with Apache Sling. Robert Munteanu ), Adobe Systems Romania

Taking full advantage of the medium does also mean that publications can be updated and the changes being visible to all online readers immediately.

tibbr Now, the Information Finds You.


Content. Development Tools 2(63)

Content Management System

NextRow - AEM Training Program Course Catalog

Using Workflows in a Content Management System

Modeling of Pre-Tactical Airline Decision Processes to enable Performance Based Airport Management

MS 50547B Microsoft SharePoint 2010 Collection and Site Administration

SharePoint 2013 for End Users

Web Developer Toolkit for IBM Digital Experience

zen Platform technical white paper

Binonymizer A Two-Way Web-Browsing Anonymizer

HARVARD BUSINESS PUBLISHING BENEFITS FROM CRAFTER SOFTWARE

Enterprise Content Management with Microsoft SharePoint

Wiki Server. Innovative tools for workgroup collaboration and communication. Features

latest Release 0.2.6

Das HappyFace Meta-Monitoring Framework

FogBugz & Kiln. Tools for Software Teams From the Makers of Stack Overflow and Trello. Fog Creek Software

Dove User Guide Copyright Virgil Trasca

LECTURES NOTES Organisational Aspects of Software Development

IT Academy Lesson Plan

Open Source Tools. December ISSN free digital version print version 8,00 printed in Germany

How To Use An Informix System With A Computer System (For A Dba)

vs. Web Site: Blog: blog.soebes.com Dipl.Ing.(FH) Karl Heinz Marbaise

Version Control with Subversion

New Space Capabilities for Maritime Surveillance

An Introduction to Software Development Process and Collaborative Work

Selenium Automation set up with TestNG and Eclipse- A Beginners Guide

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform

Microsoft SharePoint 2010 Site Collection and Site Administration Course 50547A; 5 Days, Instructor-led

Distribution and Integration Technologies

Continuous Integration: A case study

The Open Source CMS. Open Source Java & XML

HPC Portal Development Platform with E-Business and HPC Portlets

CI:IRL. By Beth Tucker Long

SelectSurvey.NET IT Staff Training

BRINGING CLOUD TRADITIONAL DESKTOP COMPUTING TO APPLICATIONS

Software Construction

Introduction to OpenTM2 An Open Source Solution for Translators

Source Control Systems

Naverisk 2013 R3 - Road Map

126 SW 148 th Street Suite C-100, #105 Seattle, WA Tel: Fax:

WHITE PAPER MATTERSPHERE TECHNOLOGY AND FUNCTIONALITY REVIEW CONNECTING YOU WITH WHAT MATTERS

An Electronic Journal Management System

A Guide To Evaluating a Bug Tracking System

The Automatic HTTP Requests Logging and Replaying Subsystem for CMS Plone

COURSE CONTENT FOR WINTER TRAINING ON Web Development using PHP & MySql

Continuous Integration

Data processing goes big

Fixes for CrossTec ResQDesk

Agile Development with Jazz and Rational Team Concert

Transcription:

RepoGuard Validation Framework for Version Control Systems Remidi09 (2009-07-13, Limerick) Malte Legenhausen, Stefan Pielicke German Aerospace Center (DLR), Cologne http://www.dlr.de/sc Slide 1 Remidi09 > 2009-07-13

Outline Software development at the DLR Facts, Scientific Software Development Problems Motivation RepoGuard Architecture, Workflow, Configuration Conclusion Benefits, Q&A Slide 2

DLR German Aerospace Center Research Institution Space Agency Project Management Agency Slide 3

Locations and employees 6000 employees across 29 research institutes and facilities at 13 sites. Hamburg Bremen- Neustrelitz Trauen Berlin- Braunschweig Offices in Brussels, Paris and Washington. Koeln Bonn Goettingen Lampoldshausen Stuttgart Oberpfaffenhofen Weilheim Slide 4

Distributed Systems and Component Software About Us Main Departement for Software Engineering Grid-Computing Development of Grid-enabled applications Grid security Management Tools for scientific data Expert systems for computational fluid dynamics Data management tool DataFinder Software Engineering Provide Infrastructure for Software Engineering Slide 5

Scientific Software Development Daily Observations in Research Institutions Lots of scientists work on large/critical software Mathematicians, physicists, engineers Main Goal: Fast implementation of ideas into running code Knowledge about Software Engineering varies a lot Use of archaic tools and procedures Typical situation: Small scripts grow large Very different team sizes From 1 student to >50 developers Slide 6

Motivation Different Approaches to Change the Situation First: Training Knowing how to do it right BUT: Developers are like cats Second Approach: Force Need to do it right Slide 7

Motivation Loosely coupled Development Tools IDE Repository Browser Wiki VCS RepoGuard Bug Tracker All Tools are Open Source Replaceable Continuous Integration E-Mail Slide 8

Automatic Server Side Transaction Check What does RepoGuard do? Writes code Commits Developer The Tao of Source Control: Check failed VCS If it s not in the repository, it doesn t exist. Feedback RepoGuard Pre-commit execution Checks Slide 9

RepoGuard What is RepoGuard exactly? Validation framework for VCS Validation before storing changes Provides a unified interface for validation and reporting Easy access to the transaction and external tools Links everything to your VCS Most developer tools are loosely coupled Written in Python Easy and powerful Slide 10

Architecture Editor Version Control System Hook Script Project - Configuration Transaction RepoGuard Exit-Code Checks Result Handler Code Analysis Positive Mail Access Rights Negative RSS External Tools External Tools Checkstyle Slide 11

Checks What can be checked Everything that is related to a transaction Validate Transactional Content Coding Style: Pylint, Checkstyle, ASCII Encoded, Source Code Analysis: Findbugs, QA C/C++, XML, HTML, Validate External Information Bug/Issue Ids Extending VCS Access Rights Slide 12

Handler What is possible Handler as reporter E-Mail Log File Console Database Bug Tracking System RSS Feeds Blog post Twitter Handler as trigger Hudson ViewVC Slide 13

Modularized Architecture Integrate whatever you want Checks Create your own validation routines Handlers Create your own reporting or trigger routines Bug Tracking Systems Specialized interface for BTS integration Version Control Systems No special VCS required Support of VCS extensible Slide 14

Order of Check Executions Things you should know in advance Checks are linked as a workflow Results of the check can be Success or Error and a message Error check results can be translated to Warning: Check is optional Delayed Error: Continue workflow execution Error: Abort workflow execution All results stored in a protocol Final result of the protocol determines whether the transaction is accepted or rejected Final result handled by Success or Error Handlers Slide 15

IDE e.g. Eclipse Workflow Execution of Checks Commit and message: Handlers RepoGuard Content Keywords of Remidi09.java: set foraccess Remidi09.java: Rights for Remidi09.java: MANTIS ID class 42 Id Remidi09 Permission { static void denied main(){}} Something to LastChangedRevision commit Mantis Keywords AccessRights Checkstyle Warnung Success Error Warning Error DelayedError Error Succes-Handler Mantis E-Mail Hudson Error-Handler Console E-Mail Log File Slide 16

Configuration Configuration of the Workflow, Checks and Handlers All in one rich property file Key-Value-Pairs arranged in groups and subgroups Validation of Configuration Validation before using in a productive environment Configuration Templates Reduce your overhead between configurations Configuration hierarchy Inheritance mechanism Slide 17

Command Line Tool Easy Use of RepoGuard Administration Easy installation and removal of RepoGuard in repositories Validation of Configuration Validate your configuration file before using in a productive environment Configuration support Extensible Command Line Tool Integrate new functionality for RepoGuard configuration Slide 18

Benefits of RepoGuard Why you should use it! Better integration of Version Control in the development process Especially the connectivity to the Bug Tracking System Stay informed about what happens in your Repository Reporting over all communication channels possible Keeping your repository under surveillance Detection and rejection of mistakes Increase of the overall source code quality Turn your developers into well-behaved cats Slide 19

Conclusion Where can I get it? Availability Open-Source (Apache License V2.0) More information and download at http://repoguard.tigris.org Contact Malte.Legenhausen@dlr.de, Stefan.Pielicke@dlr.de Slide 20

Q&A Questions and maybe Answers Slide 21