Experimental Software Engineering: Research...

17
Experimental Software Engineering: Research Challenges Prof. Marcos Kalinowski [email protected]

Transcript of Experimental Software Engineering: Research...

Page 1: Experimental Software Engineering: Research Challengeskalinowski/INF2921/ESE_ResearchChallenges.… · –Software requirements validation, non-functional requirement validation –What

Experimental Software Engineering: Research Challenges

Prof. Marcos [email protected]

Page 2: Experimental Software Engineering: Research Challengeskalinowski/INF2921/ESE_ResearchChallenges.… · –Software requirements validation, non-functional requirement validation –What

TOPIC BRAINSTORM

2Marcos Kalinowski Experimental Software Engineering

Page 3: Experimental Software Engineering: Research Challengeskalinowski/INF2921/ESE_ResearchChallenges.… · –Software requirements validation, non-functional requirement validation –What

SWEBOK Knowledge Areas

Marcos Kalinowski Experimental Software Engineering 3

Page 4: Experimental Software Engineering: Research Challengeskalinowski/INF2921/ESE_ResearchChallenges.… · –Software requirements validation, non-functional requirement validation –What

CMMI Process Areas

Marcos Kalinowski Experimental Software Engineering 4

Page 5: Experimental Software Engineering: Research Challengeskalinowski/INF2921/ESE_ResearchChallenges.… · –Software requirements validation, non-functional requirement validation –What

Marcos Kalinowski 5Experimental Software Engineering

Agile Development Practices

Page 6: Experimental Software Engineering: Research Challengeskalinowski/INF2921/ESE_ResearchChallenges.… · –Software requirements validation, non-functional requirement validation –What

– How to get theories from empirical studies results?

– How to synthesize empirical studies both depending on research method (quantitative and qualitative) and type of study (case studies, experiments)?

– How to get industry participate in ESE in general?

– How to deal with data problems such as outliers, scarcity, unreliability?

– How to share empirical studies info (data, results, etc) for replication, aggregation, etc.?

– How to use empirical methods to support technology transfer?

– How to generalize from qualitative studies?

– What are efficient and effective methods to implement replication?

– What is considered relevant SE research? See options to trick the rigor-relevance model by Ivarsson, Gorschek; it’s only an example -> can we improve such models? do we need more?)

Marcos Kalinowski 6Experimental Software Engineering

Big/Important Unsolved Problems

Page 7: Experimental Software Engineering: Research Challengeskalinowski/INF2921/ESE_ResearchChallenges.… · –Software requirements validation, non-functional requirement validation –What

– Continuous cost estimation - given an amount of code/effort/schedule expended, how much code/effort/schedule remains?

– What do low-level implementation metrics say about high-level project attributes? E.g. What does defect density say about maintainability.

– Software requirements validation, non-functional requirement validation

– What is the proveable relationship between quality and complexity metrics and quality attributes? E.g. Chidamber-Kemerer and fault-proneness.

– What is the practical use of formal methods?

– Systematic (and safe) removal of unused/unneeded/obsolete/etc features from a software system.

– ...

Marcos Kalinowski 7Experimental Software Engineering

Big/Important Unsolved Problems

Page 8: Experimental Software Engineering: Research Challengeskalinowski/INF2921/ESE_ResearchChallenges.… · –Software requirements validation, non-functional requirement validation –What

– Do people really understand what (technology, concepts, methods, etc.) they use?

– Efficient use of conceptual models in a sound software process. Which models? Which model transformations?

– Reliable methods for validating software requirements especially non-functional requirement validation

– How to assure the quality of very large models based on very large referencedocuments?

– How to engineer (non-directed) system of systems?

– How to engineer IOT-based systems?

– ...

– Coming up with the Silver-Bullet that actually works ;-)

• Actually, we should try to figure out, what we actually know, i.e., what is it that we can already count on or what is our “baseline”

Marcos Kalinowski 8Experimental Software Engineering

Big/Important Unsolved Problems

Page 9: Experimental Software Engineering: Research Challengeskalinowski/INF2921/ESE_ResearchChallenges.… · –Software requirements validation, non-functional requirement validation –What

TOP SE Journals and Conferences

• ICSE, FSE, ASE, ESEM, ...

• IEEE Software, IEEE Transactions on Software Engineering, Journal of Systems and Software, ...

Marcos Kalinowski Experimental Software Engineering 9

Page 10: Experimental Software Engineering: Research Challengeskalinowski/INF2921/ESE_ResearchChallenges.… · –Software requirements validation, non-functional requirement validation –What

Tópicos de Pesquisa

• Qualidade de Software– Detecção de Defeitos

– Prevenção de Defeitos

– Processos de Software

– Qualidade com Crowdsourcing

– Qualidade de Aplicações Descentralizadas

– Qualidade de Aplicações Baseadas em Inteligência Artificial

– Qualidade para Arquiteturas Escaláveis (Microserviços e Function as a Service)

– Qualidade para IoT

– Qualidade para Cidades Inteligentes

Marcos Kalinowski Experimental Software Engineering 10

Page 11: Experimental Software Engineering: Research Challengeskalinowski/INF2921/ESE_ResearchChallenges.… · –Software requirements validation, non-functional requirement validation –What

Tópicos de Pesquisa

• Engenharia de Software Experimental

– Apoio para Estudos Primários

– Apoio para Estudos Secundários

– Recuperação de Teorias em Engenharia de Software

Marcos Kalinowski Experimental Software Engineering 11

Page 12: Experimental Software Engineering: Research Challengeskalinowski/INF2921/ESE_ResearchChallenges.… · –Software requirements validation, non-functional requirement validation –What

Amadeu Anderlin Neto (D.Sc.)

Tema: Conceptualization of Experiment Lines in Software Engineering

Diogo Mendonça (D.Sc.)

Tema: A Method to Prevent Unhandled Latent Exceptions

Guilherme Goehringer (D.Sc.)

Tema: Testing of DNN-based Applications

Topics under Investigation

Marcos Kalinowski Experimental Software Engineering

Page 13: Experimental Software Engineering: Research Challengeskalinowski/INF2921/ESE_ResearchChallenges.… · –Software requirements validation, non-functional requirement validation –What

Alan Andrade (M.Sc.)

Tema: Causal analysis and experimentation based software process

improvement

Hugo Villamizar (M.Sc.)

Tema: Verification of Security Related Aspects in Agile Requirements

Engineering

João Gabriel Thibaut Jardim (M.Sc.)

Tema: Blockchain Software Engineering: A Code Inspection Technique for

Verifying Smart Contracts

Marcos Kalinowski Experimental Software Engineering

Topics under Investigation

Page 14: Experimental Software Engineering: Research Challengeskalinowski/INF2921/ESE_ResearchChallenges.… · –Software requirements validation, non-functional requirement validation –What

14Seminário - DI/PUC-RioMarço de 2019

Rodrigo Laigner (M.Sc.)

Tema: Dependency Injection: Bad Practices and Preliminary Patterns

Maria Carolina MarinhoTema: A Computational Framework for Representing Software Engineering Theories

Topics under Investigation

Page 15: Experimental Software Engineering: Research Challengeskalinowski/INF2921/ESE_ResearchChallenges.… · –Software requirements validation, non-functional requirement validation –What

Topics under Investigation

Marcos Kalinowski Experimental Software Engineering 15

– In collaboration with TUW (Vienna)

• Model quality assurance (inspection)

• Continuous experimentation (case study(ies))

• Theory recovery from empirical study results (also with U Twente)

– In collaboration with TUM (Munich) and Uni Stuttgart

• Evidence-based (requirements) risk management

• Evidence-based compilation of requirements best practices

• See: www.re-survey.org

Page 16: Experimental Software Engineering: Research Challengeskalinowski/INF2921/ESE_ResearchChallenges.… · –Software requirements validation, non-functional requirement validation –What

Topics under Investigation

Marcos Kalinowski Experimental Software Engineering 16

– In collaboration with TU Clausthal and U Helsinki• Combination of agile and traditional development

approaches and their consequences (qualitative analysis onHELENA data)

– In collaboration with BTH (Sweden)• Systematic review update (decision) support

– In collaboration with COPPE/UFRJ and UFAM• Guidelines for combining V&V methods

– ...

Page 17: Experimental Software Engineering: Research Challengeskalinowski/INF2921/ESE_ResearchChallenges.… · –Software requirements validation, non-functional requirement validation –What

Experimental Software Engineering: Research Challenges

Prof. Marcos [email protected]