Métodos Formais em Engenharia de Software

Mestrado Integrado em Engenharia Informática - MFES 2018/2019

Tópicos

Avisos

16 Jan - CSI: tinynew.gif o teste de CSI de amanhã decorrerá na sala 0.05 do DI.

15 Jan - EM: as notas do segundo teste foram lançadas no blackboard da disciplina. tinynew.gif

11 Jan - CSI: as notas do mini-teste foram lançadas na página de CSI.

9 Jan - EM: o teste de EM decorrerá na sala 0.05 do DI.

30 Dec - EM: as notas do TP1 e do primeiro mini-teste foram lançadas no blackboard da disciplina.

21 Dec - EM: foi lançado o enunciado do TP2 sobre Alloy na página EM. A data limite da entrega é 20-Jan.

13 Dez - O segundo teste de EM decorrerá no dia 10-Jan às 9h00 (sala a indicar). O segundo teste de CSI decorrerá no dia 17-Jan (sala e hora a confirmar).

8 Dez - Lista recente e actualizada de empresas que usam métodos formais na indústria.

28 Nov - CSI: haverá hoje uma aula de dúvidas às 16h00, na sala 1.16.

24 Nov - CSI: já está disponível o formulário na página de CSI, bem como algumas FAQs.

24 Nov - CSI: o mini-teste decorrerá às 14h00 de 29-Nov, na sala das aulas. Os alunos podem consultar (apenas) informação escrita ou impressa.

14 Nov - EM: o primeiro teste decorrerá às 9h00 na sala das aulas. Podem usar os portáteis para testar execuções no NuSMV.

8 Nov - CSI: em casa, completar os invariantes I3 e I4 do modelo Alloy do problema Plano de Estudos do MEI saído da aula de hoje material pedagógico na página CSI.

5 Nov - CSI: há novo material pedagógico na página CSI.

25 Out - EM: foi lançado o enunciado do TP1 sobre NuSMV na página EM. A data limite da entrega é 11-Nov.

21 Out - CSI: ver exemplos Alloy das aulas na página CSI.

02 Out - CSI: preparação para as aulas: ver tinynew.gif sumários previstos e seguir as respectivas indicações nos apontamentos fornecidos na bibliografia. (Em CSI segue-se o método 'Flipped Classroom')

15 Set - Início das aulas: 20-Set, 9h00, sala E7 1.10.

Education » MFES » WebHome » ATS

Análise e Teste de Software

tinynew.gif

Importante: No programa que usa o RAPL que fornecemos, os valores de runtime que ficam na coluna "Time (sec)" do ficheiro .J estão em microseconds. Para obterem miliseconds devem dividir esse valor por 1000.

tinynew.gif Importante: Os slides sobre Green Software Analysis foram atualizados e estão disponíveis em baixo.

tinynew.gif Exame 2018 (exemplo)

1- Docentes

João Saraiva (homepage)

    Aula Teórica: 3a feira, 14:00-15:00 (sala DI 1.10)

Jorge Mendes (homepage)

    Aula Prática: 3a feira, 15:00-17:00 (sala DI 1.10)

2- Programa

  • Teste de Software

    • teste "white-box" versus "black box"
    • teste unitário, regressão, integração, sistema
    • Teste Automático
      • Geração de casos de teste
      • Teste de propriededas
    • Qualidade dos Testes
      • Análise de cobertura (de código)
        • Critério de cobertura (instruções, blocos, caminhos e condições)
      • Mutação de testes
    • Teste baseado em modelos
      • Algoritmos para Apredizagem do Modelo (black box)
    • Teste em aplicações móveis (android) e web
    • Teste e Localização de Falhas em Software
  • Análise de Software

    • Análise de Fluxo (Controlo/Dados) de Programas
    • Complexidade Ciclomática
    • Métricas de Software
    • Maus Cheiros
    • Refabricação de Software
    • Análise de consumo de Energia: Técnicas e Ferramentas

3- Material

3.1- Slides:

SoftwareTesting.pdf

Geração de Casos de Teste e Teste de Propriedades -->*Slides atualizados*

Fault Localization

Green Software (UPDATED)

Software Metrics

Code Smells

Energy (Red) Smells

tinynew.gif ProgramRefactoring

3.2- Projecto em Grupo:

O enunciado do projecto de ATS está disponível em: Projecto-Fase1.pdf

Projeto (sw) UMer.zip

Ficheiro de input adicional: log2.txt

Apesar de não gostarmos de adiar datas de entregas, caso na aula de dia 9 de Outubro a grande maioria dos grupos precisar de mais uns dias para concluir o trabalho nós seremos flexiveis.

Para terem acesso ao repositório SVN onde deverão desenvolver o vosso projeto, por favor enviem email com a composição do grupo ao Prof. Jorge Mendes.

Projeto: 2ª Fase: 2ª Fase do Projeto

Template QuickCheck (Haskell) para gerar o ficheiro de logs: ats1819-log-generator.zip

Avaliação da 1ª Fase:: avaliação

tinynew.gif

Avaliação da 2ª Fase::

grupo avaliação estimada* (0–20)
g001 14.0
g002 13.5
g003 13.0
g004 17.0
g005 17.5
g006 16.5
g007 15.5
g008 13.5
g009 15.0
g010 15.0
g011 não entregou
g012 9.0
* dependente da defesa final

tinynew.gif

Enunciado da 3ª Fase:: 3ª Fase do Projeto

tinynew.gif

*A data de entrega do projeto é dia 2/1/2019*

4- Fichas Laboratoriais

Ficha 1: Ficha sobre ANTLR

Ficha 2: Ficha sobre Testes Unitários (software: Poligono.zip)

Ficha 3: Ficha sobre Cobertura e Mutações de Testes

Ficha 4: Ficha sobre Teste de Propriedades

Ficha 5: Geração Aleatória de Casos de Teste

Ficha 6: Métricas de Software

tinynew.gif

Ficha 7: Refactoring de Programas (software: Contactos.zip)

5- Software

Sistema ANTLR: homepage

Sistema RAPL: RAPL.tar.gz

6- Avaliação

A avaliação dos alunos é feita tendo em conta três componentes:

  • Nota do Teste individual (NT)
  • Nota do Projecto em grupo (NP)
  • Avaliação Contínua (AC)

de acordo com a fórmula:

nota final = 0.45 * NT + 0.45 * NP + 0.1 * AC

Nas componentes NT e NP é obrigatório o aluno ter uma nota mínima de 8 valores.

7- Sumários

Aula 1: 18/09/2018

Sumário (Aula Teórica): Apresentação da disciplina: Objectivos, Programa, Metodologia de Ensino e Avaliação. Apresentação do Projecto Prático.

Sumário (Aula Prática): Apresentação do Software a usar no projecto prático. Breve apresentação do sistema ANTLR.

Aula 2: 25/09/2018

Sumário (Aula Teórica): Gramáticas Independentes do Contexto e Análise Sintática de Programas. Breve descrição das técnicas de Parsing Top-Down e Bottom Up.

Sumário (Aula Prática): O Sistema ANTLR: Resolução de exercícios. Apresentação do plugin do ANTLR para o IDE IntelliJ.

Aula 3: 02/10/2018

Sumário (Aula Teórica, Prática): Continuação da realização da 1ª tarefa do projeto prático.

Aula 4: 09/10/2018

Sumário (Aula Teórica): Adequação dos Testes. Critérios de cobertura de instruções, blocos, caminhos e condições. Mutação de Software e Teste.

Sumário (Aula Prática): Análise de cobertura de testes unitátios em IntelliJ. O Sistema Cobertura. O Sistema PIT para mutação de software e execução de testes.

Aula 5: 16/10/2018

Aula 6: 23/10/2018

Sumário (Aula Teórica, Prática): Geração Automática de Casos de Teste: Introdução ao sistema EvoSuite e resolução de exercícios.

Aula 7: 30/10/2018

Sumário (Aula Teórica): Teste de Propriedades. Introdução ao sistema QuickCheck.

Sumário (Aula Prática): Resolução de exercícios em QuickCheck e jUnit-QuickCheck.

Aula 8: 06/11/2018

Sumário (Aula Teórica): Geração Automática de Casos de Teste. Geração de listas e árvores em QuickCheck.

Sumário (Aula Prática): Continuação da Resolução de exercícios em QuickCheck e jUnit-QuickCheck.

Aula 9: 13/11/2018

Sumário (Aula Teórica): Localização de Falhas no Código Fonte. Introdução ao Spectrum-based Fault Localization.

Sumário (Aula Prática): Aula de acompanhamento da realização da 2a tarefa do projeto em grupo.

Aula 10: 20/11/2018

Sumário (Aula Teórica): Aula sobre Análise de Performance: Runtime, Energy and memory consumption.

Sumário (Aula Prártica): O Sistema RAPL para estimar o consumo de energia.

Aula 11: 27/11/2018

Métricas de Software,

Aula 12: 04/12/2018

Bad Smells

Aula 13: 11/12/2018

Refactoring.

Aula 14: 08/01/2019

Apresentação dos projetos em grupo: grupos 2, 3, 4, 5, 8 e 10.

Aula 15: 15/01/2019

Aula prevista: Apresentação dos projetos em grupo.

Aula 16: 22/01/2019

_tinynew.gif Teste Individual

Aula Extra: 24/01/2019 (14:00-16:00)

Visita à Primavera Sw.

Aula 17: 29/01/2019

tinynew.gif Exame

8- Bibliografia

  • Introduction to Software Testing

    J. Offutt and P. Amman

    Cambridge University Press, 2008

9- Alunos

Nome Nr
Alexandre Miguel Costa Dias A78425
Alia Nabil Mahmoud E9658
António Jorge Monteiro Chaves A75870
Armando João Isaias Ferreira dos Santos A77628
Axel da Silva Ferreira A53064
Bruno Renato Fernandes Carvalho A67847
Carla Andreia Malheiro Alves E3359
Daniel Camelo Rodrigues A75655
David Daniel Pinto Coelho Kramer A77849
Diana Cristina Abreu Lopes E10852
Diogo Filipe Lopes Soares A74478
Emanuel Coelho E9701
Flávio Joel Martins Peixoto PG38414
Francisco Jose Moreira Oliveira A78416
Fábio Rafael Pereira Araújo A78508
Hugo Miguel Matalonga PG37152
Joana Fernandes Cunha E9321
José Miguel Silva Dias A78494
João Luís Alves Barreiros Martins A68646
João Manuel da Silva Gomes Fernandes E9673
Ludgero da Silva Diogo PG38417
Luis Miguel Pinheiro Guimarães A77004
Manuel Gouveia Carneiro de Sousa A78869
Paula Sofia da Cunha Pereira A77672
Pedro Miguel Marques Freitas E9123
Samuel José Dias Martins PG37163
Sandra Teixeira Marques de Sousa E9632
Telmo André Moreira Cardoso PG38427
Tiago Daniel Amorim Alves A78218
Vera Lúcia Vilela Trindade Silva E9640

r34 - 16 Jan 2019 - 12:16:33 - JoaoSaraiva
This site is powered by the TWiki collaboration platform Copyright © by the contributing authors. Ideas, requests, problems? Send feedback.
Syndicate this site RSSATOM