Hypermodelling - Data Warehousing for Source Code

Post on 12-Apr-2017

258 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

Transcript

ypermodellingNext Level Software Engineering With Data Warehouses

Dr. Tim Frey

Software Engineering

Why we need it

How it works

What we can do with it

Where it leads us

Our discussion

… More Samples

Software Quality – Why We Care

Eurozone bailout: $591 billion (2008-today)

Software bugs: ??? (2012)

Eurozone bailout: $591 billion (2008-today)

Software bugs: $312 billion annually (increasing)

Software Quality – Why We Care

Sources: Cambridge University Study, Prweb.com article, 2013Frequently Forgotten Fundamental Facts about Software Engineering, Robert L. Glass, IEEE Software Engineering, 2001h // id / / f ?id E2B6497B 9AF3 38A7

Software Quality – Why We Care

Eurozone bailout: $591 billion (2008-today)

Software bugs: $312 billion annually (increasing)

40-80% Maintenance Costs-> 20% Innovation.

Mission: Improve Maintenance with Analysis-> Bridge the Valley

Analysis Challenges

Analysis Challenges

Analysis Challenges

USE

USE

Analysis Challenges

USE

USE

• Problem Size: 8,5 MLOC• Multi-dimensional Code• Today

NO Transferable Studies (2 Tables)NO Integration ApproachNO Big Data Code ProcessingNO Code Abstraction

-> Missing: Large Scale Re-Use

and „Customizable“ AnalysisInfrastructure

Analysis Challenges

• KPIs – Data Warehouses

-> Why? Because they…

– Offer Indicator based Abstraction– Are Fast– Provide Multi-Dimensional

Viewpoints– Offer Integration– Handle Big Data

Source: BI Verdict, Pendse und Creeth, 1995

How are Analysis ChallengesSolved in Other Areas?

IF and HOW can we use Data Warehouses for Source Code?

IF and HOW can we use Data Warehouses for Source Code?

Source Code Data Warehouse

Store in Analysis

Store in Analysis

IF/HOW

Store in Analysis

ApplicationsBenefits

DataWarehouse

Store in

-----------------

-----------------

-----------------

-----------------

-----------------

Hypermodelling =Data Warehousing for Source Code

Complex Source Code Relation Computations+ Data Warehouse Infrastructure

-> Effective and Customized Code Investigations

Quantifying Development

DataWarehouse

Analysis

Comparison toComplete Project

Static Analysis

Vendor Lock-ins

Dependencies

Skill Requirements

Drill-downSkill Requirements

Drill-down

Diversity / Variation ->

Application Cases:

• Easily adjustable queries – (Alfresco…)• Clean Code Principles• Dynamic & Flexible Code Slicing/ Queries

-> Quick Architecture Reviews…-> Architecture Planning-> Continous Dependency Managment-> Architecture Enforcement

• QA Processes

Multi-File -MetricSample Cohesion / Coupling

Code ReviewsSlicing in any Dimension- Cohesion

Code ReviewsSlicing in any Dimension- Cohesion

DD

Code ReviewsSlicing in any Dimension- Cohesion

Further Advancements?

• Increased Code Re-Use:Code SearchLive Clone DetectionRecommendationTest Driven Code Search

• IDE EnhancementsOlap Queries and Analysis in the IDE

• Statistic Analysis…… And many more use cases…

Further Advancements

Summary Key Contributions:1. Multi-Dimensional Concern

Computation Model2. Improvement of 5+

Application Scenarios

• Growing Future Market• Business Cases

- Estimating/Planning Migration Effort- Dependency Analysis- Code Mining- Code Study/Review Information- Statistic Failure Analysis- HR – Developer Skill Profiles

• Integrated Large Scale Code Control with Data Warehouse

• Future: Statistic Software Product Line Analysis

• Plenty of New Opportunities->„One Platform, many Use Cases“

ConclusionOpen

Leveraging New Opportunities

http://hypermodelling.com facebook.com/hypermodelling Dr. Tim Frey

top related