experimental software engineering: research...
TRANSCRIPT
Experimental Software Engineering: Research Challenges
Prof. Marcos [email protected]
TOPIC BRAINSTORM
2Marcos Kalinowski Experimental Software Engineering
SWEBOK Knowledge Areas
Marcos Kalinowski Experimental Software Engineering 3
CMMI Process Areas
Marcos Kalinowski Experimental Software Engineering 4
Marcos Kalinowski 5Experimental Software Engineering
Agile Development Practices
– 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
– 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
– 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
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
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
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
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
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
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
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
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
– ...
Experimental Software Engineering: Research Challenges
Prof. Marcos [email protected]