Métodos Formais em Engenharia de Software

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

Tópicos

Avisos

17 Set - Vídeo de apresentação da edição de tinynew.gif 2020/21.

30 Mar - VF: alteração do método de avaliação. tinynew.gif

21 Fev - VF: aula de substituição será, 4ª feira, 26-Fev, às 14:00, na sala 0.04 do DI.

10 Fev - CSI: afixadas as notas finais na página de CSI.

4 Fev - As aulas de AC e VF iniciam-se esta quinta-feira, 6-Fev.

28 Jan - CSI: o exame de recurso terá lugar na sala E2-1.10 às 9h00.

26 Jan - CSI: estão lançadas as classificações após a realização do teste - ver página CSI. Atendimento para mostrar os testes: dia 27-Jan, às 16h.

13 Jan - CSI: a aula de dúvidas amanhã de tarde será às 17h, na sala 0.09, e não às 16h, como por lapso disse a alguns alunos. Pf ver Sumarios.

13 Jan - CSI: matéria para a parte 2 do teste - ver FAQ 9 na página de CSI.

13 Jan - CSI: o teste terá lugar no dia 16-Jan às 14h, na sala E7-0.07.

13 Jan - CSI: haverá uma aula de dúvidas amanhã de tarde, na sala 0.09, pf ver Sumarios.

5 Jan - EM: o prazo para a entrega do TP2 foi adiado uma semana.

2 Jan - CSI: estão lançadas as classificações do mini-teste na página CSI.

3 Dez - CSI: os alunos devem prestar atenção ao material pedagógico que vai aparecendo na página da disciplina.

24 Nov - CSI: os alunos devem prestar atenção às FAQs que vão saindo na página da disciplina.

12 Nov - CSI: mini-teste terá lugar no dia 28-Nov às 14h, na sala E7-0.07. Haverá aula depois até às 17h.

10 Nov - CSI: Caso de estudo da aula de 7-Nov ('campeonato de futebol') adicionado ao material da disciplina.

29 Out - CSI: Formulário actualizado colocado na página respectiva.

2 Out - Atenção à mudança de sala de ATS: passa para CP2.-2.08.

26 Set - Atenção à mudança de sala de CSI: passa da 1.10 para a 0.07 (Edifício 7).

17 Set - Início das aulas: 17-Set (ATS).

-- JoseNunoOliveira - 17 Sep 2019

Análise e Teste de Software

AVISO (31/1): Final do torneio do CodeDefender? Live: foto.

AVISO (27/1): A final do torneio do CodeDefender? é 6a feira, dia 31/1 às 15:00 (no Aquário do piso 2 do DI).

AVISO (23/1): O exame é dia 28/1 às 9am (sala CP1-1.10).

- Nesse dia de tarde (14:00-16:00, sala de reuniões do DI) daremos um tutorial sobre Selenium (teste de applicações web), no contexto do programa doutoral MAPi: os alunos de ATS estão convidados a assistir.

- Ás 16:00 tentaremos fazer a final do torneio CodeDefender? (a confirmar com os finalistas).

- Até ao fim do dia 27/1 os alunos deverão enviar num ficheiro zip com o trabalho (todo o código) + relatório + slides para ats.2019.2020@gmail.com

AVISO (21/1): A apresentação do trabalho e torneio é na sala DI-1.09.

AVISO (17/1): O horário da apresentação dos projetos e do torneio pode ser consultado no link:

Apresentação + Torneio

- Quem não tiver grupo (ver secção Grupos) deve enviar email para os docentes (há dois grupos de reserva).

- Os grupo podem trocar de horário de apresentação/torneio desde que ambos grupos concordem.

- Na apresentação todos os membros do grupo devem estar presentes.

- Os grupos devem entregar o relatório impresso.

AVISO (15/1): As notas do teste estão disponíveis na secção da availação.

O teste pode ser consultado, 2a feira, dia 20/1, às 10am (no gabinete DI:2.09)

O torneio CodeDefender? será realizado em simultâneo com as apresentações do projeto.

AVISO (13/1): A entrega e apresentação do projeto será realizada no 3a feira, dia 21 de Janeiro. A apresentação consiste em duas partes: Na 1a parte os grupos devem preparar uma pequena apresentação (10 minutos) onde devem descrever o que fizeram e os resultados atingidos. A 2a parte consiste numa "tool demo" da aplicação desenvolvida, que deverá também ser preparada com cuidado. No total a apresentação é de 30 mintos.

Em breve será definida o horário de apresentação de cada um dos grupos.

As notas do teste serão aqui disponibilizadas esta 4a feira.

Equipa Docente

João Saraiva: aula teóricas

José Nuno Macedo: aulas laboratoriais

Apontamentos/Slides

Combinadores de Parser: Slides-Parsing.pdf

Sonarqube: Slides-Sonarqube.pdf

Software Metrics: SoftwareMetrcis.pdf

Source Code Smells: CodeSmells.pdf

Program Refactoring: ProgramRefactoring.pdf

Green Software Analysis: GreenSoftware-Analysis.pdf

Green Software Smells: GreenSoftware-Smells.pdf

Software Testing: Testing-Coverage.pdf

Automated Test Generation - QuickCheck? : QuickCheck.pdf

Property-Based Testing - QuickCheck? : PropertyBasedTesting.pdf

Fault-Localization - FaultLocalization.pdf

Sumários

Aula 0 (17/09): Apresentação da disciplina.

Aula 1 (01/10): (T + PL) Combinadores de Parsing. "Embedded Domain Specific Languages". Gramáticas (BNF) como uma EDSL em Haskell: Combinadores de Parsing.

Aula 2 (08/10): (T + PL) Semântica Estática de Linguagens de Programação: Análise de Nomes.

Aula 3 (15/10): (T + PL) Software Metrics e Code Smells. O sistema SonarQube.

Aula 4 (22/10):

T: Software Refactoring: Introdução e Apresentação do catálogo de Java. Software "Technical Debt".

TP: Aplicação de Refactorings disponíveis no IntelliJ? a software Java.

Aula 5 (29/10):

T: Análise de Consumo de Energia: Introdução a Green Software.

TP: Apresentação da framework RAPL para monitorizar o consumo de energia. Resolução de Exercícios.

Aula 6 (05/11):

T: Teste de Sofware: Introdução. Cobertura de Testes.

TP: Apresentação da framework de teste unitário JUnit (e HUnit). Resolução de Exercícios.

Aula 7 (12/11):

T: Geração Automática de Casos de Teste.

TP: Apresentação do sistema QuickCheck? . Resolução de Exercícios.

Aula 8 (19/11):

T: Geração Automática de Casos de Teste: Continuação.

TP: Apresentação do sistema EvoSuite? . Resolução de Exercícios.

Aula 9 (26/11): T: Teste de Propriedades.

TP: Resolução de Exercícios em QuickCheck?

Aula 10 (03/12): T: Análise da Qualidade dos Testes via Mutações.

TP: O sistema de mutação de testes PIT. Resolução de exercícios.

Aula 11 (10/12): T: Localização de Falhas. Correção Automática de Programas TP: Teste de aplicações Web: A framework Selenium. "Gamefication" da tarefa de Teste de Software: Competição entre os grupos de projeto.

Aula 12 (17/12): T + TP: Teste Individual.

Fichas de Exercícios

Ficha 1: Combinadores de Parsing *Parsing.pdf*

Ficha 2: Static Semantics *Semantics.pdf*

Ficha 3: Refactoring Refactoring.pdf

Ficha 4: Unit Testing & Cobertura *Testing.Cobertura.pdf*

Ficha 5: Geração de Casos de Teste em QuickCheck? Geração de Valores.pdf

Ficha 6: Geração de Testes Unitários em EvoSuite? EvoSuite.pdf

Ficha 7: Teste de Propriedades em QuickCheck? property_testing.pdf

Ficha 8: Mutação de Testes Mutation-Testing.pdf

Entrega da Geração Automática de Logs: A solução da geração automática de inputs para a aplicação UmCarroJa? ! deve ser entregue enviando a solução para o seguinte email: ats.2019.2020@gmail.com O email deve ter o título: Entrega - Logs da UmCarroJa? ! e incluir o nome dos elementos do grupo. Em anexo deve ser incluído um ficheiro zip com todo o código da solução. Deve ainda ser incluído um ficheiro readme.txt onde se descreve como executar o software.

Data Limite: 04 de Dezembro (PT time)

Software

1- Combinadores de Parsing: Biblioteca desenvolvida na aula: *Parser.hs*

Exemplo desenvolvido na aula: Lang.hs

2-Projeto UMCarroJa? (desenvolvido pelos alunos na dsciplina de POO): enunciado.pdf

Soluções dos alunos: p1.zip e p2.zip

3-Projetos Java: Poligono (Poligono.zip) e Contactos (Contactos.zip)

4-Monitorização do Consumo de Energia: Rapl.tar.gz

Projeto em Grupo

O enúnciado do projeto a desenvolver em grupo está disponível aqui (versão atualizada em 19/11)

Ficheiro de Log para execução em batch: logsPOO_carregamentoInicial.bak

Regime de Avaliação

A avaliação consiste em três componentes: prova individual (PI) (teste ou exame escritos), Projeto em Grupo (PG) (a resolver durante o semestre) e Avaliação Contínua (AC) (com base em problemas propostos nas aulas TP). As provas escritas são de consulta de material impresso, apenas.

A Nota final é calcula de acordo com a seguinte fórmula: 40% PI + 40% PG + 20% AC, com nota mínima de 8 valores em todas as componentes de avaliação.

O teste individual é de consulta: os alunos podem consultar todo o material (não eletrónico) que tiverem consigo.

Datas da Avaliação

Prova Individual:: 17/12/2019 (última aula de 2019)

Exame:: 28/01/2020 (a confirmar)

Entrega do Projeto em Grupo: 14/01/2020 (a confirmar)

Grupos

Grupo Nome Número
1 Bruno Martins A80410
  Eduardo Barbosa A83344
  Filipe Monteiro A80229
  Miguel Brandão A82349
  Márcio Sousa A82400
2 Luís Braga a82088
  João Nunes a82300
  Bárbara Cardoso a80453
3 Nelson Teixeira PG41091
  José Boticas PG41081
  Pedro Moura PG41094
  Moisés Ramires A80499
4 Carlos Barbosa a82324
  Jaime Leite a80757
  José Carvalho a80424
  Pedro Gonçalves a82313
  Ricardo Martins a78914
5 José Duarte Santos Freitas A63129
  Bruno Manuel Borlido Arieira A70565
  Alexandre Nunes da Costa Morango Teixeira A73547
  João Miguel Freitas Palmeira A73864
6 Henrique José Carvalho Faria a82200
  Bruna Vieira Cruz pg41905
7 Mariana de Oliveira Pereira a81146
  Carla Isabel Novais da Cruz a80564
  Ana Filipa Vilela Pereira a81712
8 José Luís Costa A82136
  Joel Gama A82202
  Tiago Pinheiro A82491
  Maria Inês Pinto PG39292
9 Ricardo Milhazes Veloso A81919
  Tiago Dias de Sousa A81922
  César Augusto da Costa Borges A81644
10 Tiago Pereira a61032
  Bruno Silva a71385
  Gonçalo Nogueira Costeira a79799
11 Francisco Saraiva PG39287
  Paulo Gameiro A72067
  Pedro Lima A80328
  Sofia Teixeira A80624
12 Rita Pereira PG41098
  Miguel Solans PG41841
  Diogo Duarte PG41843
  André Coutinho PG39284
13 Diogo Silva A79021
  João Sousa A77768

-- Main.Joao Saraiva - 17 Sep 2019

r43 - 17 Sep 2020 - 10:21:49 - JoaoSaraiva
This site is powered by the TWiki collaboration platform Copyright © by the contributing authors. Ideas, requests, problems? Send feedback.
Syndicate this site RSSATOM