rust-study | understanding the safety of Rust

 by   system-pclub Rust Version: 1.0 License: Non-SPDX

kandi X-RAY | rust-study Summary

kandi X-RAY | rust-study Summary

rust-study is a Rust library. rust-study has no bugs, it has no vulnerabilities and it has low support. However rust-study has a Non-SPDX License. You can download it from GitHub.

Our paper presents an empirical study of safety practices and safety issues in Rust. For artifact evaluation, we release 1) the study results of sampled unsafe usages, 2) the study results of collected memory and concurrency bugs, 3) the scripts to compute the numbers and plot the figures in our paper, and 4) the bug detectors we built. In total, we sampled 850 unsafe code usages, 70 memory bugs and 100 concurrency bugs from five open-source Rust projects, five widely-used Rust libraries, two online security databases, and the Rust standard library. The origin of our studied bugs/usages/issues and our detailed labeling of them are released using a Google Sheet file "artifact.xlsx" (All columns and tabs discussed later are inside the Google Sheet file, unless otherwise specified. Our analysis scripts and bug detectors we created are open-sourced on GitHub at To facilitate the production of our results, we also release a virtual machine. In the VM, we have installed all the required libraries, checked out our code, and downloaded the analyzed data. The user name of the virtual machine is "user" and the password is "123".
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              rust-study has a low active ecosystem.
              It has 40 star(s) with 5 fork(s). There are 4 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 0 open issues and 1 have been closed. On average issues are closed in 81 days. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of rust-study is 1.0

            kandi-Quality Quality

              rust-study has no bugs reported.

            kandi-Security Security

              rust-study has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              rust-study has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              rust-study releases are available to install and integrate.
              Installation instructions are not available. Examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of rust-study
            Get all kandi verified functions for this library.

            rust-study Key Features

            No Key Features are available at this moment for rust-study.

            rust-study Examples and Code Snippets

            copy iconCopy
            cd ~/pldi-2020/rust-study/section-4-unsafe-usages/unsafe-statisitcs/src_parser
            ./run_all.sh
            
            cd ~/pldi-2020/rust-study/section-4-unsafe-usages/section-4-1-reasons-of-usage/mem-copy
            cargo bench
            
            cd ~/pldi-2020/rust-study/section-4-unsafe-usages/sectio  
            copy iconCopy
            cd ~/pldi-2020/rust-study/section-2-background-and-related-work/Figure-1
            ./plot_Figure_1.sh
            
            cd ~/pldi-2020/rust-study/section-2-background-and-related-work/Figure-2
            ./plot_Figure_2.sh
              
            copy iconCopy
            cd ~/pldi-2020/rust-study/section-7-bug-detection/section-7.1-detecting-memory-bugs
            ./run_uaf_detector.sh
            
            cd section-7-bug-detection/section-7.2-detecting-concurrency-bugs/double-lock-detector
            ./run_all.sh
              

            Community Discussions

            No Community Discussions are available at this moment for rust-study.Refer to stack overflow page for discussions.

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install rust-study

            You can download it from GitHub.
            Rust is installed and managed by the rustup tool. Rust has a 6-week rapid release process and supports a great number of platforms, so there are many builds of Rust available at any time. Please refer rust-lang.org for more information.

            Support

            All numbers in this section are in tab "section-6.1-blocking", unless otherwise specified. Table 3. The detailed labels are in columns "H" - "T". Lines 866 - 870. "Failing to acquire Lock (for Mutex) or read/write (for RwLock) results in thread blocking for 38 bugs, with 30 of them caused by double locking, seven caused by acquiring locks in conflicting orders, and one caused by forgetting to unlock when using a self-implemented mutex." Bugs caused by double locks are labeled in column "AC". Bugs caused by acquiring locks in conflicting orders are labeled in column "AG". Bugs caused by forgetting to unlock are labeled in column "AH". Lines 906 - 910. "in six double-lock bugs, the first lock is in a match condition and the second lock is in the corresponding match body (e.g., Figure 6). In another five double-lock bugs, the first lock is in an if condition, and the second lock is in the if block or the else block." The detailed labels are in columns "AD" and "AE". Lines 915 - 920. "In eight of the ten bugs related to Condvar, one thread is blocked at wait() of a Condvar, while no other threads invoke notify_one() or notify_all() of the same Condvar. In the other two bugs, one thread is waiting for a second thread to release a lock, while the second thread is waiting for the first to invoke notify_all()." The detailed labels are in columns "J" and "K". Lines 923 - 924. "There are five bugs caused by blocking at receiving operations." The detailed labels are in column "M". Lines 934 - 937. "There is one bug that is caused by a thread being blocked when sending to a full channel." The detailed labels are in column "N". Lines 946 - 947. "We have one bug of this type." The label is in column "P". The detailed labels for how each bug is fixed are in columns "V" - "Z". Lines 960 - 961. "This strategy was used for the bug of Figure 6 and 20 other bugs." The detailed labels are in column "AA".
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/system-pclub/rust-study.git

          • CLI

            gh repo clone system-pclub/rust-study

          • sshUrl

            git@github.com:system-pclub/rust-study.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link