IMChecker | An automatic API misuse checker for C programs

 by   tomgu1991 Python Version: Current License: Non-SPDX

kandi X-RAY | IMChecker Summary

kandi X-RAY | IMChecker Summary

IMChecker is a Python library typically used in Institutions, Learning, Education applications. IMChecker has no bugs, it has no vulnerabilities and it has low support. However IMChecker build file is not available and it has a Non-SPDX License. You can download it from GitHub.

Libraries offer reusable functionality through Application Programming Interfaces (APIs) with usage constraints, such as call conditions or orders. Constraint violations, i.e., API misuses, commonly lead to bugs and security issues. Although researchers have developed various API-misuse detectors in the past few decades, recent studies show that API misuse is prevalent in real-world projects. The existing approaches either suffer from the sparse usage problem (i.e., bugs that rarely occur) or report false alarms due to inaccurate semantics. To overcome these limitations, we introduce IMChecker to effectively detect API-misuse bugs. The key insight behind IMChecker is a constraint-directed static analysis technique powered by a domain-specific language (DSL) for specifying API usage constraints. Through studying real-world API-misuse bugs, we propose IMSpec DSL, which covers a majority of the types of API usage constraints and enables simple but precise specification. Furthermore, we design and implement IMChecker to automatically parse IMSpec into checking targets and employ a static analysis engine to identify potential API misuses and prune false positives with rich semantics. We have instantiated IMChecker for C programs and evaluate it on widely used benchmarks and large-scale real-world programs. Currently, 75 previously unknown bugs have been found and 61 have been confirmed and fixed in Linux kernel, OpenSSL and packages in Ubuntu 16.04. We are trying our best to apply IMChecker to more programs. We upload the details in evaluation_data/new_bugs. Our research manuscript and tool manuscript are under review process of ICSE'19. We will upload them as soon as the review process finish. (Well, you can email us to access them by academic purpose only.). Our tool demonstration video is available at English Version: Chinese Version: Usage of our tools at tools/Readme.md. IMChecker is still under development, and contains a lot of bugs and TODO lists. Any bugs or feature requests, feel free to email us at guzx14@mails.tsinghua.edu.cn or open issues.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              IMChecker has a low active ecosystem.
              It has 14 star(s) with 4 fork(s). There are 4 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              IMChecker has no issues reported. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of IMChecker is current.

            kandi-Quality Quality

              IMChecker has no bugs reported.

            kandi-Security Security

              IMChecker has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              IMChecker 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

              IMChecker releases are not available. You will need to build from source code and install.
              IMChecker has no build file. You will be need to create the build yourself to build the component from source.
              Installation instructions are not available. Examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi has reviewed IMChecker and discovered the below as its top functions. This is intended to give you an instant insight into IMChecker implemented functionality, and help decide if they suit your requirements.
            • When click on click
            • Translate a spec into a definition
            • Loads the definition from a file
            • Returns the opposite of the opposite expression
            • Open file dialog
            • Loads the bug report
            • Create the db table
            • Connect to the database
            • Ask user to save file
            • Main function
            • Add a record to the database
            • Create the database
            • Parse the arguments
            • Return a list of records that match the given query
            • Loads a define file
            • Load yaml file
            • Start filtering
            • Add post entry
            • Translate a spec
            • Create new spec
            Get all kandi verified functions for this library.

            IMChecker Key Features

            No Key Features are available at this moment for IMChecker.

            IMChecker Examples and Code Snippets

            No Code Snippets are available at this moment for IMChecker.

            Community Discussions

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

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

            Vulnerabilities

            No vulnerabilities reported

            Install IMChecker

            You can download it from GitHub.
            You can use IMChecker like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            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/tomgu1991/IMChecker.git

          • CLI

            gh repo clone tomgu1991/IMChecker

          • sshUrl

            git@github.com:tomgu1991/IMChecker.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