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:
- 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.
João Saraiva: aula teóricas
José Nuno Macedo: aulas laboratoriais
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
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.
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)
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
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
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.
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)
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