This repository contains the dataset, the classifications, the generated recommendations and labeling used in the evaluation of the research paper "M. Kamp, G. Dotzler, M. Philippsen: Measuring the Semantic Similarity of Code Fragments with Symbolic Code Execution".
This repository is structured as follows:
data/dataset: Contains the pairs of methods and their classification. Both are stored in JSON files.data/recommendations: Contains the recommendations and the labeling used for the case study. Both are stored in JSON files.src/java/main: Contains Java source code to read (and write) the JSON files indata/recommendationstogether with a simple example application. The code relies on the Jackson library to parse the JSON files.
Just type the following:
gradle run
This builds the code and executes the example application.
- The source code of the Java interface in
src/java/mainis licensed under the MIT license (see LICENSE.mit). - The generated recommendation (identified by the field "recommendation") in the JSON
files in
data/recommendationsare derived or extracted from three different software projects and are therefore licensed under the software license of the respective project:- Eclipse SWT: Eclipse Public License 1.0 (see LICENSE.epl).
- Checkstyle: Apache License 2.0 (see LICENSE.al).
- JGraphT: Eclipse Public License 1.0 (see LICENSE.epl) (or LGPL 2.1).
- Everything else, including the similarity values, groups of commits, files, and methods, and the classification, is licensed under the CC0 license (see LICENSE.cc0).