C# projects for code idioms mining

Published: 1 May 2025| Version 1 | DOI: 10.17632/6jmbv4gjz8.1
Contributor:
Nenad Todorović

Description

This dataset contains files from a snapshot of open-source code repositories found on Github, which are used for quantitatively evaluating the inference step of the SAGED approach. The approach is described in the paper named "Automating the Development of API-Based Generators Using Code Idioms Mining'.

Files

Steps to reproduce

It contains the following: - Files of eleven projects listed in the paper named "Mining Semantic Loop Idioms" with DOI: https://doi.org/10.1109/TSE.2018.2832048, with (at the time) newest revisions. These projects allowed us to draw conclusions about the generalizability of the process; - Files of a group of student projects, made using the same basis and same set of requirements, mimicking a situation when inference is applied to an SPL; - Files of two projects made under the supervision of the Government of British Columbia, one with a highly repetitive codebase and one with way less repetition. The files have been cleansed using our Data Preprocessor component (which you can find herehttps://github.com/lukic-aleksandar/RoseLibML/tree/master/DataPreprocessor), removing the imports and comments. The indentation has also been normalized. To be able to fully validate our results, together with all the files, the dataset contains files of the projects split into training and test corpuses, where 70 % of the files are used for training and 30% are used for testing. Our results are published in the paper. The DOI of the paper will be available once we get it from Springer. To reproduce results described in our paper, you have to run the inference process using our open-source component you can find at https://github.com/lukic-aleksandar/RoseLibML/tree/master/RoseLibML To obtain metrics, you can use the tool for statistical analysis of the repetitiveness of the inferred idioms, which is located at: https://github.com/lukic-aleksandar/RoseLibML/tree/master/StatEval

Institutions

  • Univerzitet u Novom Sadu

Categories

Data Mining

Licence