Public
nationalsecurityagency/ghidra
Updated: 8/13/2026
Languages
Java86%C++6%HTML4.1%C1.5%Python1.4%Shell0.3%Other0.6%
2 Models30 Tasks
Ghidra is a software reverse engineering (SRE) framework
Key Takeaways
- GLM 5.2 (Fireworks) with Mini-SWE-agent scores 73.33%, compared with 70% for Grok 4.5 with Mini-SWE-agent.
- Grok 4.5 with Mini-SWE-agent costs $0.20 per test and takes 132.05 seconds, versus $0.32 and 341.16 seconds for GLM 5.2 (Fireworks) with Mini-SWE-agent.
Model Comparison
Accuracy
73.33%
GLM 5.2
70.00%
Grok 4.5
Task outcomes
30 tasks
Both: 21 tasks
GLM 5.2 only: 1 tasks
Neither: 8 tasks
Both
GLM 5.2 only
Grok 4.5 only
Neither
Not attempted
Cost / test
$0.32
GLM 5.2
$0.20
Grok 4.5
Cost distribution
Latency
5m 41s
GLM 5.2
2m 12s
Grok 4.5
Latency distribution
Cost Analysis
Latency Analysis
Tasks with failures
| Models | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| GLM 5.2 | |||||||||
| Grok 4.5 |
Task detail
1014eb0Issue statement
The legacy pyghidra.gui.get_current_interpreter compatibility API is deprecated, but its deprecation is only emitted manually when called. Mark this public function using the standard runtime deprecation mechanism so introspection tools can discover its deprecation metadata while preserving its delegation behavior. Calling it must still return pyghidra.get_current_interpreter(), and must emit a DeprecationWarning explaining that the function moved to pyghidra.get_current_interpreter.
View Hidden Tests
diff --git a/Ghidra/Features/PyGhidra/src/main/py/tests/test_gui_deprecation_contract.py b/Ghidra/Features/PyGhidra/src/main/py/tests/test_gui_deprecation_contract.pynew file mode 100644index 0000000000..154351a4cc--- /dev/null+++ b/Ghidra/Features/PyGhidra/src/main/py/tests/test_gui_deprecation_contract.py@@ -0,0 +1,34 @@+import importlib.util+import sys+import types+import warnings+from pathlib import Path+++def _load_gui_module():+ fake_pyghidra = types.ModuleType("pyghidra")+ fake_pyghidra.get_current_interpreter = lambda: "current-interpreter"+ sys.modules["pyghidra"] = fake_pyghidra++ gui_path = Path(__file__).parents[1] / "src" / "pyghidra" / "gui.py"+ spec = importlib.util.spec_from_file_location("_pyghidra_gui_contract", gui_path)+ module = importlib.util.module_from_spec(spec)+ spec.loader.exec_module(module)+ return module+++def test_legacy_interpreter_api_exposes_standard_deprecation_metadata_and_warns():+ gui = _load_gui_module()+ expected = (+ "get_current_interpreter has been moved. "+ "Please use pyghidra.get_current_interpreter."+ )++ assert gui.get_current_interpreter.__deprecated__ == expected+ with warnings.catch_warnings(record=True) as caught:+ warnings.simplefilter("always")+ assert gui.get_current_interpreter() == "current-interpreter"++ assert len(caught) == 1+ assert caught[0].category is DeprecationWarning+ assert str(caught[0].message) == expected