# 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