Logo do repositório
 
Publicação

Static Verification of Cloud Applications with Why3

datacite.subject.fosEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informáticapt_PT
dc.contributor.advisorFerreira, Carla
dc.contributor.advisorPereira, Mário
dc.contributor.authorMeirim, Filipe Silva
dc.date.accessioned2020-02-06T10:58:49Z
dc.date.available2020-02-06T10:58:49Z
dc.date.issued2019-12
dc.date.submitted2019
dc.description.abstractNowadays large-scale distributed applications rely on replication in order to improve their services. Having data replicated in multiple datacenters increases availability, but it might lead to concurrent updates that violate data integrity. A possible approach to solve this issue is to use strong consistency in the application because this way there is a total order of operations in every replica. However, that would make the application abdicate of its availability. An alternative would be to use weak consistency to make the application more available, but that could break data integrity. To resolve this issue many of these applications use a combination of weak and strong consistency models, such that synchronization is only introduced in the execution of operations that can break data integrity. To build applications that use multiple consistency models, developers have the difficult task of finding the right balance between two conflicting goals: minimizing synchronization while preserving data integrity. To achieve this balance developers have to reason about the concurrent effects of each operation, which is a non-trivial task when it comes to large and complex applications. In this document we propose an approach consisting of a static analysis tool that helps developers find a balance between strong and weak consistency in applications that operate over weakly consistent databases. The verification process is based on a recently defined proof rule that was proven to be sound. The proposed tool uses Why3 as an intermediate framework that communicates with external provers, to analyse the correctness of the application specification. Our contributions also include a predicate transformer and a library of verified data types that can be used to resolve commutativity issues in applications. The predicate transformer can be used to lighten the specification effort.pt_PT
dc.identifier.urihttp://hdl.handle.net/10362/92286
dc.language.isoengpt_PT
dc.subjectReplicationpt_PT
dc.subjectData Integritypt_PT
dc.subjectStatic Analysispt_PT
dc.subjectConsistencypt_PT
dc.subjectSynchronizationpt_PT
dc.subjectWhy3pt_PT
dc.titleStatic Verification of Cloud Applications with Why3pt_PT
dc.typemaster thesis
dspace.entity.typePublication
rcaap.rightsopenAccesspt_PT
rcaap.typemasterThesispt_PT
thesis.degree.nameMaster of Science in Computer Science and Informatics Engineeringpt_PT

Ficheiros

Principais
A mostrar 1 - 1 de 1
A carregar...
Miniatura
Nome:
Meirim_2019.pdf
Tamanho:
705.44 KB
Formato:
Adobe Portable Document Format
Licença
A mostrar 1 - 1 de 1
Miniatura indisponível
Nome:
license.txt
Tamanho:
348 B
Formato:
Item-specific license agreed upon to submission
Descrição: