fast feedback cycles in empirical software engineering research: research and engineering challenges

79
Fast Feedback Cycles in Empirical Software Engineering Research Dr. Antonio Vetro’ Technische Universität München, Germany 24 February 2014 VU Amsterdam, Software and Services (S2) Research Group @phisaz [email protected] Research and Engineering challenges

Upload: antonio-vetro

Post on 26-Jan-2015

106 views

Category:

Technology


1 download

DESCRIPTION

Gathering empirical knowledge is a time consuming and error prone task while the results from empirical studies often are soon outdated by technological solutions. As a result, the impact of empirical results on software engineering practice is often not guaranteed. The empirical community is aware of this problem and during the last years, there has been a lot of discussion on how to improve the impact of empirical results on industrial practices. The discussion often focused on the use of data mining techniques and analysis of software engineering data, and the concept has often been labeled as “Empirical Software Engineering 2.0″. Starting from the current status the discussion in this specific topic, we propose a way to use massive data analysis as a problem-driven data analysis technique and, more important, as a mean to improve the knowledge sharing process between research and industry. Our assertion is that automatic data mining and analysis, in conjunction to the emerging concepts of lean economy, wisdom of crowds, and open communities, can enable fast feedback cycles between researchers and practitioners (and among researchers as well) and consequently improve the transfer of empirical results into industrial practice. We identify the key concepts on gathering fast feedback in empirical software engineering by following an experience-based line of reasoning by argument. Based on the identified key concepts, we design and present an approach to fast feedback cycles in empirical software engineering. We identify resulting challenges and infer a research roadmap in the form of a list of open research and engineering challenges. Our results are not validated yet as they need a broader discussion in the community. To this end, our results serve as a basis to foster the discussion and collaboration within the research community.

TRANSCRIPT

Page 1: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Fast Feedback Cycles in Empirical Software Engineering Research

Dr. Antonio Vetro’ Technische Universität München, Germany

!24 February 2014

VU Amsterdam, Software and Services (S2) Research Group

@[email protected]

Research and Engineering challenges

Page 2: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Outline

• Feedback cycles

• Fast Feedback Cycles in Software Engineering Research

• What this talk is about: Empirical Software Engineering Research

Page 3: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Outline

• Feedback cycles

• Fast Feedback Cycles in Software Engineering Research

• What this talk is about: Empirical Software Engineering Research

Page 4: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

!Feedback Cycles in

Empirical Software Engineering Research Fast

Page 5: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

!Feedback Cycles in

Empirical Software Engineering Research Fast

Page 6: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Empirical cycle

Source: Empirical Practice in Software Engineering, Andreas Jedlitschka, Liliana Guzmán, Jessica Jung, Constanza Lampasona, Silke Steinbach, in Perspectives on the Future of Software Engineering, 2013, pp 217-233

Page 7: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Picture, 3rd layer: Methods

Theory/System of theories

(Tentative)!Hypotheses

Observations / Evaluations

Study Population

Pattern Building

Falsification / Support

Theory Building

Formal / Conceptual Analysis

Grounded Theory

Confirmatory • Case & Field Studies • Experiments, • Simulations

Survey and Interview Research

For now, prototyping is not part of this “method

view” (so aren’t reference models)

• Ethnographic Studies• Folklore Gathering

Exploratory • Case & Field Studies• Data Analysis

Further reading: Vessey et alA unified classification system for research in the computing disciplines

Induction

Deduction

Page 8: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Traditional approach

• Benefits: – scientific tool for evaluation, validation, discovery – possible theory building

Page 9: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Traditional approach

• Benefits: – scientific tool for evaluation, validation, discovery – possible theory building

• Drawbacks – long, difficult knowledge generation and transfer to industry – results sensitive to context variables and time – it doesn’t fit the new paradigms of data streams – it doesn’t keep the pace of innovation – lack of flexibility (e.g., you cannot change study design after the fact)

Page 10: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Traditional approach

• Benefits: – scientific tool for evaluation, validation, discovery – possible theory building

: the need for speed

• Drawbacks – long, difficult knowledge generation and transfer to industry – results sensitive to context variables and time – it doesn’t fit the new paradigms of data streams – it doesn’t keep the pace of innovation – lack of flexibility (e.g., you cannot change study design after the fact)

Page 11: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Empirical Software Engineering 2.0

Page 12: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Empirical Software Engineering 2.0

Page 13: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Empirical Software Engineering 2.0Software archives Data from any artefact Data always available Instantaneous results

Zeller A.

MSR 2007

Page 14: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Empirical Software Engineering 2.0Software archives Data from any artefact Data always available Instantaneous results

Data mining on multiple sources Domain knowledge (case studies) Adaptive agents: mining + monitor + repair Local models !

Zeller A. Menzies T.

MSR 2007 ICSE 2011

Page 15: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Empirical Software Engineering 2.0Software archives Data from any artefact Data always available Instantaneous results

Data mining on multiple sources Domain knowledge (case studies) Adaptive agents: mining + monitor + repair Local models !

Zeller A. Menzies T. Shull F.

Hybrid approach: manual hp testing + speed of mining Data driven decisions

MSR 2007 ICSE 2011 IEEE SW 2012

Page 16: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Empirical Software Engineering 2.0Software archives Data from any artefact Data always available Instantaneous results

Data mining on multiple sources Domain knowledge (case studies) Adaptive agents: mining + monitor + repair Local models !

Zeller A. Menzies T. Shull F.

Hybrid approach: manual hp testing + speed of mining Data driven decisions

Shull F.

MSR 2007 ICSE 2011 IEEE SW 2012

Collaborative effort in hp testing process Iterative model building

IEEE SW 2013

Page 17: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

The path towards EMSE 2.0

Page 18: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

The path towards EMSE 2.0

EMSE 1.0 !l Case studies

l Watch, don't touch

!l Experiments

l Vary a few conditions in a project

l Simple analyses lLittle ANOVA, regression, maybe a T-test

Page 19: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

The path towards EMSE 2.0

EMSE 1.0 !l Case studies

l Watch, don't touch

!l Experiments

l Vary a few conditions in a project

l Simple analyses lLittle ANOVA, regression, maybe a T-test

EMSE 2.0 !

l Data generators l Case studies l Experiments l Data streams

l Data analysis l 10K possible data miners

l Crowd-sourcing l 10K possible analysts

Adapted from Tim Menzies, Forrest Schull, “Empirical software Engineering 2.0”

Page 20: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

What this talk is about

Theory/System of theories

(Tentative)!Hypotheses

Observations / Evaluations

Study Population

Pattern Building

Falsification / Support

Theory Building

Formal / Conceptual Analysis

Grounded Theory

Confirmatory • Case & Field Studies • Experiments, • Simulations

Survey and Interview Research

For now, prototyping is not part of this “method

view” (so aren’t reference models)

• Ethnographic Studies• Folklore Gathering

Exploratory • Case & Field Studies• Data Analysis

Further reading: Vessey et al A unified classification system for research in the computing disciplines

Page 21: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

What this talk is about

Theory/System of theories

(Tentative)!Hypotheses

Observations / Evaluations

Study Population

Pattern Building

Falsification / Support

Theory Building

Further reading: Vessey et al A unified classification system for research in the computing disciplines

Exploratory • Data Analysis

Page 22: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Outline

• What this talk is about: Empirical Software Engineering Research

• Feedback cycles

• Fast Feedback Cycles in Software Engineering Research

Page 23: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Feedback Cycles Empirical Software Engineering Research Fast in

Page 24: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Feedback Cycles Empirical Software Engineering Research

Fast in

Page 25: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Lean and Agile

Page 26: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Earned value in iterations

Source: Hakan Erdogmus. 2005. The Economic Impact of Learning and Flexibility on Process Decisions. IEEE Softw. 22, 6 (November 2005), 76-83. DOI=10.1109/MS.2005.165 http://dx.doi.org/10.1109/MS.2005.165

Page 27: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Earned value in iterations

Source: Hakan Erdogmus. 2005. The Economic Impact of Learning and Flexibility on Process Decisions. IEEE Softw. 22, 6 (November 2005), 76-83. DOI=10.1109/MS.2005.165 http://dx.doi.org/10.1109/MS.2005.165

Our scope is: knowledge

Page 28: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data

Page 29: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

In the web 2.0: Feedback Cycles + Big Data

Page 30: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

In the web 2.0 : Feedback Cycles Big Data +

Page 31: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

In the web 2.0 : Feedback CyclesBig Data +

Implies crowd sourcing

Page 32: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

End, finally, back to Software Engineering

Page 33: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data in SE: example from agile development

Page 34: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data in SE: example from agile development

Stories Metrics from stories (e.g. , Req Smells) …

Page 35: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data in SE: example from agile development

Story points Tasks Features Dependencies Metrics from stories Estimations …

Stories Metrics from stories (e.g. , Req Smells) …

Page 36: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data in SE: example from agile developmentImplementation time Code Features from Code Metrics from Code Bugs Changes …

Story points Tasks Features Dependencies Metrics from stories Estimations …

Stories Metrics from stories (e.g. , Req Smells) …

Page 37: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data in SE: example from agile developmentImplementation time Code Features from Code Metrics from Code Bugs Changes …

UATs

Story points Tasks Features Dependencies Metrics from stories Estimations …

Stories Metrics from stories (e.g. , Req Smells) …

Page 38: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data in SE: example from agile developmentImplementation time Code Features from Code Metrics from Code Bugs Changes …

UATs

Story points Tasks Features Dependencies Metrics from stories Estimations …

Stories Metrics from stories (e.g. , Req Smells) …

Customer A

Page 39: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data in SE: example from agile developmentImplementation time Code Features from Code Metrics from Code Bugs Changes …

UATs

Story points Tasks Features Dependencies Metrics from stories Estimations …

Stories Metrics from stories (e.g. , Req Smells) …

Customer A

Page 40: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data in SE: example from agile developmentImplementation time Code Features from Code Metrics from Code Bugs Changes …

UATs

Story points Tasks Features Dependencies Metrics from stories Estimations …

Stories Metrics from stories (e.g. , Req Smells) …

Customer A

Page 41: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data in SE: example from agile developmentImplementation time Code Features from Code Metrics from Code Bugs Changes …

UATs

Story points Tasks Features Dependencies Metrics from stories Estimations …

Stories Metrics from stories (e.g. , Req Smells) …

Customer A

Feedback

Acceptance Motivations Improvements Bugs …

+

Page 42: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data in SE: example from agile developmentImplementation time Code Features from Code Metrics from Code Bugs Changes …

UATs

Discussion Problems in Sprints …

Story points Tasks Features Dependencies Metrics from stories Estimations …

Stories Metrics from stories (e.g. , Req Smells) …

Customer A

Feedback

Acceptance Motivations Improvements Bugs …

+

Page 43: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data in SE: example from agile developmentImplementation time Code Features from Code Metrics from Code Bugs Changes …

UATs

Discussion Problems in Sprints …

Story points Tasks Features Dependencies Metrics from stories Estimations …

Stories Metrics from stories (e.g. , Req Smells) …

Discussion Problems in Sprints …

Customer A

Feedback

Acceptance Motivations Improvements Bugs …

+

Page 44: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data in SE: example from agile developmentImplementation time Code Features from Code Metrics from Code Bugs Changes …

UATs

Discussion Problems in Sprints …

Story points Tasks Features Dependencies Metrics from stories Estimations …

Stories Metrics from stories (e.g. , Req Smells) …

Discussion Problems in Sprints …

Discussion Problems in Sprints …

Customer A

Feedback

Acceptance Motivations Improvements Bugs …

+

Page 45: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data in SE: example from agile developmentImplementation time Code Features from Code Metrics from Code Bugs Changes …

UATs

Discussion Problems in Sprints …

Story points Tasks Features Dependencies Metrics from stories Estimations …

Stories Metrics from stories (e.g. , Req Smells) …

Discussion Problems in Sprints …

Discussion Problems in Sprints …

Discussion Problems in Sprints …

Customer A

Feedback

Acceptance Motivations Improvements Bugs …

+

Page 46: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data in SE: example from agile developmentImplementation time Code Features from Code Metrics from Code Bugs Changes …

UATs

Discussion Problems in Sprints …

Story points Tasks Features Dependencies Metrics from stories Estimations …

Even simple processes produce huge amount of information, interconnected each other

Stories Metrics from stories (e.g. , Req Smells) …

Discussion Problems in Sprints …

Discussion Problems in Sprints …

Discussion Problems in Sprints …

Customer A

Feedback

Acceptance Motivations Improvements Bugs …

+

Page 47: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data in SE: example from agile developmentImplementation time Code Features from Code Metrics from Code Bugs Changes …

UATs

Discussion Problems in Sprints …

Story points Tasks Features Dependencies Metrics from stories Estimations …

Even simple processes produce huge amount of information, interconnected each other

Stories Metrics from stories (e.g. , Req Smells) …

Discussion Problems in Sprints …

Discussion Problems in Sprints …

Discussion Problems in Sprints …

Customer A

Feedback

Acceptance Motivations Improvements Bugs …

Even simple mechanisms can collect valuable feedback

+

Page 48: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data + Feedback in SE : example from agile development

Page 49: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data + Feedback in SE : example from agile development

What to mine – data from any step (also from

past projects)

Page 50: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data + Feedback in SE : example from agile development

What to mine – data from any step (also from

past projects)Implementation time Code Features from Code Metrics from Code Bugs Changes …

Story points Tasks Features Dependencies Metrics from stories Estimations …

Discussion time Problems in Sprints (list) …UATs

Page 51: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data + Feedback in SE : example from agile development

What to mine – data from any step (also from

past projects)

What we try to find – Indicators for problems

• Maintenance problems • Wrong Effort estimation • Test effort • UAT outcome • Development problems

– New patterns (relationships:“what”, not “why”)

Implementation time Code Features from Code Metrics from Code Bugs Changes …

Story points Tasks Features Dependencies Metrics from stories Estimations …

Discussion time Problems in Sprints (list) …UATs

Page 52: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data + Feedback in SE : example from agile development

What to mine – data from any step (also from

past projects)

What we try to find – Indicators for problems

• Maintenance problems • Wrong Effort estimation • Test effort • UAT outcome • Development problems

– New patterns (relationships:“what”, not “why”)

Page 53: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data + Feedback in SE : example from agile development

What to mine – data from any step (also from

past projects)

What we try to find – Indicators for problems

• Maintenance problems • Wrong Effort estimation • Test effort • UAT outcome • Development problems

– New patterns (relationships:“what”, not “why”)

Page 54: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data + Feedback in SE : example from agile development

What to mine – data from any step (also from

past projects)

What we try to find – Indicators for problems

• Maintenance problems • Wrong Effort estimation • Test effort • UAT outcome • Development problems

– New patterns (relationships:“what”, not “why”)

Page 55: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data + Feedback in SE : example from agile development

What to mine – data from any step (also from

past projects)

What we try to find – Indicators for problems

• Maintenance problems • Wrong Effort estimation • Test effort • UAT outcome • Development problems

– New patterns (relationships:“what”, not “why”)

Page 56: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data + Feedback in SE : example from agile development

Results are continuously visualised to stakeholders

We can check them and collect fast feedback

What to mine – data from any step (also from

past projects)

What we try to find – Indicators for problems

• Maintenance problems • Wrong Effort estimation • Test effort • UAT outcome • Development problems

– New patterns (relationships:“what”, not “why”)

Page 57: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data + Feedback in SE : example from agile development

Results are continuously visualised to stakeholders

We can check them and collect fast feedback

Fast feedback enables:

- iterative local model building

- knowledge earned value as in lean approach

- input for follow up studies

What to mine – data from any step (also from

past projects)

What we try to find – Indicators for problems

• Maintenance problems • Wrong Effort estimation • Test effort • UAT outcome • Development problems

– New patterns (relationships:“what”, not “why”)

Page 58: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data + Feedback in SE : example from agile development

Results are continuously visualised to stakeholders

We can check them and collect fast feedback

Fast feedback enables:

- iterative local model building

- knowledge earned value as in lean approach

- input for follow up studies

What to mine – data from any step (also from

past projects)

What we try to find – Indicators for problems

• Maintenance problems • Wrong Effort estimation • Test effort • UAT outcome • Development problems

– New patterns (relationships:“what”, not “why”)

Page 59: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Big Data + Feedback in SE : example from agile development

Results are continuously visualised to stakeholders

We can check them and collect fast feedback

Fast feedback enables:

- iterative local model building

- knowledge earned value as in lean approach

- input for follow up studies

!Risks minimisation

Focus on value

What to mine – data from any step (also from

past projects)

What we try to find – Indicators for problems

• Maintenance problems • Wrong Effort estimation • Test effort • UAT outcome • Development problems

– New patterns (relationships:“what”, not “why”)

Page 60: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Outline

• What this talk is about: Empirical Software Engineering Research

• Feedback cycles

• Fast Feedback Cycles in Software Engineering Research

Page 61: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Feedback Cycles Empirical Software Engineering Research Fast in

Page 62: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Data sources

Automatic Data Analysis

Facts, hypotheses (Testable knowledge)

Experience  base  (Tested  knowledge)

View, edit

Edit ?

Check

Produce

Stakeholders (implicit/explicit feedback)

Trigger

Tune

Is model for

Process to enable fast feedback cycles

Page 63: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Data sources

Automatic Data Analysis

Facts, hypotheses (Testable knowledge)

Experience  base  (Tested  knowledge)

View, edit

Edit ?

Check

Produce

Stakeholders (implicit/explicit feedback)

Trigger

Tune

Is model for

Process to enable fast feedback cyclesAny data collected from software development, execution, maintenance. Stream and snapshot data Also data from past studies is considered.

Page 64: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Data sources

Automatic Data Analysis

Facts, hypotheses (Testable knowledge)

Experience  base  (Tested  knowledge)

View, edit

Edit ?

Check

Produce

Stakeholders (implicit/explicit feedback)

Trigger

Tune

Is model for

Process to enable fast feedback cycles

Data mining techniques are applied to the data sources and used to reveal, strengthen or deny hypotheses

Page 65: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Data sources

Automatic Data Analysis

Facts, hypotheses (Testable knowledge)

Experience  base  (Tested  knowledge)

View, edit

Edit ?

Check

Produce

Stakeholders (implicit/explicit feedback)

Trigger

Tune

Is model for

Process to enable fast feedback cycles

Fact and hypotheses derived from data analyses

Page 66: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Data sources

Automatic Data Analysis

Facts, hypotheses (Testable knowledge)

Experience  base  (Tested  knowledge)

View, edit

Edit ?

Check

Produce

Stakeholders (implicit/explicit feedback)

Trigger

Tune

Is model for

Process to enable fast feedback cycles

Industry and research collaborators

Page 67: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Data sources

Automatic Data Analysis

Facts, hypotheses (Testable knowledge)

Experience  base  (Tested  knowledge)

View, edit

Edit ?

Check

Produce

Stakeholders (implicit/explicit feedback)

Trigger

Tune

Is model for

Process to enable fast feedback cycles

Collection of tested knowledge, well established theories in the field

Page 68: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Data sources

Automatic Data Analysis

Facts, hypotheses (Testable knowledge)

Experience  base  (Tested  knowledge)

View, edit

Edit ?

Check

Produce

Stakeholders (implicit/explicit feedback)

Trigger

Tune

Is model for

Process to enable fast feedback cycles

Page 69: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Automatic  Data  Analysis  

Facts,  hypotheses  (Testable  knowledge)

Edit  ?

Check

Produce

Stakeholders  (implicit/explicit  feedback)

Tune

Data  sources

Feed

Data  sources

FeedView,  editIs  model  for

Page 70: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Feedback Cycles Empirical Software Engineering Research Fast in

Page 71: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Feedback Cycles Empirical Software Engineering Research Fast in

Research and Engineering challenges

Page 72: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Data sources

Process to enable fast feedback cycles

Any data collected from software development, execution, maintenance. Stream and snapshot data. Also data from past studies is considered.

Integration of different datasets Guarantee high data quality Applicability of temporal abstractions

Objective Challenges

Page 73: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Automatic Data Analysis

Process to enable fast feedback cycles

Data mining techniques are applied to the data sources and used to reveal, strengthen or deny hypotheses

Objective Challenges

Appropriate selection and tuning of techniques (also automatic and iterative) Appropriate response variable selection Incorporation of a priori knowledge and human feedback Exploration should take into account industry needs (usually short terms)

Page 74: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Facts, hypotheses (Testable knowledge)

Process to enable fast feedback cycles

Meaningfulness of generated knowledge Consistency check (formal, semantic) with human expertise and experience base Representation issues ( See experience base)

Objective Challenges

Fact and hypotheses derived from data analyses

Facts not supported by statistical significance are not rejected

Page 75: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Process to enable fast feedback cycles

Representation of the information in a easily query-able, representable and modifiable way. Representation of uncertainty and soft constraints. Protection of sensible data.

Objective Challenges

Collection of tested knowledge, well established theories in the field

Experience  base  (Tested  knowledge)

Page 76: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Process to enable fast feedback cycles

Value the two types of stakeholders Collect and give meaningful fast feedback Create and test pragmatical feedback mechanisms: e.g., shared dashboards, interactive visualisations, …

Objective Challenges

Industry and research collaborators

Page 77: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

!l Books:

• Münch, Jürgen, Schmid, Klaus (Eds.) , Perspectives on the Future of Software Engineering Essays in Honor of Dieter Rombach, 2013, XVI, 366 p.r.

• Mayer-Schonberger, V., Cukier, K. (2013). Big Data: A Revolution That Will Transform How We Live, Work, and Think . Boston: Houghton Mifflin Harcourt. ISBN: 0544002695 9780544002692

• Ries, Eric. 2011. The lean startup: how today's entrepreneurs use continuous innovation to create radically successful businesses. New York: Crown Business.

• Biffl, S., Aurum, A., Boehm, B., Erdogmus, H., Grünbacher, P. (Eds.) , Value-Based Software Engineering, 2006, XXII, 388 p. 69 ILLUS !!l Articles:

• Hassan, A.E.; Hindle, A.; Runeson, P.; Shepperd, M.; Devanbu, P.; Sunghun Kim, Roundtable: What's Next in Software Analytics, Software, IEEE , vol.30, no.4, pp.53,56, July-Aug. 2013

• Forrest Shull: Getting an Intuition for Big Data. IEEE Software 30(4): 3-6 (2013) • J. Münch, F. Fagerholm, P. Johnson, J. Pirttilahti, J. Torkkel, and J. Järvinen, “Creating Minimum Viable Products in Industry-

Academia Collaborations,” in Proceedings of the Lean Enterprise Software and Systems Conference (LESS 2013), Galway, Ireland, 2013.

• Forrest Shull: Research 2.0? IEEE Software 29(6): 4-8 (2012)

• Dag I. K. Sjøberg, Tore Dybå, Bente C. D. Anda, and Jo E. Hannay, Building theories in software engineering. In Forrest Shull, Janice Singer, and Dag I. K. Sjøberg, editors, Guide to Advanced Empirical, Software Engineering, chapter 12, pages 312–336. Springer London, London, 2008.

• Victor R. Basili, Jens Heidrich, Mikael Lindvall, Jürgen Münch, Myrna Regardie, and Adam Trendowicz. ,GQM+ Strategies - Aligning Business Strategies with Software Measurement., ESEM, page 488-490. IEEE Computer Society, (2007) !

l Presentations: Tim Menzies, Forrest Shull , 2011, Empirical Software Engineering 2.0, http://www.slideshare.net/timmenzies/empirical-software-engineering-v20 Thomas Zimmerman, ICSM 2010, Analytics for Software Development , http://www.slideshare.net/tom.zimmermann/analytics-for-software-development Andreas Zeller, MSR 2007, Empirical Software Engineering 2.0: How mining software repositories changes the game for empirical software engineering research, http://msr.uwaterloo.ca/msr2007/Empirical-SE-2.0-Zeller.pdf

Some useful and inspiring references

Page 78: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Acknowledgements

Thanks for feedback, reviews, writing, and even listening to me :), to : !Daniel Méndez Fernández, Manfred Broy, Florian Grigoleit, Henning Femmer, Peter Struss, Jacob Mund, Benedikt Hauptmann, Andreas Vogelsang !!Stefan Wagner !!Forrest Shull !!!Davide Falessi !!Andreas Jedlitschka and Jens Heidrich !!!

Page 79: Fast Feedback Cycles in Empirical Software Engineering Research: research and engineering challenges

Fast Feedback Cycles in Empirical Software Engineering Research

Dr. Antonio Vetro’ Technische Universität München,

!24 February 2014

VU Amsterdam, Software and Services (S2) Research Group

@[email protected]

Research and Engineering challenges

THANKS!