Giter VIP home page Giter VIP logo

unwrapper's Introduction

Shrinkwrapped Clones

This repository contains data and source code related to our work "What the Fork? Finding Hidden Code Clones in npm". In Proceedings of ICSE'22

Data

6kPkgSample.txt - contains the subsample of 6,000 npm packages used to quantify total clones across the npm registry

6kPkgSampleClones.txt - contains the clones detected within the subsample of 6,000 npm packages used to quantify total clones across the npm registry

38PopularClones.txt - contains the 38 popular clone packages used to tune our d-score threshold

NameSimilarCloneCandidates.txt - contains the set of all npm package pairs such that one package's name is a substring of the other's name. This sample of packages was used to find name similar clones across npm

NameSimilarCloseClones.txt - contains close clones that exhibit name similarity

NameSimilarIdenticalClones.txt - contains identical clones that exhibit name similarity

popularPackages.csv - contains metadata related to the ~20,000 most popular npm packages. This data was utilized to discover the shrinkwrapped clone phenomena.

Src

cloneDetector.py - detects clones using our d-score heuristic

CloneDetectorFilter.py - applies postfiltering to the output of the clone detector to filter out edge cases that are not clones

generatePrefilterDictionary.py - builds the dictionary file needed by the prefilter

getPkg.py - helper code used to fetch packages from our offline mirror of the npm package repository. To run other programs in this directory, you must supply your own implementation of getPkg.py that provides the functionality of this file relative to your npm storage solution.

prefilter.py - detects clone plausibility using our file tree similarity heuristics

unwrapper's People

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.