Key findings: - File path grouping (structural) = baseline (0.6% coverage) — no improvement - First-k-symbols grouping (behavioral) = 20× improvement (12% coverage at k=3) - Two-dimensional (path + symbols) = worse than behavioral alone - Winner: Option B k=3 — 47 SOREs, 12% coverage Smart filters make experiments fast (<1s vs minutes): - max_unique_ratio=0.85 - max_alphabet=20 - max_soa_edges=100 Preserved in experiments/results/ for future reference.
187 lines
No EOL
4.3 KiB
JSON
187 lines
No EOL
4.3 KiB
JSON
[
|
|
{
|
|
"strategy": "Baseline: Package grouping",
|
|
"total_contexts": 137,
|
|
"meaningful_contexts": 116,
|
|
"total_methods": 1594,
|
|
"methods_in_good_groups": 9,
|
|
"sore_successes": 2,
|
|
"sore_failures": 10,
|
|
"skip_reasons": {
|
|
"too_large": 5,
|
|
"too_diverse": 89,
|
|
"large_alphabet": 10
|
|
},
|
|
"coverage": 0.6,
|
|
"elapsed_seconds": 0.07
|
|
},
|
|
{
|
|
"strategy": "Option A: File path k=1",
|
|
"total_contexts": 47,
|
|
"meaningful_contexts": 43,
|
|
"total_methods": 1594,
|
|
"methods_in_good_groups": 17,
|
|
"sore_successes": 2,
|
|
"sore_failures": 1,
|
|
"skip_reasons": {
|
|
"too_large": 9,
|
|
"too_diverse": 28,
|
|
"large_alphabet": 3
|
|
},
|
|
"coverage": 1.1,
|
|
"elapsed_seconds": 0.01
|
|
},
|
|
{
|
|
"strategy": "Option A: File path k=2",
|
|
"total_contexts": 59,
|
|
"meaningful_contexts": 54,
|
|
"total_methods": 1594,
|
|
"methods_in_good_groups": 17,
|
|
"sore_successes": 2,
|
|
"sore_failures": 1,
|
|
"skip_reasons": {
|
|
"too_large": 8,
|
|
"too_diverse": 39,
|
|
"large_alphabet": 4
|
|
},
|
|
"coverage": 1.1,
|
|
"elapsed_seconds": 0.01
|
|
},
|
|
{
|
|
"strategy": "Option A: File path k=3",
|
|
"total_contexts": 59,
|
|
"meaningful_contexts": 54,
|
|
"total_methods": 1594,
|
|
"methods_in_good_groups": 17,
|
|
"sore_successes": 2,
|
|
"sore_failures": 1,
|
|
"skip_reasons": {
|
|
"too_large": 8,
|
|
"too_diverse": 39,
|
|
"large_alphabet": 4
|
|
},
|
|
"coverage": 1.1,
|
|
"elapsed_seconds": 0.01
|
|
},
|
|
{
|
|
"strategy": "Option B: First 1 symbols",
|
|
"total_contexts": 550,
|
|
"meaningful_contexts": 134,
|
|
"total_methods": 1594,
|
|
"methods_in_good_groups": 74,
|
|
"sore_successes": 20,
|
|
"sore_failures": 19,
|
|
"skip_reasons": {
|
|
"too_large": 2,
|
|
"large_alphabet": 13,
|
|
"too_diverse": 80
|
|
},
|
|
"coverage": 4.6,
|
|
"elapsed_seconds": 0.08
|
|
},
|
|
{
|
|
"strategy": "Option B: First 2 symbols",
|
|
"total_contexts": 961,
|
|
"meaningful_contexts": 141,
|
|
"total_methods": 1594,
|
|
"methods_in_good_groups": 157,
|
|
"sore_successes": 39,
|
|
"sore_failures": 23,
|
|
"skip_reasons": {
|
|
"large_alphabet": 7,
|
|
"too_diverse": 72
|
|
},
|
|
"coverage": 9.8,
|
|
"elapsed_seconds": 0.06
|
|
},
|
|
{
|
|
"strategy": "Option B: First 3 symbols",
|
|
"total_contexts": 1112,
|
|
"meaningful_contexts": 117,
|
|
"total_methods": 1594,
|
|
"methods_in_good_groups": 191,
|
|
"sore_successes": 47,
|
|
"sore_failures": 14,
|
|
"skip_reasons": {
|
|
"large_alphabet": 6,
|
|
"too_diverse": 50
|
|
},
|
|
"coverage": 12.0,
|
|
"elapsed_seconds": 0.04
|
|
},
|
|
{
|
|
"strategy": "Option C: Path k=1 + Symbol k=1",
|
|
"total_contexts": 813,
|
|
"meaningful_contexts": 151,
|
|
"total_methods": 1594,
|
|
"methods_in_good_groups": 101,
|
|
"sore_successes": 24,
|
|
"sore_failures": 19,
|
|
"skip_reasons": {
|
|
"too_diverse": 99,
|
|
"large_alphabet": 9
|
|
},
|
|
"coverage": 6.3,
|
|
"elapsed_seconds": 0.06
|
|
},
|
|
{
|
|
"strategy": "Option C: Path k=1 + Symbol k=2",
|
|
"total_contexts": 1073,
|
|
"meaningful_contexts": 119,
|
|
"total_methods": 1594,
|
|
"methods_in_good_groups": 138,
|
|
"sore_successes": 33,
|
|
"sore_failures": 21,
|
|
"skip_reasons": {
|
|
"too_diverse": 61,
|
|
"large_alphabet": 4
|
|
},
|
|
"coverage": 8.7,
|
|
"elapsed_seconds": 0.14
|
|
},
|
|
{
|
|
"strategy": "Option C: Path k=2 + Symbol k=1",
|
|
"total_contexts": 832,
|
|
"meaningful_contexts": 146,
|
|
"total_methods": 1594,
|
|
"methods_in_good_groups": 101,
|
|
"sore_successes": 24,
|
|
"sore_failures": 19,
|
|
"skip_reasons": {
|
|
"too_diverse": 94,
|
|
"large_alphabet": 9
|
|
},
|
|
"coverage": 6.3,
|
|
"elapsed_seconds": 0.08
|
|
},
|
|
{
|
|
"strategy": "Option C: Path k=2 + Symbol k=2",
|
|
"total_contexts": 1080,
|
|
"meaningful_contexts": 117,
|
|
"total_methods": 1594,
|
|
"methods_in_good_groups": 138,
|
|
"sore_successes": 33,
|
|
"sore_failures": 21,
|
|
"skip_reasons": {
|
|
"too_diverse": 59,
|
|
"large_alphabet": 4
|
|
},
|
|
"coverage": 8.7,
|
|
"elapsed_seconds": 0.06
|
|
},
|
|
{
|
|
"strategy": "Option H: Return type heuristic",
|
|
"total_contexts": 60,
|
|
"meaningful_contexts": 5,
|
|
"total_methods": 1594,
|
|
"methods_in_good_groups": 0,
|
|
"sore_successes": 0,
|
|
"sore_failures": 0,
|
|
"skip_reasons": {
|
|
"too_large": 1,
|
|
"too_diverse": 4
|
|
},
|
|
"coverage": 0.0,
|
|
"elapsed_seconds": 0.0
|
|
}
|
|
] |