Presentation Open Access

A Large-scale Study on API Misuses in the Wild

Li, Xia; Jiang, Jiajun; Benton, Samuel; Xiong, Yingfei; Zhang, Lingming


JSON Export

{
  "files": [
    {
      "links": {
        "self": "https://zenodo.org/api/files/7dd0a6ec-8dcc-4b2c-85e4-ef903807a3e0/A%20Large-scale%20Study%20on%20API%20Misuses%20in%20the%20Wild.mp4"
      }, 
      "checksum": "md5:0f2c3f0a55c6ce5c8363efc1c3a964ed", 
      "bucket": "7dd0a6ec-8dcc-4b2c-85e4-ef903807a3e0", 
      "key": "A Large-scale Study on API Misuses in the Wild.mp4", 
      "type": "mp4", 
      "size": 251192271
    }
  ], 
  "owners": [
    209133
  ], 
  "doi": "10.5281/zenodo.4661089", 
  "stats": {
    "version_unique_downloads": 5.0, 
    "unique_views": 17.0, 
    "views": 20.0, 
    "version_views": 20.0, 
    "unique_downloads": 5.0, 
    "version_unique_views": 17.0, 
    "volume": 1507153626.0, 
    "version_downloads": 6.0, 
    "downloads": 6.0, 
    "version_volume": 1507153626.0
  }, 
  "links": {
    "doi": "https://doi.org/10.5281/zenodo.4661089", 
    "conceptdoi": "https://doi.org/10.5281/zenodo.4661088", 
    "bucket": "https://zenodo.org/api/files/7dd0a6ec-8dcc-4b2c-85e4-ef903807a3e0", 
    "conceptbadge": "https://zenodo.org/badge/doi/10.5281/zenodo.4661088.svg", 
    "html": "https://zenodo.org/record/4661089", 
    "latest_html": "https://zenodo.org/record/4661089", 
    "badge": "https://zenodo.org/badge/doi/10.5281/zenodo.4661089.svg", 
    "latest": "https://zenodo.org/api/records/4661089"
  }, 
  "conceptdoi": "10.5281/zenodo.4661088", 
  "created": "2021-04-03T10:26:16.845225+00:00", 
  "updated": "2021-04-12T00:27:19.075881+00:00", 
  "conceptrecid": "4661088", 
  "revision": 3, 
  "id": 4661089, 
  "metadata": {
    "access_right_category": "success", 
    "embargo_date": "2021-04-12", 
    "doi": "10.5281/zenodo.4661089", 
    "description": "<p>API misuses are prevalent and extremely harmful.<br>\nDespite various techniques have been proposed for API-misuse<br>\ndetection, it is not even clear how different types of API misuses<br>\ndistribute and whether existing techniques have covered all major<br>\ntypes of API misuses. Therefore, in this paper, we conduct the<br>\nfirst large-scale empirical study on API misuses based on 528,546<br>\nhistorical bug-fixing commits from GitHub (from 2011 to 2018).<br>\nBy leveraging a state-of-the-art fine-grained AST differencing<br>\ntool, GumTree, we extract more than one million bug-fixing<br>\nedit operations, 51.7% of which are API misuses. We further<br>\nsystematically classify API misuses into nine different categories<br>\naccording to the edit operations and context. We also extract<br>\nvarious frequent API-misuse patterns based on the categories<br>\nand corresponding operations, which can be complementary to<br>\nexisting API-misuse detection tools. Our study reveals various<br>\npractical guidelines regarding the importance of different types<br>\nof API misuses. Furthermore, based on our dataset, we perform<br>\na user study to manually analyze the usage constraints of 10<br>\npatterns to explore whether the mined patterns can guide the<br>\ndesign of future API-misuse detection tools. Specifically, we find<br>\nthat 7,541 potential misuses still exist in latest Apache projects<br>\nand 149 of them have been reported to developers. To date, 57<br>\nhave already been confirmed and fixed (with 15 rejected misuses<br>\ncorrespondingly). The results indicate the importance of studying<br>\nhistorical API misuses and the promising future of employing our<br>\nmined patterns for detecting unknown API misuses.<br>\n&nbsp;</p>", 
    "license": {
      "id": "CC-BY-4.0"
    }, 
    "title": "A Large-scale Study on API Misuses in the Wild", 
    "relations": {
      "version": [
        {
          "count": 1, 
          "index": 0, 
          "parent": {
            "pid_type": "recid", 
            "pid_value": "4661088"
          }, 
          "is_last": true, 
          "last_child": {
            "pid_type": "recid", 
            "pid_value": "4661089"
          }
        }
      ]
    }, 
    "publication_date": "2021-04-12", 
    "creators": [
      {
        "affiliation": "Kennesaw State University", 
        "name": "Li, Xia"
      }, 
      {
        "affiliation": "Tianjin University", 
        "name": "Jiang, Jiajun"
      }, 
      {
        "affiliation": "The University of Texas at Dallas", 
        "name": "Benton, Samuel"
      }, 
      {
        "affiliation": "Peking University", 
        "name": "Xiong, Yingfei"
      }, 
      {
        "affiliation": "University of Illinois at Urbana-Champaign", 
        "name": "Zhang, Lingming"
      }
    ], 
    "access_right": "open", 
    "resource_type": {
      "type": "presentation", 
      "title": "Presentation"
    }, 
    "related_identifiers": [
      {
        "scheme": "doi", 
        "identifier": "10.5281/zenodo.4661088", 
        "relation": "isVersionOf"
      }
    ]
  }
}
20
6
views
downloads
All versions This version
Views 2020
Downloads 66
Data volume 1.5 GB1.5 GB
Unique views 1717
Unique downloads 55

Share

Cite as