Slide 1

Slide 1 text

Hamburg, 2016-02-12 Stefan Wagner Research in the Software Engineering Group

Slide 2

Slide 2 text

You can copy, share and change, film and photograph, blog, live-blog and tweet this presentation given that you attribute it to its author and respect the rights and licences of its parts. based on slides by @SMEasterbrook und @ethanwhite

Slide 3

Slide 3 text

Tools Requirements Engineering Safety & Security Engineering Quality Engineering Software Engineering Continuous, Agile & Lean Engineering

Slide 4

Slide 4 text

Requirements Engineering

Slide 5

Slide 5 text

There are mostly isolated investigations of methods in requirements engineering research.

Slide 6

Slide 6 text

Research is not driven by problems from industry.

Slide 7

Slide 7 text

NaPiRE: Naming the Pain in Requirements Engineering Research questions and methods 1. What is the status quo in RE? 2. What is the status quo in RE process standards? 3. What is the status quo in RE improvement? 4. What contemporary problems exist in RE and how do they manifest themselves? 5. Are there observable patterns of expectations, status quo, and problems in RE? Bi-yearly World-wide

Slide 8

Slide 8 text

Countries that conducted surveys in 2014/15 D. Méndez Fernández, S. Wagner, M. Kalinowski, M. Felderer, P. Mafra, A. Vetrò et al. Naming the pain in requirements engineering: Contemporary Problems, Causes, and Effects in Practice. Submited to Empirical Software Engineering.

Slide 9

Slide 9 text

Formal/semi-formal goal models are rarely used in practice. Central Europe North/Eastern Europe North America South America 5 % 18 % 1 % 2 % 5 % 4 % 7 % 7 % Semi-formal Formal

Slide 10

Slide 10 text

Causes for incomplete/hidden requirements

Slide 11

Slide 11 text

Effects of incomplete/hidden requirements

Slide 12

Slide 12 text

Quality Engineering

Slide 13

Slide 13 text

Technische Universität München

Slide 14

Slide 14 text

Class A Class B

Slide 15

Slide 15 text

Class A Class B

Slide 16

Slide 16 text

Class A Class B

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

Often 20%–30% redundancy

Slide 19

Slide 19 text

Inconsistencies Can you spot the difference?

Slide 20

Slide 20 text

How problematic are these inconsistencies? Indicating harmfulness [Lague97]: inconsistent evolution of clones in industrial telecom. SW. [Monden02]: higher revision number for files with clones in legacy SW. [Kim05]: substantial amount of coupled changes to code clones. [Li06], [SuChiu07] and [Aversano07], [Bakota07]: discovery of bugs through search for inconsistent clones or clone evolution analysis. Doubting harmfulness [Krinke07]: inconsistent clones hardly ever become consistent later. [Geiger06]: Failure to statistically verify impact of clones on change couplings [Lozano08]: Failure to statistically verify impact of clones on changeability. [Göde11]: Most changes intentionally inconsistent [Rahman12]: no statistically significant impacts on faults

Slide 21

Slide 21 text

Industrial case study • Investigating evolution of type-3 clones • Relationship with documented faults from issue tracker • Industrial systems Accepted at SANER 2016

Slide 22

Slide 22 text

Research questions RQ1: Do software systems contain type-3 clones? |CT3| / |C| RQ2: Do type-3 clones contain documented faults? |CT3 F| / |CT3| RQ3: Are developers aware of type-3 clones? |IMS| / |IM|, interviews with key developers Clone Groups C (exact and incons.) Inconsistent clone groups CT3 Faulty clone Groups CT3 F

Slide 23

Slide 23 text

Data collection and analysis pport ditor HTML Dash- board v1 v2 v3 Extract Analyse Query for relationships and evolution Extract

Slide 24

Slide 24 text

Study objects System Size (KLOC) Age (Years) Developers A 253 4 10 B 332 5 5 C 454 4 10 Java Automotive domain

Slide 25

Slide 25 text

Quantitative results System A B C Overall Share of type-3 clones 0.56 0.23 0.79 0.52 Share of faulty clone type-3 classes 0.33 0.05 0.03 0.17 Share of simultaneously modified type-3 clones 0.58 0.89 0.92 0.85

Slide 26

Slide 26 text

Qualitative results System A B C General clone awareness x No general clone awareness x x No specific clone awareness x x No clone check while bug fixing x x Clone warning while developing x Common code ownership x Discussion about co-changes x

Slide 27

Slide 27 text

Conclusions • About half of all clone classes are type-3 clones. • Rate of faulty type-3 clones is about 17 %. • There is a difference in awareness of clones and inconsistencies. • This awareness seems to impact how many faults are related to type-3 clones. • Further studies should take this into account. • Making developers aware of clones seems still to be worthwhile.

Slide 28

Slide 28 text

Safety & Security Engineering

Slide 29

Slide 29 text

Verification of safety requirements based on system-theoretic analysis Abdulkhaleq, Wagner, Leveson. A Comprehensive Safety Engineering Approach for Software-Intensive Systems Based on STPA. Procedia Engineering 128:2–11, 2015

Slide 30

Slide 30 text

Continuous, Agile & Lean Engineering

Slide 31

Slide 31 text

Analyse the Scrum process to explore its industrial usage with respect to its variations from the perspective of practitioners.

Slide 32

Slide 32 text

Some results • Some companies work with variations in the process just because they carry legacies from their old, non-agile process. • Allowing short discussions during the Daily Scrum was considered efficient by several companies. • The proposed sprint length is adhered to by most of the companies.

Slide 33

Slide 33 text

Tools Requirements Engineering Safety & Security Engineering Quality Engineering Software Engineering Continuous, Agile & Lean Engineering

Slide 34

Slide 34 text

e-mail phone +49 (0) 711 685- Twitter prof_wagnerst http://orcid.org/0000-0002-5256-8429 University of Stuttgart www.iste.uni-stuttgart.de/se/ Prof. Dr. Stefan Wagner 88455 Institute of Software Technology [email protected] Slides are available at www.stefan-wagner.biz.

Slide 35

Slide 35 text

Pictures used in this slide deck Jan and Ivan by Stefan Wagner Clones by Nick Royer (https://flic.kr/p/d1DFPL) bad smell by Jeremy Tarling (https://flic.kr/p/gtS8xX)