CITI has stopped operations in 2014, to co-launch NOVA LINCS THIS SITE IS NOT BEING UPDATED SINCE 2013
citi banner
  Home  \  Graduation Activities  \  Post-Graduation Page Login  
banner bottom
File Top
Preventing Atomicity Violations with Contracts
MSc Post-Graduation

Concurrent programming is a difficult and error-prone task because the programmer must reason about the multiple threads of execution and their possible interleavings. A concurrent program must synchronize the concurrent accesses to shared memory re- gions, but this is not enough to prevent all anomalies that can arise in a concurrent set- ting. The programmer can misidentify the scope of the regions of code that need to be atomic, resulting in atomicity violations and failing to ensure the correct behavior of the program. Executing a sequence of atomic operations may lead to incorrect results when these operations are co-related. In this case, the programmer may be required to enforce the sequential execution of those operations as a whole to avoid atomicity violations. This situation is specially common when the developer makes use of services from third-party packages or modules. This thesis proposes a methodology, based on the design by contract methodology, to specify which sequences of operations must be executed atomically. We developed an analysis that statically verifies that a client of a module is respecting its contract, allowing the programmer to identify the source of possible atomicity violations.

Start Date: 2012-09-15

End Date: 2013-12-19

Post-Graduation Student / Researcher / Professor:
  • Diogo Sousa ( Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa )

Post-Graduation Supervisor(s):

Post-Graduation Jury:
File Bottom