summary refs log tree commit diff stats
path: root/classification/tools/analyze_results.py
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-06-30 15:22:40 +0200
committerChristian Krinitsin <mail@krinitsin.com>2025-06-30 15:22:40 +0200
commitbf49cfef2f923bcaaf6e4f44470b0c29cb829c34 (patch)
tree1a298ed54bf99af35c89c7ce6d03766332aad5b6 /classification/tools/analyze_results.py
parent25f8033d556aa17afaea4a5196ea7a69fe248320 (diff)
downloademulator-bug-study-bf49cfef2f923bcaaf6e4f44470b0c29cb829c34.tar.gz
emulator-bug-study-bf49cfef2f923bcaaf6e4f44470b0c29cb829c34.zip
add analyze_results script and results for 118 and deepseek-2-tmp
Diffstat (limited to 'classification/tools/analyze_results.py')
-rwxr-xr-xclassification/tools/analyze_results.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/classification/tools/analyze_results.py b/classification/tools/analyze_results.py
new file mode 100755
index 00000000..663c1f55
--- /dev/null
+++ b/classification/tools/analyze_results.py
@@ -0,0 +1,48 @@
+from argparse import ArgumentParser
+from os import path, listdir
+
+parser = ArgumentParser()
+
+parser.add_argument('-b', '--bugs', required = True)
+parser.add_argument('-d', '--search_directory', required = True)
+
+args = parser.parse_args()
+
+def list_files_recursive(directory, basename = False):
+    result = []
+    for entry in listdir(directory):
+        full_path = path.join(directory, entry)
+        if path.isdir(full_path):
+            result = result + list_files_recursive(full_path, basename)
+        else:
+            if basename:
+                result.append(path.basename(full_path))
+            else:
+                result.append(full_path)
+    return result
+
+def output_csv(dictionary, full_path):
+    with open(path.join(full_path, 'analysis.csv'), "w") as file:
+        file.write("category, count\n")
+        for key, value in dictionary.items():
+            file.write(f"{key}, {value}\n")
+
+def main():
+    result = {}
+    mistranslation_bugs = list_files_recursive(args.bugs, True)
+    bugs = list_files_recursive(args.search_directory, False)
+
+    for mistranslation_bug in mistranslation_bugs:
+        for bug in bugs:
+            if mistranslation_bug == path.basename(bug):
+                category = path.basename(path.dirname(bug))
+                if category in result:
+                    result[category] += 1
+                else:
+                    result[category] = 1
+                continue
+
+    output_csv(result, args.search_directory)
+
+if __name__ == "__main__":
+    main()