DACOMICO: Data Consistency in Microservices Compositions

(PTDC/CCI-COM/2156/2021)

(Funded by Fundação para a Ciência e Tecnologia)

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

PhD Students


MSc Students


Summary of results

Category #
PhD Thesis 3
MSc Thesis 15
Journal Papers 7
Internacional Conference Proceedings 21
National Conference Proceedings 6
International Workshops 1
Applications 3
Prototypes 1

Thesis

PhD Thesis

  1. Low-Latency Privacy-Preserving Access to Edge Storage
    C. Correia
    PhD Thesis. Instituto Superior Técnico, Universidade de Lisboa.
    Abril, 2024.
    pdf
  2. MENTOR : Automated Feedback for Introductory Programming Exercises
    P. Orvalho
    PhD Thesis. Instituto Superior Técnico, Universidade de Lisboa.
    December, 2024.
    (submitted)
  3. An Over-constrained Approach for Multi-Objective Combinatorial Optimizatio
    J. Cortes
    PhD Thesis. Instituto Superior Técnico, Universidade de Lisboa.
    Abril, 2024.
    (submitted)

MSc Thesis

  1. Microservice Decomposition for Transactional Causal Consistent Platforms
    M. Santos
    MSc Thesis. Instituto Superior Técnico, Universidade de Lisboa.
    June, 2022.
    pdf
  2. Monolith Development History for Microservices Identification: a Comparative Analysis
    J. Lourenço
    MSc Thesis. Instituto Superior Técnico, Universidade de Lisboa.
    November, 2022.
    pdf
  3. Monolith Microservices Identification: An Extensible Multiple Strategy Tool
    T. Lopes
    MSc Thesis. Instituto Superior Técnico, Universidade de Lisboa.
    November, 2022.
    pdf
  4. Transactional Causal Consistent Microservices Business Logic
    P. Pereira
    MSc Thesis. Instituto Superior Técnico, Universidade de Lisboa.
    November, 2022.
    pdf
  5. 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
  6. 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
  7. Transactional Causal Consistency For Microservices Architectures
    J. Queirós
    MSc Thesis. Instituto Superior Técnico, Universidade de Lisboa.
    November, 2023.
    pdf
  8. Self-Adapting BFT Consensus: Leveraging Heterogeneity in Dissemination/Aggregation Trees
    H. Teixeira
    MSc Thesis. Instituto Superior Técnico, Universidade de Lisboa.
    November, 2023.
    pdf
  9. Detection of Invariant Violations in Microservices
    J. Fitas
    MSc Thesis. Instituto Superior Técnico, Universidade de Lisboa.
    October, 2024.
    pdf
  10. Dynamic Trees for Byzantine Consensus Protocols
    T. Pereira
    MSc Thesis. Instituto Superior Técnico, Universidade de Lisboa.
    October, 2024.
    pdf
  11. Domain-Driven Design Representation of Monolith Candidate Decompositions Based on Entity Accesses
    M. Levezinho
    MSc Thesis. Instituto Superior Técnico, Universidade de Lisboa.
    October, 2024.
    pdf
  12. Mono2Micro: Enriching Access Sequences Static Analysis Collector with Branch Frequency
    P. do Ó
    MSc Thesis. Instituto Superior Técnico, Universidade de Lisboa.
    October, 2024.
    pdf
  13. Comparing Structure and Accesses Monolith Representations in Mono2Micro
    R. Santos
    MSc Thesis. Instituto Superior Técnico, Universidade de Lisboa.
    October, 2024.
    pdf
  14. Simulator for Saga Implemented Microservice Systems
    A. Esgalhado
    MSc Thesis. Instituto Superior Técnico, Universidade de Lisboa.
    October, 2024.
    pdf
  15. Detection of transaction consistency problems in microservices
    A. Silva
    MSc Thesis. Faculdade de Ciências, Universidade de Lisboa.
    December, 2024.
    pdf

Publications

Journals

  1. 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
  2. μ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
  3. 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
  4. BatFix: Repairing language model-based transpilation.
    D. Ramos, I. Lynce, V. Manquinho, R. Martins, C. Le Goues
    ACM Transactions on Software Engineering and Methodology 33(6): 161 (June 2024).
    DOI: https://dl.acm.org/doi/10.1145/3658668
  5. 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
  6. PoTR: Accurate and Efficient Proof of Timely-Retrievability for Storage Systems.
    C. Correia, R. Prates, L. Fonseca, M. Correia, and L. Rodrigues.
    In Formal Aspects of Computing, ACM.
    August 2024
    DOI: https://doi.org/10.1145/3685935
  7. Microservices simulator: An object-oriented framework for transactional causal consistency
    P. Pereira and A. Rito Silva
    In Science of Computer Programming. Vol. 239, pp. 103181.
    January 2025
    DOI: 10.1016/j.scico.2024.103181.

Internacional Conference Proceedings

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. Performance Comparison of Monolith and Microservice Architectures: An Analysis of the State of the Art
    H. Rodrigues, A. Rito Silva and A. Avritzer
    Software Architecture. ECSA 2023 Tracks, Workshops, and Doctoral Symposium, LNCS 14590, 2024, pp. 185-199.
    September 2023
    DOI: 10.1007/978-3-031-66326-0 12.
  13. 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
    DOI: 10.1145/3643788.3648010
  14. 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
    DOI: 10.1007/978-3-031-57259-3_11
  15. 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
    DOI: 10.1109/ICST60714.2024.00041
  16. Slide&Drill, a New Approach for Multi-Objective Combinatorial Optimization
    J. Cortes, I. Lynce, V. Manquinho
    International Conference on Principles and Practice of Constraint Programming (CP) 2024: 8:1-8:17
    September 2024
    DOI: 10.4230/LIPIcs.CP.2024.8
  17. CFaults: Model-Based Diagnosis for Fault Localization in C with Multiple Test Cases
    P. Orvalho, M. Janota, V. Manquinho
    Formal Methods (FM) (1) 2024: 463-481
    September 2024
    DOI: https://link.springer.com/chapter/10.1007/978-3-031-71162-6_24
  18. PrompTCC: Transactional Causally Consistent Reads Can Be Fast and Fresh.
    T. Lykhenko, R. Soares, and L. Rodrigues.
    In Proceedings of the 29th IEEE Pacific Rim International Symposium on Dependable Computing (PRDC), Osaka, Japan,
    October 2024.
    (accepted)
  19. GitSEED: A Git-backed Automated Assessment Tool for Software Engineering and Programming Education
    P. Orvalho, M.s Janota, V. Manquinho
    ACM Virtual Global Computing Education Conference
    December 2024
    DOI: 10.1145/3649165.3690106
  20. Counterexample Guided Program Repair Using Zero-Shot Learning and MaxSAT-based Fault Localization
    P. Orvalho, M. Janota, V. Manquinho
    AAAI Conference on Artificial Intelligence (AAAI), Philadelphia (PA), USA
    February, 2025
    (accepted for publication)
  21. Combining Logic and Large Language Models for Assisted Debugging and Repair of ASP Programs
    R. Brancas, V. Manquinho, R. Martins
    IEEE Conference on Software Testing, Verification and Validation (ICST), Naples, Italy
    March, 2025
    (accepted for publication)

National Conference Proceedings

  1. Multi-Consistency Transactional Support for Function-as-a-Service
    R. Soares
    Encontro Nacional de Sistemas Distribuídos
    June, 2022.
    pdf
  2. 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
  3. 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
  4. 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
  5. Reconfiguração Dinâmica de Protocolos Tolerantes a Faltas Bizantinas Baseados em Árvores.
    T. Pereira, M. Matos and L. Rodrigues.
    Actas do décimo quinto Simpósio de Informática (Inforum), Lisboa, Portugal
    Setembro 2024.
    pdf
  6. Deteção de Violação de Invariantes em Microserviços.
    J. Fitas, R. Soares, A. Silva and L. Rodrigues.
    Actas do décimo quinto Simpósio de Informática (Inforum), Lisboa, Portugal,
    Setembro 2024.
    pdf

International Workshops

  1. DACOMICO's INESC-ID - Friedrich-Alexander University of Erlangen-Nuremberg Workshop