Publicação

SAFE AND SOUND LOCK GENERATION WITH DATA-CENTRIC CONCURRENCY CONTROL

Ver documento

Detalhes bibliográficos
Resumo:Concurrent programming is essential for exploiting multi-core architectures but raises challenges such as data races, deadlocks, and starvation. Traditional control-centric synchronization embeds locks directly into program flow, complicating correctness rea- soning in complex systems. The Resource-Centric Concurrency Control (RC3) model offers a data-centric alternative by declaring synchronization requirements at the resource level, simplifying reasoning by centralizing concurrency constraints. RC3 shifts focus from control flow to shared data, aiming for safer and more maintainable concurrency management. A cornerstone property is mutual exclusion, ensuring that only one thread accesses a critical section at a time. To enforce this automatically, RC3 employs the Locking Inference Algorithm, which deduces lock requirements and applies them to shared resources. This thesis verifies that the algorithm satisfies mutual exclusion using formal methods and theorem provers. Although full verification remains difficult due to complex execution flows, significant progress is made in connecting formal reasoning with practical implementation. Contributions include mapping correctness requirements for mutual exclusion, seri- alizability, deadlock freedom, and starvation freedom, integrating formal specifications into the implementation, and extending partial verifications. This provides a rigorous foundation for future verification of reliable concurrent systems.
Autores principais:Gomes, João Manuel Morais
Assunto:RC3 Model Locking Inference Algorithm Concurrency Mutual Exclusion Formal Proof
Ano:2026
País:Portugal
Tipo de documento:dissertação de mestrado
Tipo de acesso:acesso aberto
Instituição associada:Universidade Nova de Lisboa
Idioma:inglês
Origem:Repositório Institucional da UNL
Descrição
Resumo:Concurrent programming is essential for exploiting multi-core architectures but raises challenges such as data races, deadlocks, and starvation. Traditional control-centric synchronization embeds locks directly into program flow, complicating correctness rea- soning in complex systems. The Resource-Centric Concurrency Control (RC3) model offers a data-centric alternative by declaring synchronization requirements at the resource level, simplifying reasoning by centralizing concurrency constraints. RC3 shifts focus from control flow to shared data, aiming for safer and more maintainable concurrency management. A cornerstone property is mutual exclusion, ensuring that only one thread accesses a critical section at a time. To enforce this automatically, RC3 employs the Locking Inference Algorithm, which deduces lock requirements and applies them to shared resources. This thesis verifies that the algorithm satisfies mutual exclusion using formal methods and theorem provers. Although full verification remains difficult due to complex execution flows, significant progress is made in connecting formal reasoning with practical implementation. Contributions include mapping correctness requirements for mutual exclusion, seri- alizability, deadlock freedom, and starvation freedom, integrating formal specifications into the implementation, and extending partial verifications. This provides a rigorous foundation for future verification of reliable concurrent systems.