apization

The repository for the replication package of the paper "APIzation: Generating Reusable APIs from StackOverflow Code Snippets".

https://github.com/pasqualesalza/apization

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.5%) to scientific vocabulary

Keywords

apis code-snippets replication-package stackoverflow
Last synced: 6 months ago · JSON representation

Repository

The repository for the replication package of the paper "APIzation: Generating Reusable APIs from StackOverflow Code Snippets".

Basic Info
Statistics
  • Stars: 2
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Topics
apis code-snippets replication-package stackoverflow
Created over 4 years ago · Last pushed over 4 years ago
Metadata Files
Readme License Citation

README.md

APIzation: Generating Reusable APIs from StackOverflow Code Snippets

DOI CC BY 4.0 Netlify Status

This repository represents the replication package for the paper:

APIzation: Generating Reusable APIs from StackOverflow Code Snippets

Developer forums like StackOverflow have become essential resources to modern software development practices. However, many code snippets lack a well-defined method declaration, and thus they are often incomplete for immediate reuse. Developers must adapt the retrieved code snippets by parameterizing the variables involved and identifying the return value. This activity, which we call APIzation of a code snippet, can be tedious and time-consuming. In this paper, we present APIzator to perform APIzations of Java code snippets automatically. APIzator is grounded by four common patterns that we extracted by studying real APIzations in GitHub. APIzator presents a static analysis algorithm that automatically extracts the method parameters and return statements. We evaluated APIzator with a ground-truth of 200 APIzations collected from 20 developers. For 113 (56.50 %) and 115 (57.50 %) APIzations, APIzator and the developers extracted identical parameters and return statements, respectively. For 163 (81.50 %) APIzations, either the parameters or the return statements were identical.

The paper is published in the proceeding of the 36th IEEE/ACM International Conference on Automated Software Engineering (ASE).

In this replication package, we provide all the APIzations we produced with our tool. Also, we include the data we used for our evaluation.

:openfilefolder: Organization

The repository is organized as follows:

  • data/ contains the data of the replication package
    • study/ contains all the data we used to conduct our investigatory study to understand how developers perform APIzations
    • evaluation/ includes everything regarded the evaluation part of our approach called APIzator
    • search/ provides the Java source files for the search engine we produced by using APIzator. Refer to the website for a demo
  • docs/ contains the source code for the website where we documented our experiments

:books: How to cite this dataset

If you would like to cite the dataset, please use the following BibTeX snippet:

bibtex @inproceedings{terragni_apization_2021, author = {Terragni, Valerio and Salza, Pasquale}, title = {{APIzation: Generating Reusable APIs from StackOverflow Code Snippets}}, booktitle = {IEEE/ACM International Conference on Automated Software Engineering (ASE)}, year = {2021}, }

:balance_scale: License

This replication package is licensed under the terms of the Creative Commons Attribution 4.0 International License. Please see the LICENSE file for full details.

:pray: Credits

Owner

  • Name: Pasquale Salza
  • Login: pasqualesalza
  • Kind: user
  • Location: Zurich, Switzerland
  • Company: kaiko.ai

Hello! I'm Pasquale, an Italian software engineer who loves geek stuff.

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: 11 months ago

All Time
  • Total Commits: 2
  • Total Committers: 1
  • Avg Commits per committer: 2.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Pasquale Salza p****a@g****m 2

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels