Upload
antony-wilkins
View
215
Download
1
Tags:
Embed Size (px)
Citation preview
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 [email protected]
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!