Synchronization Operation

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 210 Experts worldwide ranked by ideXlab platform

Y. Yamabalashi - One of the best experts on this subject based on the ideXlab platform.

Suman Nath - One of the best experts on this subject based on the ideXlab platform.

  • sherlock unsupervised Synchronization Operation inference
    Architectural Support for Programming Languages and Operating Systems, 2021
    Co-Authors: Dongjie Chen, Madanlal Musuvathi, Suman Nath
    Abstract:

    Synchronizations are fundamental to the correctness and performance of concurrent software. Unfortunately, correctly identifying all Synchronizations has become extremely difficult in modern soft-ware systems due to the various types of Synchronizations. Previous work either only infers specific type of Synchronization by code analysis or relies on manual effort to annotate the Synchronization. This paper proposes SherLock, a tool that uses unsupervised inference to identify Synchronizations. SherLock leverages the fact that most Synchronizations appear around the conflicting Operations and form it into a linear system with a set of Synchronization proper-ties and hypotheses. To collect enough observations, SherLock runs the unit tests a small number of times with feedback-based delay injection. We applied SherLock on 8 C# open-source applications. Without any prior knowledge, SherLock inferred 122 unique Synchronizations, with few false positives. These inferred Synchronizations cover a wide variety of types, including lock Operations, fork-join Operations, asynchronous Operations, framework Synchronization, and custom Synchronization.

  • SherLock: unsupervised Synchronization-Operation inference
    Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, 2021
    Co-Authors: Dongjie Chen, Madanlal Musuvathi, Suman Nath
    Abstract:

    Synchronizations are fundamental to the correctness and performance of concurrent software. They determine which Operations can execute concurrently and which can-not—the key to detecting and fixing concurrency bugs, as well as understanding and tuning performance. Unfortunately, correctly identifying all Synchronizations has become extremely difficult in modern software systems due to the various forms of concurrency and various types of Synchronizations. Previous work either only infers specific type of Synchronization by code analysis or relies on manual effect to annotate the Synchronization. This paper proposes SherLock, a tool that automatically infers Synchronizations without code analysis or annotation. SherLock leverages the fact that most Synchronizations appear around the conflicting Operations and encodes the inference problem into a linear system with properties and hypotheses about how Synchronizations are typically used. To collect useful observations, SherLock runs the target problem for a small number of runs with feedback-guided delay injection. We have applied SherLock on 8 C# open-source applications. Without any prior knowledge, SherLock automatically inferred more than 120 unique Synchronizations, with few false positives. These inferred Synchronizations cover a wide variety of types, including lock Operations, fork-join Operations, asynchronous Operations, framework Synchronization, and custom Synchronization.

Kentaro Uchiyama - One of the best experts on this subject based on the ideXlab platform.

Dongjie Chen - One of the best experts on this subject based on the ideXlab platform.

  • sherlock unsupervised Synchronization Operation inference
    Architectural Support for Programming Languages and Operating Systems, 2021
    Co-Authors: Dongjie Chen, Madanlal Musuvathi, Suman Nath
    Abstract:

    Synchronizations are fundamental to the correctness and performance of concurrent software. Unfortunately, correctly identifying all Synchronizations has become extremely difficult in modern soft-ware systems due to the various types of Synchronizations. Previous work either only infers specific type of Synchronization by code analysis or relies on manual effort to annotate the Synchronization. This paper proposes SherLock, a tool that uses unsupervised inference to identify Synchronizations. SherLock leverages the fact that most Synchronizations appear around the conflicting Operations and form it into a linear system with a set of Synchronization proper-ties and hypotheses. To collect enough observations, SherLock runs the unit tests a small number of times with feedback-based delay injection. We applied SherLock on 8 C# open-source applications. Without any prior knowledge, SherLock inferred 122 unique Synchronizations, with few false positives. These inferred Synchronizations cover a wide variety of types, including lock Operations, fork-join Operations, asynchronous Operations, framework Synchronization, and custom Synchronization.

  • SherLock: unsupervised Synchronization-Operation inference
    Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, 2021
    Co-Authors: Dongjie Chen, Madanlal Musuvathi, Suman Nath
    Abstract:

    Synchronizations are fundamental to the correctness and performance of concurrent software. They determine which Operations can execute concurrently and which can-not—the key to detecting and fixing concurrency bugs, as well as understanding and tuning performance. Unfortunately, correctly identifying all Synchronizations has become extremely difficult in modern software systems due to the various forms of concurrency and various types of Synchronizations. Previous work either only infers specific type of Synchronization by code analysis or relies on manual effect to annotate the Synchronization. This paper proposes SherLock, a tool that automatically infers Synchronizations without code analysis or annotation. SherLock leverages the fact that most Synchronizations appear around the conflicting Operations and encodes the inference problem into a linear system with properties and hypotheses about how Synchronizations are typically used. To collect useful observations, SherLock runs the target problem for a small number of runs with feedback-guided delay injection. We have applied SherLock on 8 C# open-source applications. Without any prior knowledge, SherLock automatically inferred more than 120 unique Synchronizations, with few false positives. These inferred Synchronizations cover a wide variety of types, including lock Operations, fork-join Operations, asynchronous Operations, framework Synchronization, and custom Synchronization.

E. Hashimoto - One of the best experts on this subject based on the ideXlab platform.