Das SCCH ist eine Initiative der Das SCCH befindet sich im Empirical Evaluation of Strategies to Detect Logical Change Dependencies SOFSEM 2010 Günter.

Slides:



Advertisements
Similar presentations
Model-Based Testing with Smartesting Jean-Pierre Schoch Sogetis Second Testing Academy 29 April 2009.
Advertisements

MAPPING DATA FLOW DIAGRAMS INTO STRUCTURE CHARTS
Object-Oriented Software Development CS 3331 Fall 2009.
Introduction to Software Engineering Lecture 4 André van der Hoek.
WHY BOTHER TO UNIT TEST Suprinder Pujji. OVERVIEW What is Unit testing Emphasis of Unit testing Benefits of Unit Testing Popular Misconceptions Prevailing.
Unified theory of software evolution Reengineering – Business process reengineering and software reengineering BPR model – Business definition, process.
July 11 th, 2005 Software Engineering with Reusable Components RiSE’s Seminars Sametinger’s book :: Chapters 16, 17 and 18 Fred Durão.
Unit 231 Software Engineering Introduction to SWE What is SDLC Phases of SDLC.
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 18-1 Accounting Information Systems 9 th Edition Marshall.
Lecture 9 – Database Design
Software Verification and Validation (V&V) By Roger U. Fujii Presented by Donovan Faustino.
Data Structures and Programming.  John Edgar2.
Computer System Lifecycle Chapter 1. Introduction Computer System users, administrators, and designers are all interested in performance evaluation. Whether.
Chapter 22 Systems Design, Implementation, and Operation Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall 22-1.
Software Testing Lifecycle Practice
Software testing techniques Testing Maturity Model Presentation on the seminar Kaunas University of Technology.
Software Engineering Modern Approaches
Module CC3002 Post Implementation Issues Lecture for Week 6 AY 2013 Spring.
Testing – A Methodology of Science and Art. Agenda To show, A global Test Process which work Like a solution Black Box for an Software Implementation.
Dependency Tracking in software systems Presented by: Ashgan Fararooy.
1 ©equinox limited 2005 What the hell is Configuration Management anyway? Martin White Equinox Software Architects August 2005.
Software Engineering CS3003
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Engineering Introduction and Overview Takes customer-defined goals and constraints and derives a representation of function, performance, interfaces,
Unit 9 Transaction Processing. Key Concepts Distributed databases and DDBMS Distributed database advantages. Distributed database disadvantages Using.
Lucian Voinea Visualizing the Evolution of Code The Visual Code Navigator (VCN) Nunspeet,
Formal Methods in Software Engineering
1. Introduction Iterative Development & the Unified Process.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
CIS 842: Specification and Verification of Reactive Systems Lecture 1: Course Overview Copyright 2001, Matt Dwyer, John Hatcliff, and Radu Iosif. The.
Software Metrics Cmpe 550 Fall Software Metrics.
Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU.
IFS310: Module 13 Implementation and Support - Construction, Conversion and Maintenance of the New System.
Software Waterfall Life Cycle
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Chapter 9 – Software Evolution 1Chapter 9 Software evolution.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
PROPRIETARY  2003 Data Research Analysis & Consultancy Solutions All Rights Reserved. This is achieved by: Improving availability / reducing stock outs.
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
C++ for Engineers and Scientists, Second Edition 1 Problem Solution and Software Development Software development procedure: method for solving problems.
Presented by Lu Xiao Drexel University Quantifying Architectural Debt.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
DevCOP: A Software Certificate Management System for Eclipse Mark Sherriff and Laurie Williams North Carolina State University ISSRE ’06 November 10, 2006.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
Software Design and Architecture
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
4.2 SOFTWARE DEVELOPMENT METHODOLOGGY PRESENTED BY : AZURA IBRAHIM SYARIFAH SYAZA BTE SEYD ZULKAFLY CS230(5A)
Visualizing Software Evolution in Lagrein Andrejs Jermakovics, Alberto Sillitti, Raimund Moser, Giancarlo Succi
Information Systems Development
Integrating MBSE into a Multi-Disciplinary Engineering Environment A Software Engineering Perspective Mark Hoffman 20 June 2011 Copyright © 2011 by Lockheed.
Software Project Configuration Management
Software Specification and Configuration Management
ERP & APO Integration Theories & Concepts
INTRODUCTION.
ENTERPRISE RESOURCE PLANNING- ERP UNIT-1 INTRODUCTION Overview of Enterprise System Evolution Risks and Benefits Fundamental Technology Issues to be consider.
Ontology Evolution: A Methodological Overview
Software Measurement Process ISO/IEC
Chapter 9 – Software Evolution and Maintenance
Chapter 8 Software Evolution.
Software Testing Lifecycle Practice
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
MAPO: Mining and Recommending API Usage Patterns
Chapter 2: Building a System
Management of Change GROUP HSE RULE (CR-GR-HSE-302)
Presentation transcript:

Das SCCH ist eine Initiative der Das SCCH befindet sich im Empirical Evaluation of Strategies to Detect Logical Change Dependencies SOFSEM 2010 Günter Pirkblauer

2/13© Software Competence Center Hagenberg GmbH Overview Introduction Motivation of Research Evaluation Approach Strategies Results Discussion

3/13© Software Competence Center Hagenberg GmbH Introduction Software Maintenance Life cycle of software systems comprises not only the analysis-, design- and development phases, but also the maintenance. Exceed 75% of the all over development costs (up to 95%) In Software Maintenance, all is about Changes New requirements  changes in the system Changes increase the complexity Changes often lead to new errors  need to perform Change Impact Analysis

4/13© Software Competence Center Hagenberg GmbH Introduction Change Impact Analysis „… identifiying the potential consequence of a change, or estimated what needs to be modified to accomplish a change …“ [ArnoldBohner1996] … is more a discipline than an approach … needs the identification of artifacts and dependencies General Approaches/Principles: Software Traceability and Dependency Analysis (in consequence: Software Evolution Analysis, Change Coupling Analysis, …)

5/13© Software Competence Center Hagenberg GmbH Introduction Software Traceability Dependency Analysis (static/dynamic) Change Coupling Analysis Approaches

6/13© Software Competence Center Hagenberg GmbH Introduction Change Coupling Analysis … try to detect logical change dependencies of artifacts based on co-changes in the versioning system … are relevant for change impact analysis, because they enlarge physical dependencies (e.g. static code analysis)  analysis of check-ins of developers  especiallly transactions, time, comments, users, … … need strategies (algorithm, patterns) to detect change couplings

7/13© Software Competence Center Hagenberg GmbH 7 Introduction: CIA-Framework Strategies!

8/13© Software Competence Center Hagenberg GmbH Introduction: The CIA-Framework Change Impact Analysis … it looks like:

9/13© Software Competence Center Hagenberg GmbH Motivation of Research Strategies are based on typical project scenarios Analysis of project scenarios (learning, how developers do their job) Identification of strategies Literature Analysis Implementing strategies in a framework Empirical evaluation of strategies

10/13© Software Competence Center Hagenberg GmbH Evaluation Approach Evaluation of 2 projects Determine the quantities of dependencies Analyzing the „contribution“ of each strategy Analyzing overlappings of results

11/13© Software Competence Center Hagenberg GmbH Study Approach 2 Projects

12/13© Software Competence Center Hagenberg GmbH Strategies Transaction-based Strategy Comment-based Strategy Change-ID-based-Strategy Change-Hierarchy-based Strategy

13/13© Software Competence Center Hagenberg GmbH Strategies Transaction-based Strategy

14/13© Software Competence Center Hagenberg GmbH Strategies Comment-based Strategy

15/13© Software Competence Center Hagenberg GmbH Strategies Change-ID-based-Strategy

16/13© Software Competence Center Hagenberg GmbH Strategies Change-Hierarchy-based Strategy  Data from outside the Versioning-System Database

17/13© Software Competence Center Hagenberg GmbH Results Project 1

18/13© Software Competence Center Hagenberg GmbH Results Project 2

19/13© Software Competence Center Hagenberg GmbH Discussion Distribution of Dependencies

20/13© Software Competence Center Hagenberg GmbH Discussion Unique and Overlapping Dependency Results Transaction-based Dependencies are completely covered by other strategies (mostly Comment-based Dep.) Change-hierarchy-based Dep. have overlappings with Transaction-based- and ChangeID-based Dependencies Majority of Change-hierarchy-based dependencies are unique

21/13© Software Competence Center Hagenberg GmbH Discussion Ratio of Check-ins with Change-ID and Change-ID based Dependencies Coherence between Change-IDs and Change-ID based Dependencies (Project 1: 46%/55,6%, Project 2: 7%/3,5%) Change-ID based dependencies are high reliable Benefit of integrated IDEs like Eclipse (programming, bug- and change-tracking, versioning system) for Change Impact Analysis

22/13© Software Competence Center Hagenberg GmbH Thank you!