Presentation Open Access

A Large-scale Study on API Misuses in the Wild

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


DCAT Export

<?xml version='1.0' encoding='utf-8'?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:adms="http://www.w3.org/ns/adms#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:dctype="http://purl.org/dc/dcmitype/" xmlns:dcat="http://www.w3.org/ns/dcat#" xmlns:duv="http://www.w3.org/ns/duv#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:frapo="http://purl.org/cerif/frapo/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:gsp="http://www.opengis.net/ont/geosparql#" xmlns:locn="http://www.w3.org/ns/locn#" xmlns:org="http://www.w3.org/ns/org#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:schema="http://schema.org/" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:vcard="http://www.w3.org/2006/vcard/ns#" xmlns:wdrs="http://www.w3.org/2007/05/powder-s#">
  <rdf:Description rdf:about="https://doi.org/10.5281/zenodo.4661089">
    <rdf:type rdf:resource="http://www.w3.org/ns/dcat#Dataset"/>
    <dct:type rdf:resource="http://purl.org/dc/dcmitype/Text"/>
    <dct:identifier rdf:datatype="http://www.w3.org/2001/XMLSchema#anyURI">https://doi.org/10.5281/zenodo.4661089</dct:identifier>
    <foaf:page rdf:resource="https://doi.org/10.5281/zenodo.4661089"/>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>Li, Xia</foaf:name>
        <foaf:givenName>Xia</foaf:givenName>
        <foaf:familyName>Li</foaf:familyName>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>Kennesaw State University</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>Jiang, Jiajun</foaf:name>
        <foaf:givenName>Jiajun</foaf:givenName>
        <foaf:familyName>Jiang</foaf:familyName>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>Tianjin University</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>Benton, Samuel</foaf:name>
        <foaf:givenName>Samuel</foaf:givenName>
        <foaf:familyName>Benton</foaf:familyName>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>The University of Texas at Dallas</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>Xiong, Yingfei</foaf:name>
        <foaf:givenName>Yingfei</foaf:givenName>
        <foaf:familyName>Xiong</foaf:familyName>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>Peking University</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>Zhang, Lingming</foaf:name>
        <foaf:givenName>Lingming</foaf:givenName>
        <foaf:familyName>Zhang</foaf:familyName>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>University of Illinois at Urbana-Champaign</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:title>A Large-scale Study on API Misuses in the Wild</dct:title>
    <dct:publisher>
      <foaf:Agent>
        <foaf:name>Zenodo</foaf:name>
      </foaf:Agent>
    </dct:publisher>
    <dct:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#gYear">2021</dct:issued>
    <dct:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2021-04-12</dct:issued>
    <owl:sameAs rdf:resource="https://zenodo.org/record/4661089"/>
    <adms:identifier>
      <adms:Identifier>
        <skos:notation rdf:datatype="http://www.w3.org/2001/XMLSchema#anyURI">https://zenodo.org/record/4661089</skos:notation>
        <adms:schemeAgency>url</adms:schemeAgency>
      </adms:Identifier>
    </adms:identifier>
    <dct:isVersionOf rdf:resource="https://doi.org/10.5281/zenodo.4661088"/>
    <dct:description>&lt;p&gt;API misuses are prevalent and extremely harmful.&lt;br&gt; Despite various techniques have been proposed for API-misuse&lt;br&gt; detection, it is not even clear how different types of API misuses&lt;br&gt; distribute and whether existing techniques have covered all major&lt;br&gt; types of API misuses. Therefore, in this paper, we conduct the&lt;br&gt; first large-scale empirical study on API misuses based on 528,546&lt;br&gt; historical bug-fixing commits from GitHub (from 2011 to 2018).&lt;br&gt; By leveraging a state-of-the-art fine-grained AST differencing&lt;br&gt; tool, GumTree, we extract more than one million bug-fixing&lt;br&gt; edit operations, 51.7% of which are API misuses. We further&lt;br&gt; systematically classify API misuses into nine different categories&lt;br&gt; according to the edit operations and context. We also extract&lt;br&gt; various frequent API-misuse patterns based on the categories&lt;br&gt; and corresponding operations, which can be complementary to&lt;br&gt; existing API-misuse detection tools. Our study reveals various&lt;br&gt; practical guidelines regarding the importance of different types&lt;br&gt; of API misuses. Furthermore, based on our dataset, we perform&lt;br&gt; a user study to manually analyze the usage constraints of 10&lt;br&gt; patterns to explore whether the mined patterns can guide the&lt;br&gt; design of future API-misuse detection tools. Specifically, we find&lt;br&gt; that 7,541 potential misuses still exist in latest Apache projects&lt;br&gt; and 149 of them have been reported to developers. To date, 57&lt;br&gt; have already been confirmed and fixed (with 15 rejected misuses&lt;br&gt; correspondingly). The results indicate the importance of studying&lt;br&gt; historical API misuses and the promising future of employing our&lt;br&gt; mined patterns for detecting unknown API misuses.&lt;br&gt; &amp;nbsp;&lt;/p&gt;</dct:description>
    <dct:accessRights rdf:resource="http://publications.europa.eu/resource/authority/access-right/PUBLIC"/>
    <dct:accessRights>
      <dct:RightsStatement rdf:about="info:eu-repo/semantics/openAccess">
        <rdfs:label>Open Access</rdfs:label>
      </dct:RightsStatement>
    </dct:accessRights>
    <dcat:distribution>
      <dcat:Distribution>
        <dct:license rdf:resource="https://creativecommons.org/licenses/by/4.0/legalcode"/>
        <dcat:accessURL rdf:resource="https://doi.org/10.5281/zenodo.4661089"/>
      </dcat:Distribution>
    </dcat:distribution>
    <dcat:distribution>
      <dcat:Distribution>
        <dcat:accessURL>https://doi.org/10.5281/zenodo.4661089</dcat:accessURL>
        <dcat:byteSize>251192271</dcat:byteSize>
        <dcat:downloadURL>https://zenodo.org/record/4661089/files/A Large-scale Study on API Misuses in the Wild.mp4</dcat:downloadURL>
        <dcat:mediaType>video/mp4</dcat:mediaType>
      </dcat:Distribution>
    </dcat:distribution>
  </rdf:Description>
</rdf:RDF>
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