• No results found

Increasing Software Quality using the Provenance of Software Development Processes

N/A
N/A
Protected

Academic year: 2021

Share "Increasing Software Quality using the Provenance of Software Development Processes"

Copied!
25
0
0

Loading.... (view fulltext now)

Full text

(1)

Increasing Software Quality using the Provenance

of Software Development Processes

Andreas Schreiber <[email protected]>

German Aerospace Center (DLR)

Berlin / Braunschweig / Cologne

> ESA Software Product Assurance Workshop > A. Schreiber • Provenance > 13.06.2013 www.DLR.de • Chart 1

(2)

Outline

• Introduction

• Provenance

• Software Development Processes

• Queries

> ESA Software Product Assurance Workshop > A. Schreiber • Provenance > 13.06.2013 www.DLR.de • Chart 2

(3)

Introduction

Problem

• Today’s software development processes are complex

• Massive interaction between developers and tools as well as between

tools (manually or automatically)

• Tracing and understanding the process is hard

• Software isn’t reused because of lack of trust and quality

Solution

• Recording of process information during runtime

• Analysis of recorded information for insight and confidence

Standardized (W3C) solution: Provenance

(4)

Provenance Definition

Provenance is defined as a record that describes

the people, institutions, entities, and activities

involved in producing, influencing, or delivering

a piece of data or a thing.

(W3C Provenance Working Group,

http://www.w3.org/2011/prov

)

(5)

Provenance

Research Area Since 2002

• Luc Moreau. The foundations for provenance on the web. Foundations and Trends

in Web Science, November 2009.

• Simmhan, Yogesh L., Beth Plale, and Dennis Gannon: A survey of data provenance

in e-science.

> ESA Software Product Assurance Workshop > A. Schreiber • Provenance > 13.06.2013 www.DLR.de • Chart 5

(6)

Provenance Application Areas

General Areas

• Information systems: Origin of data, who was responsible for its

creation

• Science applications: How the results were obtained

• Publications: Origins and references of published results

Applications involve

• Engineering

• Climatology & earth sciences

• Finance

• Medicine, pharmacy & biomedicine

• Security

• Software Development

www.DLR.de • Chart 6 > ESA Software Product Assurance Workshop > A. Schreiber • Provenance > 13.06.2013

(7)

Provenance Goal

Express special “meta” information on the data

• Who played what role in creating the data

• View of the full revision chain of the data

• In case of integrated data, which part comes from which original data

and under what process

www.DLR.de • Chart 7 > ESA Software Product Assurance Workshop > A. Schreiber • Provenance > 13.06.2013

(8)

Provenance requires a complete model

• Describing the various constituents (actors, revisions, etc.)

• Balance between

• simple (“scruffy”) provenance: easily usable and editable

• complex (“complete”) provenance: allows for a detailed reporting

of origins, versions, etc.

Realizing Provenance

> ESA Software Product Assurance Workshop > A. Schreiber • Provenance > 13.06.2013

(9)

W3C Provenance Data Model (PROV-DM)

Concepts

Nodes

• Entity

• Activity

• Agent

Edges

• association

• responsibility

Agent

Entity

Activity

used

wasGeneratedBy

wasDerivedFrom

wasStartedBy

wasEndedBy

wasAssociatedWith

actedOnBehalfOf

> ESA Software Product Assurance Workshop > A. Schreiber • Provenance > 13.06.2013 www.DLR.de • Chart 9

(10)

Baking a Cake

baking

100 g

Butter

2

Eggs

100 g

Sugar

100 g

Flour

Cake

wasGeneratedBy

> ESA Software Product Assurance Workshop > A. Schreiber • Provenance > 13.06.2013 www.DLR.de • Chart 10

(11)

> ESA Software Product Assurance Workshop > A. Schreiber • Provenance > 13.06.2013

Provenance Life Cycle

Provenance

database

Recording of process

Information

Query for

Provenance of data

Administration

of Provenance

database

Application

Data (Result)

www.DLR.de • Folie 11
(12)

Software Development Processes

> ESA Software Product Assurance Workshop > A. Schreiber • Provenance > 13.06.2013 www.DLR.de • Chart 12

(13)

Typical DLR Software Development Process

www.DLR.de • Chart 13 > ESA Software Product Assurance Workshop > A. Schreiber • Provenance > 13.06.2013

• Grafik

(14)

Process Steps

www.DLR.de • Chart 14 > ESA Software Product Assurance Workshop > A. Schreiber • Provenance > 13.06.2013

Issue Tracking

(Requirements, Bugs)

Development

(Planning, Design, Coding, Testing)

Continuous Integration

Documentation

(Developer, User)

(15)

Provenance Model

Activities

• Issue Tracking

• Development

• Continuous Integration

• Documentation

• Release

Entities and Agents

• User

• Issue

• Revision

• Release

> ESA Software Product Assurance Workshop > A. Schreiber • Provenance > 13.06.2013 www.DLR.de • Chart 15

(16)

Questions and Problems

www.DLR.de • Chart 16 > ESA Software Product Assurance Workshop > A. Schreiber • Provenance > 13.06.2013

Error detection

Which change set resulted in more failing unit

tests?

Quality assurance How many releases have been produced this

year?

Process

validation

From which revision was release X built?

Monitoring

How much time has been spent implementing

issue X?

Statistical

analysis

How many developers contributed to issue X?

Developer rating

Which developer is most active in contributing

documentation?

(17)

Questions and Problems

Categorization

www.DLR.de • Chart 17 > ESA Software Product Assurance Workshop > A. Schreiber • Provenance > 13.06.2013

Single

Tool

Simple

What is the current overall code coverage?

Aggregated

How did the number of unit tests change in

the last month?

Multi

Tool

Developer

How many issues were implemented by

developer X for release Y?

Requirements

How much time has been spent

implementing issue X?

Errors

Which requirement causes the most build

failures?

(18)

Implementation

Collecting Data

(19)

Implementation

Graph Database and Query Language

Graph Database Neo4j

• High-performance NoSQL graph database

Query Language Gremlin

• Graph-based programming language for property graphs

(20)

Queries

> ESA Software Product Assurance Workshop > A. Schreiber • Provenance > 13.06.2013 www.DLR.de • Chart 20

(21)

How many commits did developer X contribute to

release Y?

(22)

How many commits did developer X contribute to

release Y?

www.DLR.de • Chart 22 > ESA Software Product Assurance Workshop > A. Schreiber • Provenance > 13.06.2013

$release := g:key($_g,

'string'

,

string

($release))

$commits := $release/

outE

/

inV

/

inE

/

outV

[@type=

'commit'

]

$relevant := $commits[

outE

/

inV

[@type=

'user'

and

@name=

string

($developer)]]

(23)

Which requirement causes the most build

failures?

www.DLR.de • Chart 23 > ESA Software Product Assurance Workshop > A. Schreiber • Provenance > 13.06.2013

$ids := g:dedup(g:key($g,

'type'

,

'issue'

)/@identifier)

$results := g:map()

foreach

$id

in

$ids

$issues := g:key($g,

'identifier'

,

string

($id))

$revision := $issues/

inE

/

outV

[@type='commit']

/

inE

/

outV

[@type=

'revision'

]

$build := $revision/

inE

/

outV

[@type=

'build'

]

/

inE

/

outV

[@exit_code>0]

g:assign($results, $id,

count

($build))

end

(24)

Open Research Topics

• Hiding the complexity of queries

• Visualization of query results

• Standardized semantics/ontology for software development processes

(25)

> ESA Software Product Assurance Workshop > A. Schreiber • Provenance > 13.06.2013

Questions?

Andreas Schreiber

Twitter:

@onyame

h t t p : / / w w w. d l r. d e / s c

Summary

Recording Provenance during run-time

Deep insight into software dev. processes

Higher trust in software quality

Allows reuse with more confidence

http://www.w3.org/2011/prov

References

Related documents

2 Synchronisation activities at all frequencies – per project, per iteration, daily, and ad hoc, along with their associated synchronisation artefacts, increase

If the size of the cartel is such that no outsider participants choose to participate in the R&amp;D race, the aggregate rate of innovation is higher with a cooperative

of different histories of soil conditioning while the ranking was more consistent in sterilized soil. Sterilized soils of different origin differed significantly in

El Crucero de estimación de biomasa desovante de anchoveta por el método de producción de huevos (MPH), BIC José Olaya Balandra y SNP2 0408-09, se realizó del 6 agosto al

On the sixth day, when they prepare what they bring in, it will be twice as much as they gather on other days.” So Moses and Aaron said to all the Israelites, “In the evening

presented the first research illustrating the impact that potentially unobservable characteristics such as attitudes and beliefs had on program selection (Mitchell et al. The

This post is exempt from the Rehabilitation of Offenders Act (ROA) (as amended) and appointment is subject to satisfactory outcome of Disclosure (check of all criminal records)..