/cscc-recommender

Recommender system for code completion based on CSCC (ASE FS18).

Primary LanguageJavaApache License 2.0Apache-2.0

cscc-recommender Build Status Coverage Status

Recommender system for code completion. The algorithm is based on CSCC: Simple, Efficient, Context Sensitive Code Completion by Asaduzzaman, Muhammad, et al.

Include in your project

Maven configuration

Add this to the dependencyManagement section of your pom.xml:

<repositories>
  <repository>
    <id>tstrass-cscc-recommender</id>
    <url>https://packagecloud.io/tstrass/cscc-recommender/maven2</url>
    <releases>
      <enabled>true</enabled>
    </releases>
    <snapshots>
      <enabled>true</enabled>
    </snapshots>
  </repository>
</repositories>

Add this to your dependencies in your pom.xml:

<dependency>
  <groupId>ch.uzh.ifi.seal.ase</groupId>
  <artifactId>cscc</artifactId>
  <version>1.0.1</version>
</dependency>

Gradle configuration

Add this entry anywhere in your build.gradle file:

repositories {
    maven {
        url "https://packagecloud.io/tstrass/cscc-recommender/maven2"
    }
}

Add this to your dependencies in your build.gradle file:

compile 'ch.uzh.ifi.seal.ase:cscc:1.0.1'

Getting started

  1. Download KaVE data set from www.kave.cc/datasets, unzip, and put them in Data/Events and Data/Contexts.
  2. Download our pre-trained model from the release page and unpack it (tar -xf cscc-model_z1008_s6_c170503.tar.lmza) to Data/Model, or train your own.
  3. (optional) Adjust parameters in ch.uzh.ifi.seal.ase.cscc.utils.CSCCConfiguration.
  4. See ch.uzh.ifi.seal.ase.cscc.RunMe for sample code on how to get code completions and train your own model.
  5. Check the wiki for more information.

License

This project is licensed under the Apache License 2.0.