Publicação
SAFE AND SOUND LOCK GENERATION WITH DATA-CENTRIC CONCURRENCY CONTROL
| 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 |
| 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. |
|---|