diff --git a/RQs/RQ0/RQ0_1_results_normalization.ipynb b/RQs/RQ0/RQ0_1_results_normalization.ipynb index 297b306..e163568 100644 --- a/RQs/RQ0/RQ0_1_results_normalization.ipynb +++ b/RQs/RQ0/RQ0_1_results_normalization.ipynb @@ -164,7 +164,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "bnl", "language": "python", "name": "python3" }, diff --git a/RQs/RQ0/RQ0_2_app_level_aggregation.ipynb b/RQs/RQ0/RQ0_2_app_level_aggregation.ipynb index c001442..262ac31 100644 --- a/RQs/RQ0/RQ0_2_app_level_aggregation.ipynb +++ b/RQs/RQ0/RQ0_2_app_level_aggregation.ipynb @@ -207,7 +207,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "bnl", "language": "python", "name": "python3" }, diff --git a/RQs/RQ0/RQ0_3_corpus_level_aggreation.ipynb b/RQs/RQ0/RQ0_3_corpus_level_aggreation.ipynb index 3b4a89c..b65a489 100644 --- a/RQs/RQ0/RQ0_3_corpus_level_aggreation.ipynb +++ b/RQs/RQ0/RQ0_3_corpus_level_aggreation.ipynb @@ -168,7 +168,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "bnl", "language": "python", "name": "python3" }, diff --git a/RQs/RQ1/RQ1_t4.ipynb b/RQs/RQ1/RQ1_t4.ipynb index 0ba270f..3260391 100644 --- a/RQs/RQ1/RQ1_t4.ipynb +++ b/RQs/RQ1/RQ1_t4.ipynb @@ -318,7 +318,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "bnl", "language": "python", "name": "python3" }, diff --git a/RQs/RQ2/RQ2_search_space_reduction_gpt4o.tex b/RQs/RQ2/RQ2_search_space_reduction_gpt4o.tex deleted file mode 100644 index c76754d..0000000 --- a/RQs/RQ2/RQ2_search_space_reduction_gpt4o.tex +++ /dev/null @@ -1,31 +0,0 @@ -\begin{table}[th] -\centering -\caption{Search space reduction during row-level PII extraction.} -\label{tab:search_space_reduction} -\small -\begin{tabular}{|l|l|p{1.3cm}|p{1.7cm}|p{1.0cm}|} -\hline -\textbf{ID} & \textbf{Apps} & \textbf{Candidate Cols (Total)} & \textbf{Cols Scanned (Extraction)} & \textbf{Reduc. (\%)} \\ -\hline -A1 & WhatsApp & 1637 & 7 & 99.57\% \\ -\hline -A2 & Snapchat & 848 & 107 & 87.38\% \\ -\hline -A3 & Telegram & 1197 & 0 & 100.00\% \\ -\hline -A4 & Google Maps & 80 & 2 & 97.50\% \\ -\hline -A5 & Samsung Internet & 185 & 0 & 100.00\% \\ -\hline -I1 & WhatsApp & 328 & 0 & 100.00\% \\ -\hline -I2 & Contacts & 13 & 0 & 100.00\% \\ -\hline -I3 & Apple Messages & 186 & 0 & 100.00\% \\ -\hline -I4 & Safari & 74 & 0 & 100.00\% \\ -\hline -I5 & Calendar & 541 & 0 & 100.00\% \\ -\hline -\end{tabular} -\end{table} \ No newline at end of file diff --git a/RQs/RQ3/RQ3_t7_corpus_level_Recall_Perc.ipynb b/RQs/RQ2/RQ2_t6_corpus_level_Recall_Perc.ipynb similarity index 94% rename from RQs/RQ3/RQ3_t7_corpus_level_Recall_Perc.ipynb rename to RQs/RQ2/RQ2_t6_corpus_level_Recall_Perc.ipynb index c6044d1..73ff385 100644 --- a/RQs/RQ3/RQ3_t7_corpus_level_Recall_Perc.ipynb +++ b/RQs/RQ2/RQ2_t6_corpus_level_Recall_Perc.ipynb @@ -21,11 +21,11 @@ "\\hline\n", "Phone Number & 1051 & 1184 & 734 & 69.8\\% & 62.0\\% \\\\\n", "\\hline\n", - "User Name & 3446 & 1234 & 1232 & 35.8\\% & 99.8\\% \\\\\n", + "User Name & 2269 & 1234 & 1232 & 54.3\\% & 99.8\\% \\\\\n", "\\hline\n", - "Person Name & 1134 & 2157 & 1087 & 95.9\\% & 50.4\\% \\\\\n", + "Person Name & 1640 & 2157 & 1262 & 77.0\\% & 58.5\\% \\\\\n", "\\hline\n", - "Postal Address & 21 & 2 & 2 & 9.5\\% & 100.0\\% \\\\\n", + "Postal Address & 11 & 2 & 2 & 18.2\\% & 100.0\\% \\\\\n", "\\hline\n" ] } @@ -106,7 +106,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "bnl", "language": "python", "name": "python3" }, diff --git a/RQs/RQ3/RQ3_t8.ipynb b/RQs/RQ2/RQ2_t7.ipynb similarity index 91% rename from RQs/RQ3/RQ3_t8.ipynb rename to RQs/RQ2/RQ2_t7.ipynb index ffa5fb2..8e1862c 100644 --- a/RQs/RQ3/RQ3_t8.ipynb +++ b/RQs/RQ2/RQ2_t7.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "1affac71", "metadata": {}, "outputs": [ @@ -14,11 +14,11 @@ "\n", "PII Type | GT DBs | System DBs | Overlap | Coverage\n", "---------------+--------+------------+---------+---------\n", - "Email Address | 0 | 6 | 0 | 0.0% \n", - "Phone Number | 0 | 6 | 0 | 0.0% \n", - "User Name | 0 | 10 | 0 | 0.0% \n", - "Person Name | 0 | 7 | 0 | 0.0% \n", - "Postal Address | 0 | 1 | 0 | 0.0% \n", + "Email Address | 6 | 7 | 6 | 100.0% \n", + "Phone Number | 9 | 7 | 6 | 66.7% \n", + "User Name | 6 | 4 | 4 | 66.7% \n", + "Person Name | 12 | 11 | 9 | 75.0% \n", + "Postal Address | 2 | 1 | 1 | 50.0% \n", "\n", "LATEX TABULAR\n", "\n", @@ -26,15 +26,15 @@ "\\hline\n", "\\textbf{PII Type} &\\textbf{DBs with PII (GT)} &\\textbf{DBs with discoveries (System)} &\\textbf{Overlap} &\\textbf{Coverage} \\\\\n", "\\hline\n", - "Email Address & 0 & 6 & 0 & 0.0\\% \\\\\n", + "Email Address & 6 & 7 & 6 & 100.0\\% \\\\\n", "\\hline\n", - "Phone Number & 0 & 6 & 0 & 0.0\\% \\\\\n", + "Phone Number & 9 & 7 & 6 & 66.7\\% \\\\\n", "\\hline\n", - "User Name & 0 & 10 & 0 & 0.0\\% \\\\\n", + "User Name & 6 & 4 & 4 & 66.7\\% \\\\\n", "\\hline\n", - "Person Name & 0 & 7 & 0 & 0.0\\% \\\\\n", + "Person Name & 12 & 11 & 9 & 75.0\\% \\\\\n", "\\hline\n", - "Postal Address & 0 & 1 & 0 & 0.0\\% \\\\\n", + "Postal Address & 2 & 1 & 1 & 50.0\\% \\\\\n", "\\hline\n", "\\end{tabular}\n" ] @@ -196,7 +196,7 @@ "def main() -> None:\n", " # Define these inside main so importing this module has no side effects.\n", " SYSTEM_DIR = Path(r\"..\\normalized_PII_results\\GPT-5.1\\db_level\")\n", - " GT_DIR = Path(r\"..\\normalized_PII_results\\GPT-5.1\\app_level\")\n", + " GT_DIR = Path(r\"..\\normalized_PII_results\\ground_truth\\db_level\")\n", " \n", " gt_sets = collect_db_sets(GT_DIR, [k for k, _ in PII_TYPES])\n", " sys_sets = collect_db_sets(SYSTEM_DIR, [k for k, _ in PII_TYPES])\n", @@ -216,7 +216,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "bnl", "language": "python", "name": "python3" }, diff --git a/RQs/RQ3/RQ3_t9.ipynb b/RQs/RQ2/RQ2_t8.ipynb similarity index 82% rename from RQs/RQ3/RQ3_t9.ipynb rename to RQs/RQ2/RQ2_t8.ipynb index 1405386..930a2d9 100644 --- a/RQs/RQ3/RQ3_t9.ipynb +++ b/RQs/RQ2/RQ2_t8.ipynb @@ -29,10 +29,17 @@ "source": [ "import sys\n", "import os\n", - "# Add the parent directory (RQs) to the path to find the config file\n", - "if '..' not in sys.path:\n", - " sys.path.insert(1, os.path.abspath('..'))\n", - "import config" + "from pathlib import Path\n", + "\n", + "# Resolve paths relative to this notebook so execution is independent of kernel cwd.\n", + "NOTEBOOK_DIR = Path.cwd()\n", + "if not (NOTEBOOK_DIR / 'RQ2_t8.ipynb').exists():\n", + " NOTEBOOK_DIR = Path(r'i:/project2026/llmagent/RQs/RQ2')\n", + "RQS_DIR = NOTEBOOK_DIR.parent\n", + "\n", + "if str(RQS_DIR) not in sys.path:\n", + " sys.path.insert(1, str(RQS_DIR))\n", + "import config\n" ] }, { @@ -44,8 +51,10 @@ "def parse_filename(filepath):\n", " \"\"\"Parses a filename to extract the app ID and database name.\"\"\"\n", " base_name = os.path.basename(filepath)\n", - " # Format: PII_{APP_ID}_{DB_NAME}_{TIMESTAMP}.jsonl\n", - " match = re.match(r'PII_([A-Z0-9]+)_(.*)_\\d{8}T\\d{6}Z\\.jsonl', base_name)\n", + " # Support both formats:\n", + " # 1) PII_{APP_ID}_{DB_NAME}_{TIMESTAMP}.jsonl\n", + " # 2) PII_{APP_ID}_{DB_NAME}.jsonl\n", + " match = re.match(r'PII_([A-Z0-9]+)_(.*?)(?:_\\d{8}T\\d{6}Z)?\\.jsonl$', base_name)\n", " if match:\n", " app_id = match.group(1)\n", " db_name = match.group(2)\n", @@ -69,8 +78,8 @@ " data[app_id][db_name][pii_type] = True\n", " return data\n", "\n", - "gt_data = load_data(os.path.join('..', config.GROUND_TRUTH_DIR))\n", - "system_data = load_data(os.path.join('..', config.GPT4O_RESULTS_DIR))" + "gt_data = load_data(str(RQS_DIR / config.GROUND_TRUTH_DIR))\n", + "system_data = load_data(str(RQS_DIR / config.GPT4O_RESULTS_DIR))\n" ] }, { @@ -178,8 +187,8 @@ " A1\n", " WhatsApp\n", " -\n", - " 2/2\n", - " 1/1\n", + " 1/2\n", + " 1/2\n", " 2/2\n", " -\n", " 2/2\n", @@ -189,8 +198,8 @@ " Snapchat\n", " 1/1\n", " 2/2\n", - " 1/1\n", " 2/2\n", + " 1/2\n", " -\n", " 2/2\n", " \n", @@ -208,9 +217,9 @@ " A4\n", " Google Maps\n", " 1/1\n", - " -\n", " 1/1\n", - " -\n", + " 1/1\n", + " 1/1\n", " -\n", " 1/1\n", " \n", @@ -219,20 +228,20 @@ " Samsung Internet\n", " 1/1\n", " -\n", - " 1/1\n", - " -\n", " -\n", " 1/1\n", + " -\n", + " 2/2\n", " \n", " \n", " I1\n", " WhatsApp (iOS)\n", " -\n", - " -\n", - " -\n", - " 1/1\n", - " 1/1\n", + " 1/2\n", + " 0/1\n", + " 2/2\n", " 1/1\n", + " 2/2\n", " \n", " \n", " I2\n", @@ -241,7 +250,7 @@ " 1/1\n", " -\n", " 1/1\n", - " -\n", + " 0/1\n", " 1/1\n", " \n", " \n", @@ -249,8 +258,8 @@ " Apple Messages\n", " 1/1\n", " 0/1\n", - " 0/1\n", - " 1/1\n", + " -\n", + " -\n", " -\n", " 1/1\n", " \n", @@ -259,10 +268,10 @@ " Safari\n", " -\n", " -\n", - " 1/1\n", " -\n", + " 0/2\n", " -\n", - " 1/1\n", + " 0/2\n", " \n", " \n", " I5\n", @@ -270,7 +279,7 @@ " 1/1\n", " -\n", " -\n", - " -\n", + " 1/1\n", " -\n", " 1/1\n", " \n", @@ -281,16 +290,16 @@ "text/plain": [ " Application Email Phone User Name Person Name Postal Address All PII\n", "ID \n", - "A1 WhatsApp - 2/2 1/1 2/2 - 2/2\n", - "A2 Snapchat 1/1 2/2 1/1 2/2 - 2/2\n", + "A1 WhatsApp - 1/2 1/2 2/2 - 2/2\n", + "A2 Snapchat 1/1 2/2 2/2 1/2 - 2/2\n", "A3 Telegram - - - - - -\n", - "A4 Google Maps 1/1 - 1/1 - - 1/1\n", - "A5 Samsung Internet 1/1 - 1/1 - - 1/1\n", - "I1 WhatsApp (iOS) - - - 1/1 1/1 1/1\n", - "I2 Contacts 1/1 1/1 - 1/1 - 1/1\n", - "I3 Apple Messages 1/1 0/1 0/1 1/1 - 1/1\n", - "I4 Safari - - 1/1 - - 1/1\n", - "I5 Calendar 1/1 - - - - 1/1" + "A4 Google Maps 1/1 1/1 1/1 1/1 - 1/1\n", + "A5 Samsung Internet 1/1 - - 1/1 - 2/2\n", + "I1 WhatsApp (iOS) - 1/2 0/1 2/2 1/1 2/2\n", + "I2 Contacts 1/1 1/1 - 1/1 0/1 1/1\n", + "I3 Apple Messages 1/1 0/1 - - - 1/1\n", + "I4 Safari - - - 0/2 - 0/2\n", + "I5 Calendar 1/1 - - 1/1 - 1/1" ] }, "execution_count": 5, @@ -328,16 +337,16 @@ " & Application & Email & Phone & User Name & Person Name & Postal Address & All PII \\\\\n", "ID & & & & & & & \\\\\n", "\\midrule\n", - "A1 & WhatsApp & - & 2/2 & 1/1 & 2/2 & - & 2/2 \\\\\n", - "A2 & Snapchat & 1/1 & 2/2 & 1/1 & 2/2 & - & 2/2 \\\\\n", + "A1 & WhatsApp & - & 1/2 & 1/2 & 2/2 & - & 2/2 \\\\\n", + "A2 & Snapchat & 1/1 & 2/2 & 2/2 & 1/2 & - & 2/2 \\\\\n", "A3 & Telegram & - & - & - & - & - & - \\\\\n", - "A4 & Google Maps & 1/1 & - & 1/1 & - & - & 1/1 \\\\\n", - "A5 & Samsung Internet & 1/1 & - & 1/1 & - & - & 1/1 \\\\\n", - "I1 & WhatsApp (iOS) & - & - & - & 1/1 & 1/1 & 1/1 \\\\\n", - "I2 & Contacts & 1/1 & 1/1 & - & 1/1 & - & 1/1 \\\\\n", - "I3 & Apple Messages & 1/1 & 0/1 & 0/1 & 1/1 & - & 1/1 \\\\\n", - "I4 & Safari & - & - & 1/1 & - & - & 1/1 \\\\\n", - "I5 & Calendar & 1/1 & - & - & - & - & 1/1 \\\\\n", + "A4 & Google Maps & 1/1 & 1/1 & 1/1 & 1/1 & - & 1/1 \\\\\n", + "A5 & Samsung Internet & 1/1 & - & - & 1/1 & - & 2/2 \\\\\n", + "I1 & WhatsApp (iOS) & - & 1/2 & 0/1 & 2/2 & 1/1 & 2/2 \\\\\n", + "I2 & Contacts & 1/1 & 1/1 & - & 1/1 & 0/1 & 1/1 \\\\\n", + "I3 & Apple Messages & 1/1 & 0/1 & - & - & - & 1/1 \\\\\n", + "I4 & Safari & - & - & - & 0/2 & - & 0/2 \\\\\n", + "I5 & Calendar & 1/1 & - & - & 1/1 & - & 1/1 \\\\\n", "\\bottomrule\n", "\\end{tabular}\n", "\\end{table}\n", @@ -354,7 +363,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "bnl", "language": "python", "name": "python3" }, diff --git a/RQs/RQ3/RQ3_t10.ipynb b/RQs/RQ2/RQ2_t9.ipynb similarity index 82% rename from RQs/RQ3/RQ3_t10.ipynb rename to RQs/RQ2/RQ2_t9.ipynb index 03c82e6..2eb7f61 100644 --- a/RQs/RQ3/RQ3_t10.ipynb +++ b/RQs/RQ2/RQ2_t9.ipynb @@ -187,21 +187,21 @@ " A1\n", " WhatsApp\n", " -\n", - " 0.96\n", - " 0.50\n", - " 0.68\n", + " 0.91\n", + " 0.00\n", + " 0.45\n", " -\n", - " 0.79\n", + " 0.21\n", " \n", " \n", " A2\n", " Snapchat\n", " 1.00\n", " 1.00\n", + " 0.74\n", " 0.33\n", - " 1.00\n", " -\n", - " 0.79\n", + " 0.64\n", " \n", " \n", " A3\n", @@ -217,9 +217,9 @@ " A4\n", " Google Maps\n", " 1.00\n", - " -\n", " 1.00\n", - " -\n", + " 1.00\n", + " 1.00\n", " -\n", " 1.00\n", " \n", @@ -228,50 +228,50 @@ " Samsung Internet\n", " 1.00\n", " -\n", + " -\n", " 0.00\n", " -\n", - " -\n", - " 0.20\n", + " 0.50\n", " \n", " \n", " I1\n", " WhatsApp (iOS)\n", " -\n", - " -\n", - " -\n", - " 1.00\n", - " 1.00\n", - " 1.00\n", + " 0.00\n", + " 0.00\n", + " 0.98\n", + " 0.50\n", + " 0.51\n", " \n", " \n", " I2\n", " Contacts\n", " 1.00\n", - " 0.47\n", + " 0.71\n", " -\n", - " 0.86\n", - " -\n", - " 0.65\n", + " 0.00\n", + " 0.00\n", + " 0.36\n", " \n", " \n", " I3\n", " Apple Messages\n", " 1.00\n", " 0.00\n", - " 0.00\n", - " 1.00\n", " -\n", - " 0.33\n", + " -\n", + " -\n", + " 0.19\n", " \n", " \n", " I4\n", " Safari\n", " -\n", " -\n", - " 0.02\n", " -\n", + " 0.00\n", " -\n", - " 0.02\n", + " 0.00\n", " \n", " \n", " I5\n", @@ -279,9 +279,9 @@ " 1.00\n", " -\n", " -\n", + " 0.20\n", " -\n", - " -\n", - " 1.00\n", + " 0.33\n", " \n", " \n", "\n", @@ -290,16 +290,16 @@ "text/plain": [ " Application Email Phone User Name Person Name Postal Address All PII\n", "ID \n", - "A1 WhatsApp - 0.96 0.50 0.68 - 0.79\n", - "A2 Snapchat 1.00 1.00 0.33 1.00 - 0.79\n", + "A1 WhatsApp - 0.91 0.00 0.45 - 0.21\n", + "A2 Snapchat 1.00 1.00 0.74 0.33 - 0.64\n", "A3 Telegram - - - - - -\n", - "A4 Google Maps 1.00 - 1.00 - - 1.00\n", - "A5 Samsung Internet 1.00 - 0.00 - - 0.20\n", - "I1 WhatsApp (iOS) - - - 1.00 1.00 1.00\n", - "I2 Contacts 1.00 0.47 - 0.86 - 0.65\n", - "I3 Apple Messages 1.00 0.00 0.00 1.00 - 0.33\n", - "I4 Safari - - 0.02 - - 0.02\n", - "I5 Calendar 1.00 - - - - 1.00" + "A4 Google Maps 1.00 1.00 1.00 1.00 - 1.00\n", + "A5 Samsung Internet 1.00 - - 0.00 - 0.50\n", + "I1 WhatsApp (iOS) - 0.00 0.00 0.98 0.50 0.51\n", + "I2 Contacts 1.00 0.71 - 0.00 0.00 0.36\n", + "I3 Apple Messages 1.00 0.00 - - - 0.19\n", + "I4 Safari - - - 0.00 - 0.00\n", + "I5 Calendar 1.00 - - 0.20 - 0.33" ] }, "execution_count": 5, @@ -342,16 +342,16 @@ " & Application & Email & Phone & User Name & Person Name & Postal Address & All PII \\\\\n", "ID & & & & & & & \\\\\n", "\\midrule\n", - "A1 & WhatsApp & - & 0.96 & 0.50 & 0.68 & - & 0.79 \\\\\n", - "A2 & Snapchat & 1.00 & 1.00 & 0.33 & 1.00 & - & 0.79 \\\\\n", + "A1 & WhatsApp & - & 0.91 & 0.00 & 0.45 & - & 0.21 \\\\\n", + "A2 & Snapchat & 1.00 & 1.00 & 0.74 & 0.33 & - & 0.64 \\\\\n", "A3 & Telegram & - & - & - & - & - & - \\\\\n", - "A4 & Google Maps & 1.00 & - & 1.00 & - & - & 1.00 \\\\\n", - "A5 & Samsung Internet & 1.00 & - & 0.00 & - & - & 0.20 \\\\\n", - "I1 & WhatsApp (iOS) & - & - & - & 1.00 & 1.00 & 1.00 \\\\\n", - "I2 & Contacts & 1.00 & 0.47 & - & 0.86 & - & 0.65 \\\\\n", - "I3 & Apple Messages & 1.00 & 0.00 & 0.00 & 1.00 & - & 0.33 \\\\\n", - "I4 & Safari & - & - & 0.02 & - & - & 0.02 \\\\\n", - "I5 & Calendar & 1.00 & - & - & - & - & 1.00 \\\\\n", + "A4 & Google Maps & 1.00 & 1.00 & 1.00 & 1.00 & - & 1.00 \\\\\n", + "A5 & Samsung Internet & 1.00 & - & - & 0.00 & - & 0.50 \\\\\n", + "I1 & WhatsApp (iOS) & - & 0.00 & 0.00 & 0.98 & 0.50 & 0.51 \\\\\n", + "I2 & Contacts & 1.00 & 0.71 & - & 0.00 & 0.00 & 0.36 \\\\\n", + "I3 & Apple Messages & 1.00 & 0.00 & - & - & - & 0.19 \\\\\n", + "I4 & Safari & - & - & - & 0.00 & - & 0.00 \\\\\n", + "I5 & Calendar & 1.00 & - & - & 0.20 & - & 0.33 \\\\\n", "\\bottomrule\n", "\\end{tabular}\n", "\\end{table}\n", @@ -362,13 +362,23 @@ "source": [ "# Optional: Save to LaTeX\n", "latex_output = df.to_latex(index=True, caption='Per-application distinct recall.', label='tab:app_level_recall', na_rep='-')\n", - "print(latex_output)" + "\n", + "# Add \\hline after each LaTeX row line.\n", + "latex_lines = []\n", + "for line in latex_output.splitlines():\n", + " stripped = line.strip()\n", + " if stripped.endswith(chr(92) * 2):\n", + " line = f\"{line} \\\\hline\"\n", + " latex_lines.append(line)\n", + "\n", + "latex_output = '\\n'.join(latex_lines)\n", + "print(latex_output)\n" ] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "bnl", "language": "python", "name": "python3" }, @@ -387,4 +397,4 @@ }, "nbformat": 4, "nbformat_minor": 4 -} +} \ No newline at end of file diff --git a/RQs/RQ2/RQ2_search_space_reduction.tex b/RQs/RQ3/RQ3_search_space_reduction.tex similarity index 100% rename from RQs/RQ2/RQ2_search_space_reduction.tex rename to RQs/RQ3/RQ3_search_space_reduction.tex diff --git a/RQs/RQ2/RQ2_t6_0_total_columns.ipynb b/RQs/RQ3/RQ3_t10_0_total_columns.ipynb similarity index 98% rename from RQs/RQ2/RQ2_t6_0_total_columns.ipynb rename to RQs/RQ3/RQ3_t10_0_total_columns.ipynb index 0c733f4..db27db4 100644 --- a/RQs/RQ2/RQ2_t6_0_total_columns.ipynb +++ b/RQs/RQ3/RQ3_t10_0_total_columns.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "id": "2c488f9e", "metadata": {}, "outputs": [ @@ -10,7 +10,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Wrote: I:\\project2026\\llmagent\\RQs\\RQ2\\app_total_columns.csv\n" + "Wrote: I:\\project2026\\llmagent\\RQs\\RQ3\\app_total_columns.csv\n" ] } ], @@ -174,7 +174,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "bnl", "language": "python", "name": "python3" }, diff --git a/RQs/RQ2/RQ2_t6_search_reduction.ipynb b/RQs/RQ3/RQ3_t10_search_reduction.ipynb similarity index 99% rename from RQs/RQ2/RQ2_t6_search_reduction.ipynb rename to RQs/RQ3/RQ3_t10_search_reduction.ipynb index 8630ea3..d89fa76 100644 --- a/RQs/RQ2/RQ2_t6_search_reduction.ipynb +++ b/RQs/RQ3/RQ3_t10_search_reduction.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "a30eef73", "metadata": {}, "outputs": [ @@ -37,7 +37,7 @@ " I4: records=5, total_cols=72, scanned_unique_cols=0, reduction=100.00%\n", " I5: records=5, total_cols=539, scanned_unique_cols=35, reduction=93.51%\n", "\n", - "Wrote LaTeX: I:\\project2026\\llmagent\\RQs\\RQ2\\RQ2_search_space_reduction.tex\n" + "Wrote LaTeX: I:\\project2026\\llmagent\\RQs\\RQ3\\RQ2_search_space_reduction.tex\n" ] } ], @@ -54,7 +54,7 @@ "# -----------------------------\n", "CSV_PATH = Path(r\"app_total_columns.csv\")\n", "JSONL_PATH = Path(r\"..\\normalized_PII_results\\GPT-5.1\\app_level\\app_level.jsonl\")\n", - "OUT_TEX = Path(\"RQ2_search_space_reduction.tex\")\n", + "OUT_TEX = Path(\"RQ3_search_space_reduction.tex\")\n", "\n", "# Locked app order + labels (table ID and display name)\n", "APP_NAME_PLAIN = OrderedDict([\n", @@ -401,7 +401,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "bnl", "language": "python", "name": "python3" }, diff --git a/RQs/RQ2/app_total_columns.csv b/RQs/RQ3/app_total_columns.csv similarity index 92% rename from RQs/RQ2/app_total_columns.csv rename to RQs/RQ3/app_total_columns.csv index 39cb464..7923250 100644 --- a/RQs/RQ2/app_total_columns.csv +++ b/RQs/RQ3/app_total_columns.csv @@ -8,4 +8,4 @@ I1,WhatsApp,328 I2,Contacts,219 I3,Apple Messages,181 I4,Safari,72 -I5,Calendar,539 +I5,Calendar,539 \ No newline at end of file diff --git a/RQs/__pycache__/config.cpython-310.pyc b/RQs/__pycache__/config.cpython-310.pyc index a4605c1..55e136b 100644 Binary files a/RQs/__pycache__/config.cpython-310.pyc and b/RQs/__pycache__/config.cpython-310.pyc differ diff --git a/RQs/__pycache__/config.cpython-312.pyc b/RQs/__pycache__/config.cpython-312.pyc new file mode 100644 index 0000000..4624a6d Binary files /dev/null and b/RQs/__pycache__/config.cpython-312.pyc differ diff --git a/RQs/usenixsecurity2026.pdf b/RQs/usenixsecurity2026.pdf new file mode 100644 index 0000000..7b079d6 Binary files /dev/null and b/RQs/usenixsecurity2026.pdf differ