diff --git a/README.md b/README.md index 6f6f654..05f8960 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # source_code ## Workflow: ### Crawling and Post-processing -We followed the instructions in [VisibleV8 public Github repo](https://github.com/wspr-ncsu/visiblev8) to install VV8. Combining VV8 with a crawler, we collected crawling data and stored it in PostgreSQL. Here is the [crawling data](https://drive.google.com/file/d/18AYXCa-zGFjAoniQ0P9qncJzBx5d0iA5/view?usp=sharing) (including new crawling locality calculator results). Post-processing is done during crawling and the code is inside the [vv8-post-processor directory](https://anonymous.4open.science/r/source_code-54F8/vv8-post-processor). Note: the vv8-post-processor provided by us is different from the one in [public post-processor Github repo](https://github.com/wspr-ncsu/visiblev8/tree/master/post-processor). The difference is that the public vv8-post-processor does not preserve the sequence of API calls when processing the crawling data. That is the major reason we built a new vv8-post-processor that preserves the sequence of API calls to fulfill the locality needs in our research. We provide our vv8-post-processor [executable](https://drive.google.com/file/d/1Z-BqdLgzIr1KHwd13aT8C8_QBIV3Dk16/view?usp=sharing) and the [crawling data table](https://anonymous.4open.science/r/source_code-54F8/vv8-post-processor/mega/postgres_schema.sql)(Line 96-103) used in PostgreSQL. +We followed the instructions in [VisibleV8 public Github repo](https://github.com/wspr-ncsu/visiblev8) to install VV8. Combining VV8 with a crawler, we collected crawling data and stored it in PostgreSQL. Here is the [crawling data](https://drive.google.com/file/d/18AYXCa-zGFjAoniQ0P9qncJzBx5d0iA5/view?usp=sharing) (including new crawling results). Post-processing is done during crawling and the code is inside the [vv8-post-processor directory](https://anonymous.4open.science/r/source_code-54F8/vv8-post-processor). Note: the vv8-post-processor provided by us is different from the one in [public post-processor Github repo](https://github.com/wspr-ncsu/visiblev8/tree/master/post-processor). The difference is that the public vv8-post-processor does not preserve the sequence of API calls when processing the crawling data. That is the major reason we built a new vv8-post-processor that preserves the sequence of API calls to fulfill the locality needs in our research. We provide our vv8-post-processor [executable](https://drive.google.com/file/d/1Z-BqdLgzIr1KHwd13aT8C8_QBIV3Dk16/view?usp=sharing) and the [crawling data table](https://anonymous.4open.science/r/source_code-54F8/vv8-post-processor/mega/postgres_schema.sql)(Line 96-103) used in PostgreSQL. ### Locality Algorithm [local_cal.py](https://anonymous.4open.science/r/source_code-54F8/analysis-source-code/local_cal.py) includes the main logic of the locality algorithm. [FPanalysis.py](https://anonymous.4open.science/r/source_code-54F8/analysis-source-code/FPanalysis.py), which includes the main logic of dynamic analysis, connects to PostgreSQL that stores [crawling data](https://drive.google.com/file/d/18AYXCa-zGFjAoniQ0P9qncJzBx5d0iA5/view?usp=sharing) and conducts locality algorithm on APIs in table element ["APIs"](https://anonymous.4open.science/r/source_code-54F8/vv8-post-processor/mega/postgres_schema.sql)(Line 102). Then, it inserts the dynamic analysis results in another database(we provide it [here](https://drive.google.com/file/d/1ao-4gabio8lxFYKf85lSdFp0nyb5xXY9/view?usp=sharing) with the format mentioned in this [table](https://anonymous.4open.science/r/source_code-54F8/vv8-post-processor/mega/postgres_schema.sql)(Line 105-110)). The command we used to run dynamic analysis is