• DocumentCode
    3532143
  • Title

    Static Analysis of the Determinism of Multithreaded Programs

  • Author

    Ferrara, Pietro

  • Author_Institution
    Ecole Polytech., Palaiseau
  • fYear
    2008
  • fDate
    10-14 Nov. 2008
  • Firstpage
    41
  • Lastpage
    50
  • Abstract
    Threads communicate implicitly through shared memory. Because of the random interleaving during their parallel execution, nondeterministic behaviors possibly arise that is why multithreaded programming is strictly more difficult than programming in sequential languages. Moreover the random interleaving may lead to subtle bugs, that are really hard to be detected and fixed. We propose a novel deterministic property focused on multithreading. We define it as difference among concrete traces, and then we abstract it in two separate steps in order to statically analyze it. At the intermediate level of abstraction, we propose the new idea of weak determinism. We sketch how the proposed property may be used in order to semi-automatically parallelize sequential programs. Finally, we present some experimental results when applying the analysis to a set of well-known benchmarks. We believe that our approach, dealing directly with the source of the problem (i.e. the nondeterministic interactions via shared memory) is in position to bypass the actual limits of the static analysis of multithreaded programs, mostly focused on properties like data race condition and absence of deadlocks.
  • Keywords
    multi-threading; program debugging; program diagnostics; shared memory systems; bug detection; concrete tracing; data race condition; deterministic multithreaded programming; nondeterministic program behavior; parallel program execution; program deadlock; random interleaving; semiautomatic sequential program parallelization; sequential language; shared memory system; static analysis; Computer bugs; Computer languages; Concrete; Interleaved codes; Moore´s Law; Multithreading; Parallel programming; Software engineering; System recovery; Yarn; Abstract Interpretation; Multithreading; Static Analysis;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering and Formal Methods, 2008. SEFM '08. Sixth IEEE International Conference on
  • Conference_Location
    Cape Town
  • Print_ISBN
    978-0-7695-3437-4
  • Type

    conf

  • DOI
    10.1109/SEFM.2008.14
  • Filename
    4685792