DACOMICO: Data Consistency in Microservices Compositions
(PTDC/CCI-COM/2156/2021)
15/01/2022-14/01/2025
Abstract
An important paradigm for the development of modern cloud-based applications consists in decomposing an otherwise large monolithic application in a composition of several small loosely-coupled services. Currently, these decompositions are usually deployed on platforms that offer eventual consistency, leading to anomalies that do not occur in the original monolith. These anomalies are responsible for a substantial programming effort to be compensated. The Data Consistency in Microservices Compositions (DACOMICO) addresses this problem by developing middleware extensions that augment the execution platform with support for Transactional-Causal Consistency (TCC), a highly-available consistency model that can avoid many of the anomalies allowed by eventual consistency while preserving a strong decoupling among microservices. Furthermore, the project will also develop automated mechanisms to pinpoint anomalies that can occur when a given decomposition is executed under TCC and a toolchain that leverages these mechanisms to guide the programmer in decomposing a monolith for the TCC model.
Partners
Team
Faculty
Students
- Rafael Soares (PhD Student), INESC-ID
- André Lopes (PhD Student), INESC-ID
- Valentim Romão (MSC Student), INESC-ID
- João Queiróz (MSC Student), INESC-ID
- André Silva (MSC Student), INESC-ID
- Madalena Santos (MSC Student), INESC-ID
- João Lourenço (MSC Student), INESC-ID
- Telmo Lopes (MSC Student), INESC-ID
- Pedro Pereira (MSC Student), INESC-ID
- Vasco Faria (MSC Student), INESC-ID
- Miguel Levezinho (MSC Student), LASIGE
- Tiago Martins (MSC Student), INESC-ID
- Rodrigo dos Santos (MSC Student), INESC-ID
- Tomás Pereira (MSC Student), INESC-ID
- João Fitas (MSC Student), INESC-ID
- Luís Fonseca (MSC Student), INESC-ID
- João Fitas (MSC Student), INESC-ID
- Gonçalo Carvalho (MSC Student), INESC-ID
- André Martins Esgalhado, (MSC Student), LASIGE
Thesis
PhD Thesis
MSc Thesis
- Microservice Decomposition for Transactional Causal Consistent Platforms
- M. Santos
- MSc Thesis. Instituto Superior Técnico, Universidade de Lisboa.
- June, 2022.
- pdf
- Monolith Development History for Microservices Identification: a Comparative Analysis
- J. Lourenço
- MSc Thesis. Instituto Superior Técnico, Universidade de Lisboa.
- November, 2022.
- pdf
- Monolith Microservices Identification: An Extensible Multiple Strategy Tool
- T. Lopes
- MSc Thesis. Instituto Superior Técnico, Universidade de Lisboa.
- November, 2022.
- pdf
- Transactional Causal Consistent Microservices Business Logic
- P. Pereira
- MSc Thesis. Instituto Superior Técnico, Universidade de Lisboa.
- November, 2022.
- pdf
- Code Vectorization and Sequence of Accesses Strategies for Monolith Microservices Identification
- V. Faria
- MSc Thesis. Instituto Superior Técnico, Universidade de Lisboa.
- November, 2022.
- pdf
- Automatic Detection of Anomalies in the Migration to Microservices Architectures
- V. Romão
- MSc Thesis. Instituto Superior Técnico, Universidade de Lisboa.
- November, 2023.
- pdf
- Transactional Causal Consistency For Microservices Architectures
- J. Queirós
- MSc Thesis. Instituto Superior Técnico, Universidade de Lisboa.
- November, 2023.
- pdf
- Self-Adapting BFT Consensus: Leveraging Heterogeneity in Dissemination/Aggregation Trees
- H. Teixeira
- MSc Thesis. Instituto Superior Técnico, Universidade de Lisboa.
- November, 2023.
- pdf
Publications
Journals
- Exact and Approximate Determination of the Pareto Front Using Minimal Correction Subsets
- A. Guerreiro, J. Cortes, D. Vanderpooten, C. Bazgan, I. Lynce, V. Manquinho, J. Figueira
- Computers and Operations Research
- Volume 153, May 2023
- https://doi.org/10.1016/j.cor.2023.106153
- μVerum: Intrusion Recovery for Microservice Applications
- D. Matos, M. Pardal, A. Rito Silva and M. Correia
- IEEE Access. vol. 11, pp. 78457-78470
- July 2023
- DOI: 10.1109/ACCESS.2023.3298113
- Stepwise migration of a monolith to a microservice architecture: Performance and migration effort evaluation
- D. Faustino, N. Gonçalves, M. Portela and A. Rito Silva
- In Performance Evaluation. Vol. 164, pp. 102411
- May 2024
- https://arxiv.org/abs/2201.07226
- Detecting Fraudulent Student Communication in a Multiple Choice Online Test Environment
- M. Carrasco, A. Rito Silva and R. Henriques.
- IEEE Transactions on Computational Social Systems. Vol. 11 Issue1, pp. 1108-1120
- February 2024
- DOI: 10.1109/TCSS.2023.3254504
Internacional Conference Proceedings
- Monolith Microservices Identification: Towards An Extensible Multiple Strategy Tool
- T. Lopes and A. Rito Silva
- Proceedings of the 20th International Conference on Software Architecture (ICSA 2023), New and Emerging Ideas, L' Aquila, Italy
- March 2023
- DOI: 10.1109/ICSA-C57050.2023.00034
- New Core-Guided and Hitting Set Algorithms for Multi-Objective Combinatorial Optimization
- J. Cortes, I. Lynce, V. Manquinho
- International Conference on Tools and Algorithms for Construction and Analysis of Systems (TACAS)
- April 2023
- https://link.springer.com/chapter/10.1007/978-3-031-30820-8_7
- Multi-Consistency Transactional Support for Function-as-a-Service
- R. Soares and L. Rodrigues
- Proceedings of the 10th Workshop on Principles and Practice of Consistency for Distributed Data (PaPoC '23), Rome, Italy.
- May, 2023.
- DOI: 10.1145/3578358.3591325
- Usability-Oriented Design of Liquid Types for Java
- C. Gamboa, P. Canelas, C. Timperley, A. Fonseca
- Proceedings of the 43th IEEE/ACM International Conference on Software Engineering (ICSE), Melbourne, Australia
- May, 2023.
- DOI: 10.1109/ICSE48619.2023.00132
- Code Vectorization and Sequence of Accesses Strategies for Monolith Microservices Identification
- V. Faria and A. Rito Silva
- Proceedings of the 23rd International Conference on Web Engineering (ICWE 2023), Alicante, Spain
- June 2023
- DOI: 10.1007/978-3-031-34444-2_2
- Transactional Causal Consistent Microservices Simulator
- P. Pereira and A. Rito Silva
- Proceedings of the 23rd IFIP International Conference on Distributed Applications and Interoperable Systems (DAIS 2023), Lisbon, Portugal
- June 2023
- DOI: 10.1007/978-3-031-35260-7_4
- UpMax: User Partitioning for MaxSAT
- P. Orvalho, V. Manquinho, R. Martins
- Proceedings of the 26th International Conference on Theory and Applications of Satisfiability Testing, Alghero, Italy.
- July 2023
- https://doi.org/10.48550/arXiv.2305.16191
- Monolith Development History for Microservices Identification: a Comparative Analysis
- J. Lourenço and A. Rito Silva
- Proceedings of the 2023 IEEE International Conference on Web Services (ICWS), Chicago, USA
- July 2023
- DOI: 10.1109/ICWS60048.2023.00019
- MELT: Mining Effective Lightweight Transformations from Pull Requests
- D. Ramos, H. Mitchell, I. Lynce, V. Manquinho, R. Martins, C. Le Goues
- Proceedings of the 38th IEEE/ACM International Conference on Automated Software Engineering (ASE), Kirchberg, Luxembourg
- September 2023
- 10.1109/ASE56229.2023.00117
- Graph Neural Networks for Mapping Variables Between Programs
- P. Orvalho, J. Piepenbrock, M. Janota, V. Manquinho
- Proceedings of the 26th European Conference on Artificial Intelligence (ECAI), Kraków, Poland
- September 2023
- https://arxiv.org/abs/2307.13014
- A Comparison of Static and Dynamic Analysis to Identify Microservices in Monolith Systems
- B. Andrade, S. Santos and A. Rito Silva
- Proceedings of the 17th European Conference on Software Architecture (ECSA), Istanbul, Turkey
- September 2023
- DOI: 10.1007/978-3-031-42592-9 25
- Performance Comparison of Monolith and Microservice Architectures: An Analysis of the State of the Art
- H. Rodrigues and A. Rito Silva
- Proceedings of the 1st International Workshop on Quality in Software Architecture (QUALIFIER 2023), Istanbul, Turkey
- September 2023
- C-Pack of IPAs: A C90 Program Benchmark of Introductory Programming Assignments
- P. Orvalho, M. Janota, V. Manquinho
- International Workshop on Automated Program Repair (APR), Lisboa, Portugal
- Abril 2024
- (accepted)
- Towards Reliable SQL Synthesis: Fuzzing-Based Evaluation and Disambiguation
- R. Brancas, M. Terra-Neves, M. Ventura, V. Manquinho, R. Martins
- The 24th International Conference on Fundamental Approaches to Software Engineering (FASE)
- April 2024
- (accepted)
- BugOut: Automated Test Generation and Bug Detection for Low-Code
- J. Coutinho, A. Lemos, M. Terra-Neves, A. Ribeiro, V. Manquinho, R. Quintino, B. Matejczyk
- The 17th IEEE International Conference on Software Testing, Verification, and Validation (ICST), Toronto, Canada
- May 2024
- (accepted)
National Conference Proceedings
- Multi-Consistency Transactional Support for Function-as-a-Service
- R. Soares
- Encontro Nacional de Sistemas Distribuídos
- June, 2022.
- pdf
- Suporte para Coerência Causal Transacional em Sistemas de Microsserviços
- J. Queirós, R. Soares and L. Rodrigues
- Actas do décimo quarto Simpósio de Informática (Inforum), Porto, Portugal.
- Setembro 2023
- pdf
- Detecção Automática de Anomalias em Arquiteturas de Microsserviços
- V. Romão, R. Soares, V. Manquinho and L. Rodrigues
- Actas do décimo quarto Simpósio de Informática (Inforum), Porto, Portugal.
- Setembro 2023
- pdf
- Disseminação e Agregação Cientes da Topologia para Suportar Consenso Bizantino em Larga Escala
- H. Teixeira, L. Rodrigues and M. Matos
- Actas do décimo quarto Simpósio de Informática (Inforum), Porto, Portugal.
- Setembro 2023
- pdf