Quantifies how structured a SORE is (0.0=flat bag, 1.0=fully structured). Flat bags are CRX over-approximations — they list symbols without ordering. With min_structure=0.2: Flask: 2 kept (was 5), 9 dropped RAGSAK: 10 kept (was 19), 114 dropped FastAPI: 47 kept (was 106), 95 dropped Total: 59 useful grammars, 218 noise removed CLI: --min-structure 0.2 (default: 0, keep all)
92 lines
No EOL
2.3 KiB
JSON
92 lines
No EOL
2.3 KiB
JSON
[
|
|
{
|
|
"package": "examples/celery/src/task_app",
|
|
"ext": ".py",
|
|
"methods": 11,
|
|
"skip": "too_diverse",
|
|
"structure_score": 0
|
|
},
|
|
{
|
|
"package": "examples/javascript/tests",
|
|
"ext": ".py",
|
|
"methods": 5,
|
|
"skip": "too_diverse",
|
|
"structure_score": 0
|
|
},
|
|
{
|
|
"package": "examples/tutorial/flaskr",
|
|
"ext": ".py",
|
|
"methods": 18,
|
|
"skip": "too_diverse",
|
|
"structure_score": 0
|
|
},
|
|
{
|
|
"package": "examples/tutorial/tests",
|
|
"ext": ".py",
|
|
"methods": 25,
|
|
"skip": "too_diverse",
|
|
"structure_score": 0
|
|
},
|
|
{
|
|
"package": "src/flask",
|
|
"ext": ".py",
|
|
"methods": 216,
|
|
"skip": "too_diverse",
|
|
"structure_score": 0
|
|
},
|
|
{
|
|
"package": "src/flask/json",
|
|
"ext": ".py",
|
|
"methods": 50,
|
|
"skip": "low_structure",
|
|
"structure_score": 0.042105263157894736
|
|
},
|
|
{
|
|
"package": "src/flask/sansio",
|
|
"ext": ".py",
|
|
"methods": 102,
|
|
"skip": "low_structure",
|
|
"structure_score": 0.009523809523809525
|
|
},
|
|
{
|
|
"package": "tests",
|
|
"ext": ".py",
|
|
"methods": 962,
|
|
"skip": "low_structure",
|
|
"structure_score": 0.021897810218978103
|
|
},
|
|
{
|
|
"package": "tests/test_apps",
|
|
"ext": ".py",
|
|
"methods": 3,
|
|
"skip": "too_diverse",
|
|
"structure_score": 0
|
|
},
|
|
{
|
|
"package": "tests/test_apps/blueprintapp/apps",
|
|
"ext": ".py",
|
|
"methods": 4,
|
|
"skip": "",
|
|
"structure_score": 0.2857142857142857,
|
|
"sore": "return.render_template+",
|
|
"gbnf": "root ::= \"return\" \"render_template\"+",
|
|
"gbnf_ok": true
|
|
},
|
|
{
|
|
"package": "tests/type_check",
|
|
"ext": ".py",
|
|
"methods": 24,
|
|
"skip": "",
|
|
"structure_score": 0.5597014925373135,
|
|
"sore": "def?.(Generator+encode+for+in+iter+range+return+show+str+t+x+yield)+?.stream_template+?.(Response+code+jsonify)+?.render_template+?.HTTPStatus?.name+?.self?.OK?.template_name+?",
|
|
"gbnf": "root ::= \"def\"? (\"Generator\" | \"encode\" | \"for\" | \"in\" | \"iter\" | \"range\" | \"return\" | \"show\" | \"str\" | \"t\" | \"x\" | \"yield\")* \"stream_template\"* (\"Response\" | \"code\" | \"jsonify\")* \"render_template\"* \"HTTPStatus\"? \"name\"* \"self\"? \"OK\"? \"template_name\"*",
|
|
"gbnf_ok": true
|
|
},
|
|
{
|
|
"package": "(other)",
|
|
"ext": ".py",
|
|
"methods": 4,
|
|
"skip": "",
|
|
"structure_score": 0
|
|
}
|
|
] |