---
# System prepended metadata

title: Thesis Template Repository

---

# Thesis Template Repository

## Repository Name

`year_firstlastname`

## Repository Structure (if applicable)
- /src
- /docs
    - /paper
    - /slr/papers
    - /slr/data
    - /presentations/pdis (pdf)
    - /presentations/final (pdf)
    - /reports/pdis (latex + pdf)
    - /reports/thesis (latex + pdf)
- /experiments
    - experiment-n/rawdata
    - experiment-n/processeddata
    - experiment-n/forms 
    - experiment-n/notebooks
- `docker-compose.yml`
- `README.md`
    - Link para Overleaf para PDIS
    - Link para Overleaf para Tese Final
    - Instrucões para execução


## Plan for PDIS

### For All

* Mind Map
* Padrões para masters: https://dl.acm.org/doi/10.1145/3361149.3361184
* SLR: ...
* Datas: ... <- 

### APR (Automated Programming)

* [Pedro Silva] Automated Generic Optimization using Mutation Operators
    * Optimizar métricas: (a) performance, (b) porque não outras?, (d) porque não genérico?
    * Estado da arte do ponto de vista de optimização (outras métricas podem ser mais low-hanging fruit)
    * Teses anteriores: 
        * Tiago Carvalho
        * Diogo Campos + Paper APR
        * Filipe Ribeiro (JScrambler)
* [Amadeu] Empirical Study on Live Automatic Program Repair
    * Falta o foco:
        * False Positive elimination in Mutation testing, etc.
        * Program slicing + Test Localization para operar no que é necessário 
        * ...
    * Olhar para o código do Afonso
    * Teses anteriores: Diogo Campos + Paper APR
* [João Barbosa] Integrating Automated Program Repair with SDLC 
    * Angelix (ou outros) + Dependabot
    * Teses anteriores: Diogo Campos + Paper APR
    * Validação: Projectos open-source onde se faz passar por humano e contribui com fixes.

### Cloud e DevOps

* [Rui Alves] Le**veraging Serverless Computing via Automated Partitioning and Orchestration **
    * Divergências:
        * O que é Edge? Para este caso, é *serverless*.
    * Criar anotações para partes que são "móveis".
    * Validação define cenários que são validados por experiências para garantir que 1) funcionam; 2) como se comportam. 
    * Tiago Matias et al., [Determining Microservice Boundaries: A Case Study Using Static and Dynamic Software Analysis](https://link.springer.com/chapter/10.1007/978-3-030-58923-3_21), 2020.
    * Duarte Pinto et al., [Dynamic Allocation of Serverless Functions in IoT Environments](https://doi.org/10.1109/EUC.2018.00008), 2018.
    * Margarida Silva et al., [Visually-defined Real-Time Orchestration of IoT Systems](http://to-be-presented-depois-mando-o-pdf.com), 2020.
    
* [Henrique Lima, AWS] Change Interpretation Techniques for Safe, User-Friendly Continuous Deployment in IaC
    * 0. Partimos de uma receita (chef?) para uma nova versão da receita
    * 1. Diff semântico (o que é que afinal vai mudar efectivamente)
    * 2. Análise de risco na infraestrutura da nova receita
    * 3. Transformar a avaliação anterior num Bot que integra numa Pipeline
    * Literatura:
        * https://www.terraform.io/docs/commands/plan.html
        * Jalagam, Sesh, et al. "Execution of a distributed deployment plan for a multi-tier application in a cloud infrastructure." U.S. Patent No. 10,031,783. 24 Jul. 2018.
        * J. Scheuner, P. Leitner, J. Cito and H. Gall, "Cloud Work Bench -- Infrastructure-as-Code Based Cloud Benchmarking," 2014 IEEE 6th International Conference on Cloud Computing Technology and Science, Singapore, 2014, pp. 246-253, doi: 10.1109/CloudCom.2014.98.
        * Hummer W., Rosenberg F., Oliveira F., Eilam T. (2013) Testing Idempotence for Infrastructure as Code. In: Eyers D., Schwan K. (eds) Middleware 2013. Middleware 2013. Lecture Notes in Computer Science, vol 8275. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-45065-5_19
        * A. Bhattacharjee, Y. Barve, A. Gokhale and T. Kuroda, "A Model-Driven Approach to Automate the Deployment and Management of Cloud Services," 2018 IEEE/ACM International Conference on Utility and Cloud Computing Companion (UCC Companion), Zurich, 2018, pp. 109-114, doi: 10.1109/UCC-Companion.2018.00043.
        * J. Sandobalin, E. Insfran and S. Abrahao, "An Infrastructure Modelling Tool for Cloud Provisioning," 2017 IEEE International Conference on Services Computing (SCC), Honolulu, HI, 2017, pp. 354-361, doi: 10.1109/SCC.2017.52.


### IoT

* [Nuno Lopes, Fraunhofer] IoT for industry 4.0
    * Marcar reunião c/ Filipe Sousa
    * Pq que isto é um problema de informática?

* [Pedro Costa] Decentralized Real-time IoT Orchestration
    * SPOFs
        * NodeRED (as an Orchestrator) as a SPOF
        * MQTT (as a Communication Channel) as a SPOF
            * Inter-device
            * Intra-device (<- burros!)
        * Outros SPOFs (?) Network; caso de um unico device tem as capabilities em questão;

* [Tiago Fragoso] Dynamic Real-time IoT Orchestration
    * Intra-device communication
    * Não mandar abaixo o sistema todo quando se reorquestra (1º problema, remover a necessidade de fazer redeploy de tudo on small changes) <- Diff semântico do Henrique Lima
    * Existing Greedy algorithm: *meh* 
    * Reorchestration due to System/Device degradation: dispositivos falham, blackspots na rede, outofmemory, lowmemory, crash, carga, low power.
    * Reagir a condições actuais (preventive)

* [Duarte Frazão] Preventive Self-healing for Internet of Things using NodeRED 
    * Prevenir condições futuras 
    * Runtime monitoring (self-healing context) with predictive features
    * System/Device degradation: dispositivos falham, blackspots na rede, outofmemory, lowmemory, crash, carga, low power.

* [Miguel Duarte] Self-protection strategies for secure IoT systems
    * Chaos monkey
    * Different semantic levels
    * Extensibility protocol lvl (?)

## PBT

* [Rui Guedes] Informed Search Strategies for Property Based Testing 
* [Tiago Castro] Statistical Analysis in Property Based Testing 
