• DocumentCode
    635202
  • Title

    Detecting deadlock in programs with data-centric synchronization

  • Author

    Marino, Daniel ; Hammer, Christian ; Dolby, Julian ; Vaziri, M. ; Tip, Frank ; Vitek, Jakub

  • Author_Institution
    Res. Labs., Symantec, USA
  • fYear
    2013
  • fDate
    18-26 May 2013
  • Firstpage
    322
  • Lastpage
    331
  • Abstract
    Previously, we developed a data-centric approach to concurrency control in which programmers specify synchronization constraints declaratively, by grouping shared locations into atomic sets. We implemented our ideas in a Java extension called AJ, using Java locks to implement synchronization. We proved that atomicity violations are prevented by construction, and demonstrated that realistic Java programs can be refactored into AJ without significant loss of performance. This paper presents an algorithm for detecting possible deadlock in AJ programs by ordering the locks associated with atomic sets. In our approach, a type-based static analysis is extended to handle recursive data structures by considering programmer-supplied, compiler-verified lock ordering annotations. In an evaluation of the algorithm, all 10 AJ programs under consideration were shown to be deadlock-free. One program needed 4 ordering annotations and 2 others required minor refactorings. For the remaining 7 programs, no programmer intervention of any kind was required.
  • Keywords
    Java; concurrency control; data structures; program compilers; program diagnostics; software maintenance; synchronisation; AJ; Java extension; Java locks; atomic sets; atomicity violations; compiler-verified lock ordering annotations; concurrency control; constraints synchronization; data-centric synchronization; program deadlock detection; recursive data structures; type-based static analysis; Algorithm design and analysis; Data structures; Educational institutions; Instruction sets; Java; Synchronization; System recovery;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering (ICSE), 2013 35th International Conference on
  • Conference_Location
    San Francisco, CA
  • Print_ISBN
    978-1-4673-3073-2
  • Type

    conf

  • DOI
    10.1109/ICSE.2013.6606578
  • Filename
    6606578