• Nenhum resultado encontrado

Introduction to Experimental Software Engineering

N/A
N/A
Protected

Academic year: 2021

Share "Introduction to Experimental Software Engineering"

Copied!
28
0
0

Texto

(1)
(2)

Website do curso

• Com todos slides e informações:

– http://www.inf.puc-rio.br/~inf2921/2014_2/

– Já está disponível a partir desta semana:

(3)

Agile

Software Engineering

Plethora of Software Engineering Paradigms

• syndrome of *-based software engineering approaches

– underpinning principles • simple design

• low coupling and high cohesion • separation of concerns

• narrow interfaces • ….

– abstractions and decomposition mechanisms • classes, objects, inheritance, delegation, … – new methods, techniques, mechanisms

(4)

Experimental Software Engineering:

Why and What

• Why?

– empirical studies in software engineering (SE) supports

• the advancement of the field through experimental processes

– common wisdom, intuition, speculation and proofs of concepts are not reliable sources of credible knowledge

• transfer of research results to mainstream software development requires empirical evidence

• What?

– experimental software engineering describes the methods and techniques for performing empirical studies

(5)

Motivation for SE empirical studies…

Example – typical scenario in SE research

• motivation – experts of AOP (Kiczales, Lopes, 1997-2000) argue that:

– exception handling implementation is more maintainable and reusable with AOP than OOP

• superior separation of error handling code

• reuse of 80% of exception handlers (i.e. catch blocks in Java)

• empirical study conducted at Lancaster (2005-2007)

– comparison of object-oriented programming (OOP) vs. aspect-oriented programming (AOP)

• our empirical study: compared actual Java vs. AspectJ implementations of exception handling

– 4 real-life software applications

(6)

• Partially confirmed some expectations

– Improved separation of error handling code

• Partially refuted the hypothesis of the experts

– Reuse of exception handlers occurs, but much less than advertised by the AOP proponents: from 20% to 40%

– Reuse of context-dependent exception handlers is very difficult

– Some AspectJ constructs are error prone: soften checked exceptions (transforming them in unchecked exceptions)

• Results added value to the current SE body of knowledge • Problems in the first evaluation: “toy example”, “show what

the researchers wanted…”

– A non-empirical study: performed by AspectJ developers to illustrate the benefits of this technique, without exposing it to its fragilities

– Biases: one case only, a generic framework, etc…

Motivation for SE empirical studies…

(7)

The Course…

• Brief overview

– Empirical Software Engineering: Why and What

– Types of Empirical Methods

• using concrete examples

(8)

Objetivos do Curso

• Discutir diferentes métodos empíricos que

permitam avaliar as técnicas e métodos

(9)

Tópicos Explorados

• visão geral de métodos empíricos

• objetivos, perguntas de pesquisa e hipóteses • estudos exploratórios

• experimentos (semi-)controlados • estudos de caso

• surveys: questionários e entrevistas • métricas e benchmarks

(10)

Formato do Curso

• Dinâmico e heterogêneo:

– aulas

– discussões de artigos

– apresentações ou seminários de convidados...

• ...da PUC: exemplos de estudos experimentais • ...de fora da PUC: tutoriais ou palestras (TBA)

– apresentações e discussões

• feedback para trabalho da disciplina

(11)

Contactando o Professor…

Prof. Alessandro Garcia

email: [email protected] RDC - Room: 506

Pesquisadores Convidados (TBC)

- pesquisadores que atuam exclusivamente

(12)

Invited Lectures (PUC)

• Manuele Ferreira, Minds@Work Engineer

– Action research in practice

– Applying action research in a SE company: lessons learned

• Isela Macia, GE Researcher

– Degradation of software architecture in programs – Exploratory case studies

• Luciano Sampaio, Master student

– Are novice and experience programmers able to detect security vulnerabilities?

(13)

Invited Lectures (PUC)

• Elder Cirilo, Professor at Minas Gerais

– Variability management techniques for product lines – Controlled experiment, and techniques for dealing

with small samples

• Eiji Adachi Barbosa, Researcher and PhD

Student

– How do programmers handle exceptions? – Case studies in Java and C#

• ACM Distinguished Paper Award at ICSE 2014

(14)

Sobre vocês...

• Mestrado? Doutorado?

• Qual o interesse na disciplina...

... e alguma experiência prévia com:

(15)

Organizando a Agenda

• Próximas aulas:

27 de Agosto (quarta) :

• Métodos experimentais: uma visão geral – parte I • Experimentos e Estudos de caso

3 de Setembro (quarta)

• Convidados (ilustar experimentos e estudos de caso)

10 de Setembro (quarta)

• Métodos experimentais: uma visão geral – parte II

• Surveys: entrevistas e questionários, Revisões sistemáticas • Hipóteses

17 de Setembro (quarta)

(16)

Trabalho da Disciplina

• Apresentação em etapas:

– Idéia do estudo ao longo do semestre

• técnica(s) sendo estudada(s) e avaliada(s) • objetivos do estudo e plano experimental

• pode ser: experimento, estudo de caso, estudo exploratório, revisão sistemática, survey, etc…

– Discussão informal de resultados preliminares

– Apresentação dos resultados

(17)

Possíveis tópicos de trabalhos

• Um estudo empírico para avaliação da acurácia de métricas e heurísticas para identicar oportunidades de refatoração

• Um experimento controlado para avaliação da usabilidade

(expressividade, concisão...) de uma linguagem específica de domínio (ex. para especificação de regras arquiteturais)

• Revisão sistemática de estudos empíricos do uso da técnica X para manutenção e evolução de linhas de produtos

• Avaliação de manutenibilidade de código produzido com programação orientada a aspectos (vs. POO)

• etc...

Lembre-se: o trabalho deve ser feito incrementalmente,

(18)

Exemplos de Trabalhos ano

passado…

• Experimento: comparando técnicas de conhecimento de configuração de LPSs

– foco: compreensão e modificação do conhecimento de configuração

• Estudo exploratório da degenaração do código de uma LPS • Avaliação de notações de modelagem de teste para

expressar variabilidade de casos de teste:

(19)

Vários resultaram em

publicações interessantes…

• Experimento: comparando técnicas de conhecimento de configuração de LPSs

– Artigo submetido ao SLE 2011

• Uso de técnicas avançadas de programação modular para implementação de uma LPS

– Artigo aceito no SBES 2011

• Avaliação de técnicas de composição de modelos para evoluir arquitetura de uma LPS

– Artigo aceito no AOSD 2010

• Avaliação de notações de modelagem de teste para expressar variabilidade de casos de teste

(20)

Apresentação do Plano Experimental

• Me enviem um e-mail até

17 de setembro,

informando:

– individual ou em dupla

– se já tem um tema ou não para o estudo experimental

• título inicial

• qual o objetivo? • hipóteses?

• você pode se juntar à um colega que já tem uma boa idéia:

– da aplicação à ser utilizada, e/ou – dos objetivos do estudo

– fiquem à vontade para discutir idéias comigo – Apresentação inicial: aprox. 25 mins + 5 mins

(21)

Apresentação do Plano

Experimental

• Estrutura da apresentação

– motivação

– breve explicação sobre conceitos básicos associados ao tema do trabalho

– objetivos e questões de pesquisa – hipóteses iniciais?

– método experimental à ser usado – avaliação qualitativa/quantitativa

• quais indicadores? Métricas?

(22)

Apresentações

• Apresentação do Tema do Trabalho

– 17 de setembro e 24 de setembro – Apresentação: 25 mins + 10 mins

perguntas/sugestões

• Resultados dos Estudos Empíricos

– Datas:

26 de novembro3 de dezembro

– Apresentação: 40 mins + 10 mins perguntas

• Se o estudo empírico for em grupo, espera-se

que todos os membros contribuam ao longo das

apresentações

(23)

“Mesas Redondas”

• Artigos

– Ainda indefinidos...

• ... Mas devem ser relacionados com temas de trabalhos de vocês

(24)

Avaliação

• Monografia: 45%

• Apresentação do Tema: 15%

• Apresentações dos Resultados: 30%

• Participação: 10%

– presença nas aulas

– participação ativa (perguntas) durante o

colóquio e apresentações de colegas

(25)

Monografia

• Formato e Datas

– Formato Livre (sugestão – monografia DI)

– Tamanho: Mínimo: 15 páginas,

Máximo: 25 páginas

– Fonte: Times 12 (ou equivalente)

– Entrega:

até 10 de dezembro

• envie pdf para [email protected]; e • cópia impressa

(26)

Monografia e Apresentação

Critério:

– Clareza e Objetividade

– Originalidade

– Reflexão crítica

– Se houver avaliação/comparação, espera-se que

o critério esteja bem definido

– Profundidade nas discussões

– Uso de exemplos

(27)

Atendimento

• Todos sempre muito bem-vindos para

discutir proposta e refinamento do

trabalho, apresentação e outras questões

• Via email:

[email protected]

(28)

Referências

Documentos relacionados

A caracterização dos diferentes tipos celulares no ovário quanto a replicação de DNA, evidenciaram uma intensa atividade proliferativa das células foliculares para envolver

Reporting child abuse cases by dentists working in the United Arab Emirates (UAE). Journal Of Forensic and Legal Medicine, v. AMERICAN ACADEMY OF PEDIATRIC

Por meio das análises de HPLC apresentadas no item 5.6.2, podemos observar que os dispositivos obtidos por método direto não apresentaram capacidade de liberar o

Os objetivos deste trabalho foram avaliar nos cultivares de cevada nua e cervejeira: o conteúdo de fibra alimentar total (FAT), solúvel (FAS) e insolúvel (FAI), β - glucanas,

Foram abordados o cultivo e o processamento dos grãos de café, os microrganismos a eles associados nas fases de pré e pós-colheita, bem como a contaminação por fungos, especificamente

O presente trabalho teve como objetivo principal avaliar e caracterizar física e mecanicamente a madeira de Eucalyptus grandis submetida ao processo de

• Trazendo a recursividade para o nosso cotidiano um ótimo exemplo está na ação de contar um saco de moedas, onde a cada ato de retirar uma moeda do saco precisa-se “contar

“As cotas prejudicam a qualidade da educação” é uma frase comum que tenho ouvido 1 nos corredores da escola onde trabalho, o Instituto Federal de