Das SCCH ist eine Initiative der Das SCCH befindet sich im Empirical Evaluation of Strategies to...

Post on 29-Dec-2015

214 views 1 download

Tags:

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

+43 7236 3343 853guenter.pirklbauer@scch.atwww.scch.at

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

R1

R2

R3

R4

Requirements Design Code

D1

D2

D3

D4

C1

C2

C3

C4

Introduction

Software TraceabilityDependency Analysis (static/dynamic)

Cha

nge

Cou

plin

g A

naly

sis

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© Software Competence Center Hagenberg GmbH

Auswirkungsanalysen-Client, Visualisierung

CVS

ClearCase

Subversion

PVCS

Parser-Core (Konfiguration)

ParserDatenquellenOperativen VS-Daten

(XML oder DB)

Depedency-Detektor

Konfiguration

instanziert

Parser-Core (Konfiguration)

Konfiguration

XML, Property-Files

XML Property-Files

Data Warehouse

C: 2 R: 4X: 7

C: 1 R: 2X: 4 C: 2

R: 4X: 7

C: 1 R: 2X: 4Serverlogs

(z.B. TA2-Anwendung)

instanziert

Datenquellen Parser Operativen Logdaten

Depedency-Detektor

ciamss_core_ data ciamss_dwh

Transformation

ETL

Artefakt-Identifier(Kategorisierung v.

Artefakten)

OLAP-Tool

0102030405060708090

1st Qtr

2nd Qtr

3rd Qtr

4th Qtr

ciamss_core_ data

ciamss_core_ data

Ver

sion

ieru

ngss

yste

m-D

aten

Ser

verlo

g-D

aten

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!