Skip to content

Classification of APIs by Hierarchical Clustering

Notifications You must be signed in to change notification settings

softlang/apiclustering

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

ApiClustering

Classification of APIs by Hierarchical Clustering

What is contained:

How to reproduce the inference:

  • Create a file "config.properties" in the project org.softlang.dscor and a "config.py" in the project org.softlang.dscorpython with the following entries:
  • temp=<filepath to a temporary folder>
  • dataset=<filepath to a dataset folder>
  • (Optional) login_git=<github-username>
  • (Optional) password_git=<github-password> (only needed for the Git API)
  • Run org.softlang.dscor.process.Poms (Java/Scala) to mine the pom list from Github.
  • Run org.softlang.dscor.process.Counts (Java/Scala) to extract the dependencies counts of each file contained in the pom list.
  • Run extended_count (Python) to create append the overall API count.
  • Run org.softlang.dscor.process.Metadata (Java/Scala) to add metadata like Categories mined from Maven.
  • Run org.softlang.dscor.process.VersionsDelta (Java/Scala) produces the version specific history downloading and analyzing the API JARs.
  • Run evolution (Python) to create the evolution plots and the curated suite baseline.
  • Run evolution (Python) to create the evolution plots and the curated suite baseline.
  • Run org.softlang.dscor.process.APIClustering (Java/Scala) to execute the clustering configuration defined in the current feature model located in the package org.softlang.dscor.featuremodel (add the VM Arguments -Xss and -Xmx depending on your system, e.g., -Xss4m -Xmx10000m).
  • Run linearresults (Python) and evaluation (Python) to create the feature specific correlation plots.

How to run the web-application:

  • Start the server (Javascript) in the webapiclusters project (replace the clustering results in the data folder if necessary).
  • Start the web-application (NPM) in the webapiclusters project.

About

Classification of APIs by Hierarchical Clustering

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published